相关疑难解决方法(0)

JavaScript OR(||)变量赋值说明

给出这段JavaScript代码......

var a;
var b = null;
var c = undefined;
var d = 4;
var e = 'five';

var f = a || b || c || d || e;

alert(f); // 4
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下这种技术的用途(我最好的猜测是在这个问题的标题中!)?它是如何/为什么它正常工作?

我的理解是变量f将被赋予第一个变量的最近值(从左到右),该变量的值不是null或未定义,但是我没有设法找到关于这种技术的很多参考资料并且有看到它用了很多.

此外,这种技术是否特定于JavaScript?我知道在PHP中做类似的事情会导致产生f一个真正的布尔值,而不是d它自身的值.

javascript variables variable-assignment or-operator

332
推荐指数
8
解决办法
32万
查看次数

构造x = x ||是什么 你的意思是?

我正在调试一些JavaScript,并不能解释这||是做什么的?

function (title, msg) {
  var title = title || 'Error';
  var msg   = msg || 'Error on Request';
}
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个提示,为什么这个人正在使用var title = title || 'ERROR'?我有时也会在没有var声明的情况下看到它.

javascript parameters optional-parameters or-operator

230
推荐指数
9
解决办法
11万
查看次数

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

我看到其他地方说,

x && foo();

等于

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

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

javascript conditional and-operator

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

Javascript:|| 而不是IF声明 - 这是合法的和跨浏览器有效吗?

看起来:

if (typeof a == 'undefined') {
    a = 0;
}
Run Code Online (Sandbox Code Playgroud)

(typeof a != 'undefined') || (a = 0)
Run Code Online (Sandbox Code Playgroud)

在Javascript中具有相同的效果.

我真的很喜欢第二个,因为它很短,一行代码,但这是合法的,跨浏览器有效吗?我的意思是,jslint说它有错误.我应该无忧无虑地使用它吗?

javascript

33
推荐指数
3
解决办法
6160
查看次数

多么奇怪的语法?

我发现JQuery网站上的代码构造未知.经过一些格式化,它看起来像:

function (a,c) {
    c==null && (c=a,a=null);
    return arguments.length>0
        ? this.bind(b,a,c) 
        : this.trigger(b)
}
Run Code Online (Sandbox Code Playgroud)

该函数的第一行是什么意思?是任何技巧或标准JS代码构造?

javascript

12
推荐指数
2
解决办法
766
查看次数

<boolean expression> && statement()与if(<boolean expression>)语句()相同吗?

两个相同吗?

假设你有:

var x = true;
Run Code Online (Sandbox Code Playgroud)

然后你有一个:

x && doSomething();
Run Code Online (Sandbox Code Playgroud)

要么

if(x) doSomething();
Run Code Online (Sandbox Code Playgroud)

这两种语法之间有什么不同吗?我偶然发现了一点糖吗?

javascript syntax if-statement boolean syntactic-sugar

5
推荐指数
2
解决办法
1147
查看次数