prototype和__proto__

Run Settings
LanguageJavaScript
Language Version
Run Command
//据说能理解这三行的,js原型已经攻克了 ? !!! function Fun(){} var a = new Fun(); console.log("0:\t",a.__proto__ == Fun.constructor.prototype.__proto__); //false // 如何 解释/理解 上面的三行代码 ? //so //由 a.__proto__ == Fun.prototype console.log("11:\t", a.__proto__ == Fun.prototype); //得1 a.__proto__.__proto__ == Fun.prototype.__proto__ == Object.prototype console.log("12:\t", a.__proto__.__proto__ == Fun.prototype.__proto__,Fun.prototype.__proto__ == Object.prototype); //由 Fun.constructor.prototype == Fun.__proto__ == Function.prototype console.log("21:\t", Fun.constructor.prototype == Fun.__proto__, Fun.__proto__ == Function.prototype ); //得2 Fun.constructor.prototype.__proto__ == Fun.__proto__.__proto__ == Function.prototype.__proto__ == Object.prototype console.log("22:\t", Fun.constructor.prototype.__proto__ == Fun.__proto__.__proto__, Fun.__proto__.__proto__ == Function.prototype.__proto__, Function.prototype.__proto__ == Object.prototype ); //由1,2 //得3 a.__proto__.__proto__ == Fun.constructor.prototype.__proto__ console.log("31:\t",a.__proto__.__proto__ == Fun.constructor.prototype.__proto__); //so a.__proto__ != a.__proto__.__proto__ console.log("32:\t",a.__proto__ != a.__proto__.__proto__); //so Fun.prototype != Object.prototype console.log("33:\t",Fun.prototype != Object.prototype); //because Fun.prototype.__proto__ == Object.prototype console.log("34:\t",Fun.prototype.__proto__ == Object.prototype); //附 prototype和__proto__关系图 // http://note.youdao.com/noteshare?id=94f8bc1e9503902bd83d02f2a6706bec&sub=1EDCC088D57B4DBD891473B3F88D2D03 // http://note.youdao.com/noteshare?id=29af08eef11853ea53590d8d54f9a633&sub=EFB303175C134715A582CB1923492944
Editor Settings
Theme
Key bindings
Full width
Lines