DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 淺談重寫window對象的方法
淺談重寫window對象的方法
編輯:JavaScript基礎知識     

重寫window對象的方法不是一件新奇的事,比如我們可能需要改變默認alert的行為,如何安全的重寫呢?

     小菜看到某知名IT網站是這樣的寫法:

復制代碼 代碼如下:
window.alert = function(){};

     或者

復制代碼 代碼如下:
alert = function(){};

     實際上,這種寫法有些欠妥。這相當於在window對象上添加了一個alert屬性,它的優先級比系統內置的alert高,所以可以達到重寫的效果,但這很容易突破,執行以下語句,就會還原alert。

復制代碼 代碼如下:
delete window.alert;

     因為通過這種方式重寫的alert,只不過是window對象的一個屬性而已,可以通過delete操作符刪除。

     如何才能永久重寫,不可逆轉呢?

     只需定義一個全局變量即可!全局變量雖然也會注冊為window對象的一個屬性,但它不可刪除,它是事實上絕對存在的。代碼如下:

復制代碼 代碼如下:
var alert = function(){};

     這樣重寫的方法,是絕對不會被還原的,安全可靠!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved