js----delete關鍵字
阿新 • • 發佈:2019-02-23
屬性 func 返回 解釋 刪除數組元素 布爾 ati script pre
delete關鍵字的作用:
1.刪除對象的屬性 語法:delete 對象.屬性
2.可以刪除沒有使用var關鍵字聲明的全局變量(直接定義在window上面的屬性)
3.刪除數組元素
4.不能刪除內置對象的屬性
5.不能直接刪除從原型上繼承的屬性
delete關鍵字的使用註意: 1.返回值類型為布爾值(true / false),刪除成功返回true
2.刪除對象中不存在的屬性,返回值是true
3.刪除對象的原型對象中的屬性(不能刪除),返回值是true
4.無法刪除使用var聲明的全局的變量,但是卻可以刪除直接定義在window上面的屬性
代碼解釋
<!DOCTYPE html> <html lang="//刪除原型屬性 delete Person.prototype.name; console.log(p1.name);//undefineden"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> </body> </html> <script> varobj = { name: "張三" } console.log(obj.name); //張三 obj.name = "李四"; console.log(obj.name);//李四 //可以直接刪除對象的屬性 delete obj.name; console.log(obj.name);//undefined -------------------------------------------------------------- function Person() { this.age = 18; } Person.prototype.name= "張三"; var p1 = new Person(); console.log(p1.name); //張三 p1.name = "李四"; console.log(p1.name); //李四 //不能直接刪除原型屬性 delete p1.name; console.log(p1.name); //張三
console.log(p1.age); //18 p1.age = 22; //可以直接刪除實例屬性 delete p1.age; //可以刪除 console.log(p1.age); //undefined //刪除不存在的屬性,返回true ----------------------------------------------- a = 20; //可以刪除未用var 聲明的變量(全局變量) delete a; // console.log(a);//a is undefined var b = 15; //不能刪除 var 生命的變量 delete b; console.log(b);//15 </script>
js----delete關鍵字