Rumah > Soal Jawab > teks badan
代码:
_.size = function(obj) {
if (obj == null) return 0;
return obj.length === +obj.length ? obj.length : _.keys(obj).length;
};
不明白其中的=== +
是啥意思?,它是在比较什么?
可能是我没表达清除,我并不是不知道操作符的功能,而是obj.length === +obj.length ?
实现的是什么功能?通过使用的话,也能猜测到它是判断是否是数组或对象,但是obj.length === +obj.length
为什么能够用来判断是否是数组或对象呢?
黄舟2017-04-10 14:42:02
http://segmentfault.com/q/1010000000305997
obj.length === +obj.length
这个并不能完全判断obj是否是数组 它能判断的只是 obj.length返回值是否是数值
_.size
在绝大多数情况下是够用了
考虑下如下场景
var obj2={length:5}
_.size(obj2)
=> 5
PHP中文网2017-04-10 14:42:02
既然你这么懒, 我帮你把Google的搜索结果粘过来:
obj.length === +obj.length in javascript
How to understand “if ( obj.length === +obj.length )” Javascript condition statement?