有用於API對象的解決方法函數調用unsafeWindow
對於不支持它(via this person's github)jQuery如何看起來既是對象又是對象調用的方法?
var unsafeWindow = (function() {
var e1 = document.createElement('p')
e1.setAttribute('onclick', 'return window;');
return e1.onclick();
})();
// If the current document uses a JavaScript library, you can use it in
// your user script like this:
console.log(unsafeWindow.jQuery);
如果unsafeWindow
是一個對象瀏覽器(或在這種情況下,設計爲模擬對象的功能),如何它可以像$ = unsafeWindow.jQuery
一樣使用嗎?我知道這是你如何將函數映射到$
而不是$
是一個簡單的jQuery別名,但我只是爲什麼而困惑,因爲我認爲jQuery
本身是一個對象,並在這裏被調用,就像一個會方法。
編輯:感謝您的回答,我希望我能「檢查」所有人,感謝您的幫助!
,我想我看到了'.',認爲直「調用」就像其他語言一樣。但是,對於正確賦值給'$'的評論 - 這不僅僅是jQuery對象,對嗎?這裏發生了什麼,它看起來像一個對象(函數unsafeWindow)正在獲取名爲jQuery的屬性,那麼究竟是什麼被分配? – tempcode
我認爲,他剛纔提到了一種訪問頁面jQuery對象的方法。我想你可以像你提到的那樣將它賦值給'$',或者你可以像使用'unsafeWindow.jQuery。(「#myDiv」)。hide();' – shishirmk
right,但我想知道'jQuery'的屬性正在被函數對象'unsafeWindow'訪問(就像'object.something'獲取名爲'something'的屬性),現在我明白函數也是對象...如果這樣做沒有意義,那麼可以,但是謝謝所有你的信息/幫助到目前爲止! – tempcode