JS引擎如何实际比较对象(如函数声明)的相等性?
var f1 = function(){};
var f2 = function(){};
console.log(f1 === f2); //false
确定对象引用不同的幕后实际发生了什么?它是在比较内存位置吗?
答案 0 :(得分:4)
功能是对象 不同的对象实例永远不会相等(或非严格)。
指针应用的严格相等:
var a = b = {}, c = {};
console.log(a === b, a === c); // true false
答案 1 :(得分:2)
var foo = function() {
a = 1;
};
var bar = function() {
a = 1;
};
alert(foo.toString() == bar.toString());
这将返回true。
答案 2 :(得分:-2)
==
检查值是否相等
===
检查值是否与变量类型或返回类型相同