つまり、prelude
このオブジェクト: http://gkz.github.com/prelude-ls/
にバインドするのはお勧めできませprelude
んwindow.__proto__
。
なぜこれが起こったのか、そしてChromeでの私のコードについて、私は興味があり、混乱しています:
window.__proto__ = prelude;
window.onload = function(){
console.log('loaded');
}
つまり、prelude
このオブジェクト: http://gkz.github.com/prelude-ls/
にバインドするのはお勧めできませprelude
んwindow.__proto__
。
なぜこれが起こったのか、そしてChromeでの私のコードについて、私は興味があり、混乱しています:
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
ください。