我的prelude
意思是这个对象:http ://gkz.github.com/prelude-ls/ 不过,绑定到
似乎不是个好主意。
我对为什么会发生这种情况以及我在 Chrome 中的代码感到好奇和困惑:prelude
window.__proto__
window.__proto__ = prelude;
window.onload = function(){
console.log('loaded');
}
我的prelude
意思是这个对象:http ://gkz.github.com/prelude-ls/ 不过,绑定到
似乎不是个好主意。
我对为什么会发生这种情况以及我在 Chrome 中的代码感到好奇和困惑:prelude
window.__proto__
window.__proto__ = prelude;
window.onload = function(){
console.log('loaded');
}
__proto__
是对窗口对象原型的非标准引用(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/proto)。
在您的第一行中,您将覆盖window
. 这意味着之前写入原型对象的所有其他内容都会得到列表,包括可能负责调用的本机函数window.onload
。
您通常不应该覆盖原型对象,而是扩展它或直接向对象添加新属性,例如window
.