1. 程式人生 > >js----delete關鍵字

js----delete關鍵字

屬性 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="
en"> <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> var
obj = { 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); //張三
  //刪除原型屬性   delete Person.prototype.name;   console.log(p1.name);//undefined
  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關鍵字