首頁 > web前端 > js教程 > 主體

詳解取得JavaScript各種全域物件變數的方法

coldplay.xixi
發布: 2020-06-17 16:36:17
轉載
2350 人瀏覽過

詳解取得JavaScript各種全域物件變數的方法

全域變數在程式語言中一向被認為是一種不好的程式方法。但現實情況是,許多著名的項目都在大量的使用著全域變量,比如,MooTools就將大量的物件放到全域空間,像是Browser物件和$$等。而最著名的jQuery也是用的全域變數。所以,「全域變數不好」這個理論其實處於一種很可笑的狀態。

而將全域變數暴露在外,讓使用者任意修改(除非是刻意設計的),更是一種不好的程式設計習慣,這將對導致程式很難維護。那麼,我們如何知道現有的全域變數空間裡有哪些全域變數呢?其實方法很簡單:

// UPDATE:  This method is too naive
// Returns an array of window property names
//keys(window);

// Inject an iframe and compare its `contentWindow` properties to the global window properties
(function() {
	var iframe = document.createElement('iframe');
	iframe.onload = function() {
		var iframeKeys = Object.keys(iframe.contentWindow);
		Object.keys(window).forEach(function(key) {
			if(!(key in iframeKeys)) {
				console.log(key);
			}
		});
	};
	iframe.src = 'about:blank';
	document.body.appendChild(iframe);
})();
登入後複製

用上面的程式碼我們可以做一下測試,你可以直接按功能鍵F12來開啟console,輸入上面的程式碼,觀看輸出結果。你會發現,有些對象,像是window, document, top, 和location都是JavaScript內建的,而很多它的對象,都是第三方JavaScript程式碼產生的。

推薦教學:《javascript基礎教學

以上是詳解取得JavaScript各種全域物件變數的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:webhek.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板