小编DR0*_*01D的帖子

有没有办法将多个Array方法应用于一行中的数组?

在下面的简单测试代码中,我push将数字10放入一个数组中,然后将splice'hello world'放入第二个索引的数组中.它按预期工作.

"use strict";

let myArray = [1, 2, 3, 4, 5];

myArray.push(10);
myArray.splice(2, 0, 'hello world');

console.log(myArray);
Run Code Online (Sandbox Code Playgroud)

但是有可能在一条线上做到这一点吗?我尝试在下面的示例链接,它会抛出一个错误.我找不到有人在网上谈论这个.

"use strict";

let myArray = [1, 2, 3, 4, 5];

myArray.push(10).splice(2, 0, 'hello world');

console.log(myArray);
Run Code Online (Sandbox Code Playgroud)

javascript arrays

7
推荐指数
2
解决办法
303
查看次数

为什么typeof是运算符而不是属性?

我正在学习Javascript,我遇到了一些"古怪"的东西.

为什么不是类型.length或类型的属性.name?它似乎应该属于那一类.相反,它被认为是一个类似于等号的运算符=

也许有一个明显的解释或我不理解的东西(很容易).

javascript typeof

3
推荐指数
1
解决办法
49
查看次数

在 .filter() 如何让回调函数调用另一个函数?

我正在尝试掌握窍门,callback functions但遇到了一些我不完全理解的问题。

这段代码在下面的示例中使用时效果很好。

zombieCreatures = creatures.filter(filterCreatures);
Run Code Online (Sandbox Code Playgroud)

不幸的是,当在同一示例中使用此代码块时,它不起作用。

zombieCreatures = creatures.filter(function(v) {
    filterCreatures(v);
});
Run Code Online (Sandbox Code Playgroud)

对我来说,它们看起来像相同的说明,但显然我是不正确的。有什么不同?是否可以使回调函数调用 内部的另一个函数.filter()

zombieCreatures = creatures.filter(filterCreatures);
Run Code Online (Sandbox Code Playgroud)

javascript callback

3
推荐指数
1
解决办法
1439
查看次数

在Factory函数中是对象名称和'this'关键字经常或总是可以互换?

以下代码不会引发错误,但我不完全确定原因.在doubleIt方法中,我使用对象的名称,returnObject而不是this.

newInstance实例化之后,我希望该术语returnObject将被复制到新doubleIt方法中.因为returObject如果doubleItnewInstance它调用它只存在于工厂函数中会混淆JS引擎并抛出错误.但它没有,它工作正常.为什么这仍然有效?

"use strict"

function factoryFunction(x) {
    let returnObject = {
        oneParameter: x,
        doubleIt: () => returnObject.oneParameter * 2

        // doubleIt: () => this.oneParameter * 2
        // Why don't I have to use the 'this' version?
    }
    return returnObject;
}

let newInstance = factoryFunction(10);

console.log(newInstance.doubleIt());
Run Code Online (Sandbox Code Playgroud)

javascript this

3
推荐指数
1
解决办法
58
查看次数

可以在媒体查询中删除 ::after 伪元素吗?

是否有一种简单的方法可以删除::after媒体查询中的伪元素?

例如,::after当浏览器宽度低于 980px 时,我可以完全删除这个伪元素吗?或者我应该用老式的方式来隐藏原始类并在浏览器宽度缩小到 980px 以下时显示一个新类?专业人士如何解决这个问题?

.navigation_unit > a::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
    width: 100%;
    height: .0625rem;
    bottom: 0;
    left: 0;
    background-color: rgb(0,0,238);
    transform: scaleX(0);
    transition: all 0.3s ease-in-out 0s;
}
Run Code Online (Sandbox Code Playgroud)

html css pseudo-element

2
推荐指数
1
解决办法
6335
查看次数

如何阻止标签阻止输入元素内的用户输入

在下面的简化示例中,我使用绝对定位将标签放在输入元素内.我使用JavaScript来使标签缩小或增长,具体取决于焦点/模糊.这按预期工作.

我的问题:如果我单击文本标签,它会阻止焦点在输入元素上,标签不会缩小.如果我单击元素内的任何其他位置,它将按预期工作.我试图Z-index -1将标签放在输入框后面,但这并没有解决问题.我也试过user-select: none但它仍然阻止了对输入元素的关注.有没有办法阻止标签阻止输入元素?

document.querySelector('input').addEventListener('focus', labelShrink);
document.querySelector('input').addEventListener('blur', labelGrow);

function labelShrink() {
    document.querySelector('.inputLabel').style.fontSize = ".75rem";
}

function labelGrow() {
    if (!document.querySelector('.inputField').value) {
        document.querySelector('.inputLabel').style.fontSize = "1.5rem";
    } 
}
Run Code Online (Sandbox Code Playgroud)
.inputContainer {
    position: relative;
}

.inputLabel {
    position: absolute;
    z-index = -1; 
    padding: .25rem 0 0 .25rem;
    font-size: 1.5rem;
    user-select: none;
    transition: font-size .25s;
}

.inputField {
    padding: .75rem 0 0 0;
    font-size: 2rem;
    background-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
<div class="inputContainer">
  <label class="inputLabel" for="userName">User Name</label>
  <input class="inputField" type="text" name="userName">
</div>
Run Code Online (Sandbox Code Playgroud)

css

2
推荐指数
1
解决办法
146
查看次数

使用console.log 进行调试。是否有输出变量及其值的简写?

当我用于console.log调试时,我通常使用如下所示的一行代码。

console.log("totalLength " +totalLength);

我的输出包括变量名称及其值。

但这有速记吗?或者是否有更好/更快/更方便的代码行来监视变量?非常感谢!

javascript debugging

0
推荐指数
1
解决办法
1678
查看次数

我想我发现了isNaN()的一个错误

我正在学习Javascript技巧,我相信我偶然发现了一个错误isNaN().

这是测试代码.

var x = "1000";

Answer = isNaN(x);
console.log(Answer);
Run Code Online (Sandbox Code Playgroud)

控制台日志返回"false",表示Javascript将"1000"视为数字.我以为里面的任何东西都" "被认为是一根绳子.显然并非总是如此.如果我错了,也许有人有一些可以让我直截了当的见解.

javascript

-2
推荐指数
1
解决办法
109
查看次数

标签 统计

javascript ×6

css ×2

arrays ×1

callback ×1

debugging ×1

html ×1

pseudo-element ×1

this ×1

typeof ×1