つまり、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ください。