ホームページ >ウェブフロントエンド >jsチュートリアル >javascript deleteの使い方サンプルコード_基礎知識

javascript deleteの使い方サンプルコード_基礎知識

WBOY
WBOYオリジナル
2016-05-16 18:31:14949ブラウズ

JavaScript 削除の例

コードをコピー コードは次のとおりです。
flower.name="oop";
delete flowers.name; //true
alert(flower.name); //未定義


flowers という名前のオブジェクトを作成します🎜 > Flower には値「oop」を持つメンバー名があります。
削除操作によりこのメンバーが削除されます
削除は成功し、メンバー flowers.name は存在しません
javascript delete example 2




コードをコピーします
コードは次のとおりです。 alert(isNaN(5)); //false delete isNaN; //true
alert(isNaN(5)); //未定義


delete 演算子はグローバル オブジェクトのメンバーも削除できます。 Global
は var で宣言された変数を削除できません。



コードをコピーします
コードは次のとおりです。 var flowers="monkey"; >delete flowers; //false alert(flower); // "monkey"

var で宣言された変数は、削除が成功しなかった場合でも false を返します。
注: 削除は、削除できないメンバーのみを削除します。はい、false が返されます。
ホスト オブジェクトの下の変数は、IE ブラウザーでは削除できません



コードをコピーします
コードは次のとおりです: window.flower="monkey"; delete flowers; //例外をスローします alert(flower) ;

ff で参照します。 デバイスの下にコードをコピーします。




コードは次のとおりです。 🎜> window.flower="monkey"; delete flowers; //true alert(flower) //unknown
メンバーが表示されるときウィンドウ削除の際、ブラウザの動作が不安定になります
ウィンドウはJavaScriptのホストオブジェクトです
ホストオブジェクトはJavaScriptの実行環境で定義できます
IE6~8のブラウザではwindow.flowerは削除できません。ブラウザは、「オブジェクトはこの操作をサポートしていません」というメッセージを表示します。つまり、ウィンドウの下のメンバーは削除できません
関数名で宣言された関数は削除できません




コードをコピー

コードは次のとおりです。 function flowers( ){} delete flowers //true alert(flower) );//未定義
結果は、delete では関数名
で宣言された関数は削除できない、プロトタイプのメンバーから継承された関数


は削除できないことを示しています。

コードをコピーします

コードは次のとおりです: function flowers(){}; flower.prototype.name="monkey "; var a1=new flowers(); a1.name="a1_monkey"
alert(a1.name);//"a1_monkey"
delete a1.name;//ture
alert(a1.name);//"monkey"


a1 は Flower のインスタンスです。インスタンスを介してプロトタイプと親クラスのメンバーを削除することは実現できません~
の場合この属性は削除する必要があります (「ここでは、name を例にします」)。操作できるのはプロトタイプのみです。
delete a1.constructor.prototype.name;
DontDelete 属性の削除 DontDelete 属性を持つメンバーは削除できません。
では、DontDelete 属性を持つメンバーとは何でしょうか?
たとえば、var で宣言された変数、関数名で宣言された関数、Function オブジェクトの長さなど、DontDelete 属性を持つものはほとんどありません
delete return value false または true
delete は、削除できないメンバーを削除する場合にのみ false
を返します。それ以外の場合は、存在しないメンバーを削除するか、削除に成功すると true
が返されます。これは、それが返されることを意味します。 true は、削除が成功したことを意味するわけではありません。
例: コードの実行 alter(delete a) // true
a は存在しない未宣言の変数です。 delete は依然として true を返します
異なるブラウザ間の違い




コードをコピー

コードは次のとおりです: (function(){ 引数を削除します; // Mozilla では true を返しますが、 引数のタイプ; // "オブジェクト" })(); > eval を上手に使って、var で宣言された変数を削除します



コードをコピーします

コードは次のとおりです:

eval('var flowers = 1');
alert(window.flower) //1
alert(flower)// 1
花を削除します。 alert(flower); // "未定義"
var a=function(){};
delete a; >alert(a); // "未定義"


eval の後のグローバル変数には DontDelete 機能がなく、eval で削除できます。
最後に ~ の直前に魔法のようなものを追加します。
window.flower=1;
delete flowers をテストするとき、オブジェクトはこの操作をサポートしません
with(window){flower=1}; を使用して、delete flowers を使用できます。フラワー、window.flower を削除しません。IE ではそれが許可されていません)
このようにして、window.flower が削除されます:)


JavaScript 削除演算子アプリケーションの例
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。