TuK*_*TuK 2 javascript underscore.js
可能的重复:
javascript :javascript 中变量obj.length === +obj.length之前的加号
在查看underscore.js的源代码时,我遇到了这一行(#79)
//some stuff
} else if (obj.length === +obj.length) {
//do stuff
Run Code Online (Sandbox Code Playgroud)
我不是 100% 确定这里发生了什么,谁能解释 obj.length 值之前的“+”的目的?如果只是读取,比较是否相同:
} else if (obj.length === obj.length) {
Run Code Online (Sandbox Code Playgroud)
在 underscore.js 中多次进行相同类型的比较,所以我很确定这不是一个错字。
如果有人能给我指出一篇文章,或者向我抛出一些正确的术语,我将不胜感激:)。谢谢!
它正在检查length属性是否为数字。当+应用一元时,它将返回对象 or 的数字表示NaN,这将是比较通过或失败的基础。对于第一种情况,如果obj没有length属性+undefined,它将返回 which NaN。如果obj.length是数字,则条件将通过。
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |