求教各位,问一个js原型相关的问题
function Fn() {}
var f = new Fn()
console.log(f.__proto__ == Fn.prototype) // true
console.log(f.__proto__ == Object.getPrototypeOf(f)) // true
console.log(Fn.prototype == Object.getPrototypeOf(f)) // true
console.log(f.__proto__ == Fn.prototype == Object.getPrototypeOf(f)) // false
最后一行为啥是false呢? 他们之间都是互相相等的,但是放到一块比较就成了false是什么原因呢??giao!!! SOS
这与原型无关
console.log(f.__proto__ == Fn.prototype == Object.getPrototypeOf(f))
这里前部分f.__proto__ == Fn.prototype
是true 没有问题, 然后就是true == Object.getPrototypeOf(f))
结果是false,也就是说先得出
f.__proto__ == Fn.prototype
的值true
然后用这个值在进行==
比较:true == Object.getPrototypeOf(f))
, 当然就是false