我看到其他地方说,
x && foo();
等于
if(x){
foo();
}
Run Code Online (Sandbox Code Playgroud)
我测试了它,他们真的做了同样的事情.
但为什么?到底是x && foo()
什么?
我发现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代码构造?
两个相同吗?
假设你有:
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)
这两种语法之间有什么不同吗?我偶然发现了一点糖吗?