相关疑难解决方法(0)

JavaScript中的花括号是什么意思?

我在一个jQuery文件中找到了这个:

xxx.css({ 'float' : 'right' });
Run Code Online (Sandbox Code Playgroud)

花括号做什么?

javascript css jquery

53
推荐指数
7
解决办法
6万
查看次数

+ =(加上相等)如何工作?

我对+ =符号有点困惑.它是如何工作的?

  1. 1 += 2 // 等于 ?

  2. 还有这个

    var data = [1,2,3,4,5];
    var sum = 0;
    data.forEach(function(value) {
        sum += value; 
    });
    sum = ?
    
    Run Code Online (Sandbox Code Playgroud)

javascript

49
推荐指数
5
解决办法
11万
查看次数

什么`!!〜'在javascript中意味着什么?

可能重复:
jQuery对象之前的tilde(〜)是做什么的?

!!~在阅读时在代码中发现了一个奇怪的内容:https://github.com/LearnBoost/mongoose/blob/master/lib/document.js#L678

Document.prototype.isModified = function (path) {
  return !!~this.modifiedPaths.indexOf(path);
};
Run Code Online (Sandbox Code Playgroud)

我读过那是什么!! (不是)JavaScript中的运算符?以及如何:〜运算符?; 为什么作者!!~在这里使用?

我试过了:

!!~1  // -> true
!!~0  // -> true
!!~-1 // -> false
!!~-2 // -> true
Run Code Online (Sandbox Code Playgroud)

似乎它只是false在数字的时候-1.这样对吗?为什么不核对一下电话号码是不是-1还是>=0

javascript operators bitwise-operators mongoose comparison-operators

45
推荐指数
0
解决办法
5421
查看次数

什么是"x && foo()"?

我看到其他地方说,

x && foo();

等于

if(x){
    foo();
}
Run Code Online (Sandbox Code Playgroud)

我测试了它,他们真的做了同样的事情.
但为什么?到底是x && foo()什么?

javascript conditional and-operator

43
推荐指数
3
解决办法
2905
查看次数

为什么"undefined equals false"返回false?

当我将undefined和null与Boolean false进行比较时,该语句返回false:

undefined == false;
null == false;
Run Code Online (Sandbox Code Playgroud)

它返回false.为什么?

javascript

42
推荐指数
2
解决办法
4万
查看次数

运算符| =在JavaScript中做什么?

我在JS项目中找到了以下代码:

var a = new Array();
a[0] = 0;
for (var b = 0; b < 10; b++) {
  a[0] |= b; 
}
Run Code Online (Sandbox Code Playgroud)

|=for循环体内有什么作用?

代码示例是可疑的,但V8 已经在这里提供了一个改进性能的示例.

更新的示例

上面的例子相当于var a = [15];大多数意图和目的.|=操作员的一个更现实的例子是在单个变量中设置二进制标志,例如在权限对象上:

//Set up permission masks
var PERMISSION_1_MASK = parseInt('0001',2);
var PERMISSION_2_MASK = parseInt('0010',2);
..

//Set up permissions
userPermissions = 0;
userPermissions |= hasPermissionOne && PERMISSION_1_MASK;
userPermissions |= hasPermissionTwo && PERMISSION_2_MASK;
..

//Use permissions
if(userPermissions & PERMISSION_1_MASK){
    ..//Do stuff only allowed by permission 1 …
Run Code Online (Sandbox Code Playgroud)

javascript operator-keyword

41
推荐指数
4
解决办法
8052
查看次数

%在JavaScript中做什么?

%在JavaScript中做了什么?

我们非常感谢它的定义和它的作用.

javascript

37
推荐指数
7
解决办法
1万
查看次数

生成函数中的委托收益率(收益率星,收益率*)

ECMAScript 6应该带来生成器函数和迭代器.生成器函数(具有function*语法)返回迭代器.迭代器有一个next方法,当重复调用时,它执行生成器函数的主体,在每个yield操作员处重复暂停和恢复执行.

生成器上ECMAScript 6 wiki还引入了"委托产量" yield*运算符,如下所示:

yield*运营商委托给另一发电机.这为组合生成器提供了方便的机制.

"委托给另一台发电机"是什么意思?我怎样才能yield*"方便地组合发电机"?

[您可以使用--harmony-generators标志在Node v0.11.3中使用生成器.]

javascript ecmascript-6

30
推荐指数
2
解决办法
3846
查看次数

!function(){}()vs(function(){})()

在查看Twitter Bootstrap Javascript中编写的一些代码时,看起来他们正在调用立即调用的匿名函数,如下所示:

!function( $ ) {

     ...

}(window.jQuery || window.ender);
Run Code Online (Sandbox Code Playgroud)

我传统上看到过这样的事情:

(function($) {

    ...

})(window.jQuery || window.ender);
Run Code Online (Sandbox Code Playgroud)

第一种方式似乎有点hacky,我不确定这样做是否有任何好处或理由,而不是第二种方式? 请注意,我理解它是如何工作的,我希望了解为什么他们选择这种方式来做到这一点.

javascript twitter-bootstrap iife

29
推荐指数
2
解决办法
1914
查看次数

为什么!新的布尔值(false)在JavaScript中等于false?

从JavaScript类型的jQuery文档中可以看到这段代码描述转换为布尔值时字符串的行为(该主题与此问题无关,但它只是我找到代码的地方):

!"" // true
!"hello" // false
!"true" // false
!new Boolean(false) // false
Run Code Online (Sandbox Code Playgroud)

我得到前三个例子,但我没有得到最后一个例子,因为:

new Boolean(false) == false //true
!false // true
Run Code Online (Sandbox Code Playgroud)

所以我假设:

!new Boolean(false) // true
Run Code Online (Sandbox Code Playgroud)

但反而:

!new Boolean(false) // false, mind = blown
Run Code Online (Sandbox Code Playgroud)

这是什么我甚至不...

是因为:

new Boolean(false) === false // false
Run Code Online (Sandbox Code Playgroud)

如果是这样,它的用途是什么?

javascript language-design

29
推荐指数
2
解决办法
3838
查看次数