Javascriptにおけるdelete操作の概要

1000 ワード

deleteはいくつかの変数、属性を削除できます.全部削除できるわけではないです.いくつかの内蔵されたコアクライアントの属性は削除できません.ユーザーはvar宣言の変数を通じて削除できません.functionで定義された関数と関数のパラメータも削除できません.ECMAScript 5の厳格なモードでdeleteの操作数が不正であれば異常を投げます.私たちは非厳格なモードで操作すると、簡単にfalseに戻ります.
私たちは適当に実験をします.
> var o = {x:1, y:2}
undefined
//         
> delete o.x
true
> typeof o.x
'undefined'
//           
> delete o
false

//                true,          
> delete 1
true
大域以外の変数を削除しようとしたらfalseに戻ります.
> a = 11
11
> var b = 12
undefined
> delete a
true
> delete b
false
上記の例では、var宣言の変数はdeleteで削除できないということが分かりますが、関数はどうなりますか?

//      delete  
> a = function() {}
[Function]
> delete a
false

//         delete  
> var a = function(x) {return delete x; }
undefined
> a()
false
引言したように関数や関数のパラメータをdelete操作することはできません.
今日からJavascriptの文章はテーマによって複数のファイル(異なるブログ)に分けて管理されます.自分で管理しやすい一方、紙面を縮小しても読者に読みやすいです.そうではなくて、こんなに長いダランは誰が見に行きますか?読んでくれてありがとうございます.
Happy Coding