淺談重寫(xiě)window對(duì)象的方法
重寫(xiě)window對(duì)象的方法不是一件新奇的事,比如我們可能需要改變默認(rèn)alert的行為,如何安全的重寫(xiě)呢?
小菜看到某知名IT網(wǎng)站是這樣的寫(xiě)法:
window.alert = function(){};
或者
alert = function(){};
實(shí)際上,這種寫(xiě)法有些欠妥。這相當(dāng)于在window對(duì)象上添加了一個(gè)alert屬性,它的優(yōu)先級(jí)比系統(tǒng)內(nèi)置的alert高,所以可以達(dá)到重寫(xiě)的效果,但這很容易突破,執(zhí)行以下語(yǔ)句,就會(huì)還原alert。
delete window.alert;
因?yàn)橥ㄟ^(guò)這種方式重寫(xiě)的alert,只不過(guò)是window對(duì)象的一個(gè)屬性而已,可以通過(guò)delete操作符刪除。
如何才能永久重寫(xiě),不可逆轉(zhuǎn)呢?
只需定義一個(gè)全局變量即可!全局變量雖然也會(huì)注冊(cè)為window對(duì)象的一個(gè)屬性,但它不可刪除,它是事實(shí)上絕對(duì)存在的。代碼如下:
var alert = function(){};
這樣重寫(xiě)的方法,是絕對(duì)不會(huì)被還原的,安全可靠!
- javascript window對(duì)象屬性整理
- JavaScript的document對(duì)象和window對(duì)象詳解
- DOM_window對(duì)象屬性之--clipboardData對(duì)象操作代碼
- javascript 基礎(chǔ)篇4 window對(duì)象,DOM
- javascript學(xué)習(xí)筆記(十四) window對(duì)象使用介紹
- JS window對(duì)象的top、parent、opener含義介紹
- JavaScript—window對(duì)象使用示例
- Javascript window對(duì)象詳解
- jQuery獲得document和window對(duì)象寬度和高度的方法
- JavaScript Window瀏覽器對(duì)象模型方法與屬性匯總
相關(guān)文章
ajax不執(zhí)行success回調(diào)而是執(zhí)行了error回調(diào)
最近在看jQuery的API文檔,在使用到j(luò)Query的ajax時(shí),如果指定了dataType為json,老是不執(zhí)行success回調(diào),而是執(zhí)行了error回調(diào)函數(shù),極度郁悶2012-12-12將光標(biāo)定位于輸入框最右側(cè)實(shí)現(xiàn)代碼
如何將光標(biāo)定位于輸入框最右側(cè)的實(shí)現(xiàn)方式,這種做法很多人都需要,本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12JavaScript展開(kāi)操作符(Spread operator)詳解
在本篇文章里小編給大家整理的是關(guān)于JavaScript展開(kāi)操作符(Spread operator)的詳細(xì)介紹以及用法,需要的讀者們參考下。2019-07-07Javascript客戶端腳本的設(shè)計(jì)和應(yīng)用
Javascript客戶端腳本的設(shè)計(jì)和應(yīng)用...2006-08-08javaScript知識(shí)點(diǎn)總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇javaScript知識(shí)點(diǎn)總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享 給大家,也給的大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06JS中for循序中延遲加載動(dòng)態(tài)效果的具體實(shí)現(xiàn)
今天在做一個(gè)前端的效果的時(shí)候碰到一個(gè)棘手的問(wèn)題,就是實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的圓柱效果,廢話不多少,直接上代碼2013-08-08