javascript の削除の例
var flower={}; flower.name="oop"; delete flower.name; //true alert(flower.name); //undefined
flowers という名前のオブジェクトを作成します
Flower には値 "oop" を持つメンバー名があります
削除操作によりこのメンバーが削除されます
削除は成功し、メンバー flowers.name は存在しません
javascript delete の例2
alert(isNaN(5)); //false delete isNaN; //true alert(isNaN(5)); //undefined
delete演算子はグローバルオブジェクトのメンバーも削除できます Global
varで宣言された変数は削除できません
var flower="monkey"; delete flower; //false alert(flower); // "monkey"
varで宣言された変数の場合、削除されなかった場合は変数はまだ存在します。成功;
注: delete は、削除できない変数のみを削除します。 削除されたメンバーが
ie ではホスト オブジェクト配下の変数は削除できません。 ie ブラウザでは
window.flower="monkey"; delete flower; //抛出异常 alert(flower);
ff ブラウザでは
window.flower="monkey"; delete flower; //true alert(flower) //undefined
の場合にのみ False が返されます。削除ウィンドウのメンバーが見えると、ブラウザの動作が不安定になる
window JavaScriptのホストオブジェクトです
ホストオブジェクトはJavaScriptの実行環境で定義できます
IE6~8のブラウザでは、window.flowerが削除できません。 「オブジェクトはこの操作をサポートしていません」というメッセージが表示されます。つまり、ウィンドウは削除できません。 メンバー
関数名で宣言された関数は削除できません
function flower(){} delete flower; //true alert(flower);//undefined
結果は、delete は関数名で宣言された関数を削除できないことを示しています。
プロトタイプから継承したメンバーは削除できません
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"
A1はflowerのインスタンスであり、プロトタイプと親クラスはインスタンスを通じて削除されます 実現不可能です〜
この属性を削除する必要がある場合(ここでは名前を例に挙げます) ")、操作できるのはプロトタイプのみです
delete a1.constructor.prototype.name;
DontDelete 属性の削除では DontDelete 属性を持つ属性は削除できません関数名、Function オブジェクトの長さなどによって宣言され、DontDelete 特性を持つものはほとんどありません
delete の戻り値は false または true
delete は 1 つを削除する場合のみ削除できません メンバーが削除された場合にのみ False が返されます
それ以外の場合は true存在しないメンバーが削除された場合、または削除が成功した場合に返されます
つまり、true を返しても、必ずしも削除が成功したことを意味するわけではありません
例: コードを実行します。alert(delete a ); // true
a は存在しない未宣言の変数です。 delete は true を返します
異なるブラウザ間の違い
(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 後のグローバル変数には DontDelete 機能がなく、eval で削除できます
最後に魔法の機能を追加します~ ただ;寝る前にテストしますwindow.flower=1;
花を削除するとき、オブジェクトはこの操作をサポートしません
with(window){flower=1} を使用して花を削除することができます (削除ではなく花を削除することを忘れないでください) window.flower、IE ではそれが許可されていません)
この方法で window.flower は削除されます:)
JavaScript 削除の使用例サンプル コード関連の記事については、PHP 中国語 Web サイトに注目してください。