这个表达式在javascript中是什么意思
What does this expression mean in javascript?
$('.blocks','#grid').each(function (i) {
$(this).stop().css({opacity:0}).delay(100).animate({
'opacity': 1
}, {
duration: 2000,
complete: (i !== row * cols - 1) ||
function () {
alert('done');
}
});
});
animate函数的"complete"属性中的"||"运算符是什么意思?
它利用短路评估。虽然左手边是真的,但它不会麻烦评估右手边。
这是因为对于OR
,如果一个条件truthy,它不需要考虑其他条件,因为它已经知道足够的信息来回答这个条件。它们也从左到右进行评估。
此外,在JavaScript中,它不是返回true或false的条件,而是返回它计算的最后一个操作数。你可以看到为什么这是有用的。
||是一个逻辑运算符http://www.w3schools.com/js/js_comparisons.asp
它将"偏向"左手边,直到不再满足左手边的条件,此时它将执行右手边,这是一个执行警报的匿名函数。
它是逻辑OR运算符,但它只在左侧表达式为false时计算右侧表达式。
如果左边的表达式是true
,那么它知道整个表达式的计算结果为true,所以它不需要计算(或执行(右边的表达式。
该表达式似乎是一个淡入。
逻辑OR ||
类似于if
语句的else
情况。如果左侧的计算结果为false,则会创建函数并调用警报。
给定:
(i !== row * cols - 1) || function () { alert('done'); }
在这种情况下,将分配函数声明:
false || function (){ alert('done'); }
请注意,"complete"属性不会包含值,只是一个函数定义,您需要将complete调用为类似complete()
的东西。如果左边是false
,那么要调用的函数必须用括号括起来,然后调用它:
complete: (i !== row * cols - 1) || (function () {alert('done');})()
注意:只有当某些东西未定义(我认为(,或者i
等于rows*cols -1
时,左手边才会为false
相关文章:
- @@(“at at”)在ES6 JavaScript中是什么意思
- minimy javascript是什么意思?Backbone.js
- var w = q||问2;这个表达式是什么意思
- 函数(i,val)在javascript中是什么意思
- 问号在这段代码中是什么意思
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- ||{}在javascript中是什么意思
- “转义字符串”在Regex中是什么意思?(Javascript)
- 这个代码是什么意思(history.replaceState和history.pushstate)
- :: 是什么意思
- 这是什么意思?getData([renderData]);
- MDN文档中关于弄清楚XUL元素的段落是什么意思:“如何将覆盖扩展转换为无重启”
- require('file_path')后面的后缀(模块)在javascript文件中是什么意思
- Twitter Bootstrap的Tab插件中“data-api”是什么意思
- 箭头函数 '() => {}' 在 Javascript 中是什么意思?
- 在这种情况下,“foo[x]”是什么意思?
- 在 http 请求中添加事件侦听器 ( request.on ) 是什么意思?而笏就是它的用途
- 这种格式是什么意思 T00:00:00.000Z
- 这行是什么意思“ operator.indexOf(btnVal) > -1”
- JQuery:这段代码是什么意思