javascript delete example
var flower={}; flower.name="oop"; delete flower.name; //true alert(flower.name); //undefined
創建一個名為flower的物件
flower具有成員name,值"oop";
del delete 操作刪除這個成員name,值"oop";
del delete 操作刪除這個成員
alert(isNaN(5)); //false delete isNaN; //true alert(isNaN(5)); //undefined
不能刪除var 申明的變數
var flower="monkey"; delete flower; //false alert(flower); // "monkey"
ie下不能刪除宿主物件下的變數在ie瀏覽器下
window.flower="monkey"; delete flower; //抛出异常 alert(flower);
window.flower="monkey"; delete flower; //true alert(flower) //undefined
可以看到delete window的成員時,瀏覽器表現不一致〠瀏覽器表現不一致〜window是javascript的宿主物件
宿主物件可以是javascript執行環境自己定義的 在ie6-8瀏覽器中,不能delete window.flower,瀏覽器會提示你"物件不支援該操作",也就是不能刪除window成員
不能刪除用函數名稱申明的函數
function flower(){} delete flower; //true alert(flower);//undefined
function flower(){}; flower.prototype.name="monkey"; var a1=new flower(); a1.name="a1_monkey" alert(a1.name);//"a1_monkey" delete a1.name;//ture alert(a1.name);//"monkey"
(function(){ delete arguments; // false ,而在Mozilla中返回的是true typeof arguments; // "object" })();
不同瀏覽器器之間的差異
eval('var flower = 1'); alert(window.flower) //1 alert(flower)// 1 delete flower; // true alert(flower); // "undefined" var a=function(){}; eval('var a = function(){}'); delete a; // true alert(a); // "undefined"
巧妙的利用eval刪除var 申明的變量
rrreee
eval後的全局變量,變得不具備DontDeleteete特性,可以用evalred
eval後的全局變量,變得不具備DontDeleteete特性,可以用evalred 補充一條神奇的~睡前剛測試
window.flower=1;
delete flower 時對象會不支持此操作
這樣window.flower就被刪除了:)
🎜更多javascript delete 使用範例程式碼相關文章請關注PHP中文網! 🎜