我发现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代码构造?
das*_*ndy 15
这是一个使用布尔短路评估的技巧,如果第一个评估为真,则仅执行后半部分.Perl有这个常见的:
<something> or die
Run Code Online (Sandbox Code Playgroud)
如果第一个语句失败,程序结束.
读它为
if (c == null) { c = a; a = null; }
Run Code Online (Sandbox Code Playgroud)
Mch*_*chl 12
这是一种丑陋的写作方式
if(c==null) {
c = a;
a = null;
}
Run Code Online (Sandbox Code Playgroud)
这利用了以下事实:&&当且仅当第一部分的计算结果为true时,才会执行布尔的第二部分.
| 归档时间: |
|
| 查看次数: |
766 次 |
| 最近记录: |