【发布时间】:2014-05-24 12:37:48
【问题描述】:
在比较 Javascript 中的函数时,我认为它会比较定义函数的内存以交叉检查给定的 2 个函数是否相等。
因此,试图通过从同一对象的 2 个不同实例访问成员函数来比较成员函数,如下所示:
function testFn(name) {
var name = name;
var self = this;
self.compareFn = function() {
console.info(name);
}
}
var fn1 = new testFn('fn1');
var fn2 = new testFn('fn2');
console.info(fn1.compareFn == fn2.compareFn); //Returns false
已经用一个成员函数(“compareFn”)定义了一个对象 testFn 并创建了它的 2 个实例(fn1,fn2),但是在比较“fn1.compareFn == fn2.compareFn”时,它失败了。
请记住,成员函数在多个实例之间共享,并且只有局部变量会被单独分配。
请说明此比较失败的原因。
【问题讨论】:
标签: javascript function