与 null 进行比较时,为什么在下划线中使用 ==.js而不是 ===
When comparing with null, why == is used in underscore.js and not ===?
没有问题,我只是想知道,在浏览源代码时。在这里,为什么 === 比 JavaScript 中的 == 更快?它说===
实际上更快,那么在这种情况下为什么要使用==
呢?
_.each = _.forEach = function(obj, iteratee, context) {
if (obj == null) return obj;
你会在这里得到你的答案
"=="运算符在进行必要的转换后比较相等性,因为"==="不会进行任何转换。 因此,"==="运算符比"=="运算符快。但是在您的代码中,如果 obj 为 null 或未定义,则需要验证。例如。
var obj=null
obj==undefined //true
obj==null //true
obj===undefined //false **This is the difference
obj===null //true
很可能是因为x == null
true
(仅)x = null
和x = undefined
。 即您通过一次比较捕获这两种情况。
这是松散比较有用的少数例外之一。
相关文章:
- 如何使用下划线js转换这些数据
- 带嵌套json的下划线js查找
- 在Backbone.js应用程序中使用lodash而不是下划线
- 下划线扩展方法和结构.js子类
- 使用下划线.js筛选 JS 对象
- 是否可以使用下划线.js对此 JSON 数据进行分组
- 下划线.js,根据键值删除对象数组中的重复项
- 下划线.js .map 方法会中断 IE8
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- 为什么我的代码使用下划线.js但当我使用 Ramda.js 时却不行
- 在我的jQuery/js中包含下划线模板
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- 下划线.js HTML 元素中的模板
- 在节点中使用下划线.js
- 对于下划线中的每个.JS
- 做下划线.js函数,如_.findWhere(),同步返回结果
- 将非字符串属性与下划线匹配.js在哪里
- 以下下划线.js代码如何工作
- 主干.js/下划线.js错误:没有方法“html”
- 编码JS下划线_.从零开始扩展