javascript中的函数相等

时间:2016-08-26 04:52:55

标签: javascript node.js

JS引擎如何实际比较对象(如函数声明)的相等性?

var f1 = function(){};
var f2 = function(){};

console.log(f1 === f2);  //false

确定对象引用不同的幕后实际发生了什么?它是在比较内存位置吗?

3 个答案:

答案 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)

==检查是否相等

===检查是否与变量类型或返回类型相同