js物件的屬性的運用簡單介紹

螞蟻小編發表於2017-03-27

在javascript中,一切都可以看做是物件,但是null和undefined除外。

不要特別注意的null,看如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
console.log(typeof null);

儘管返回值是"object",但是也不能認為它是一個物件,這可能是js的bug,物件必須要具有屬性等要素。

[JavaScript] 純文字檢視 複製程式碼
console.log(true.toString());
console.log(["螞蟻部落","分享互助",2].toString());

可能很多朋友認為數字直接量不是物件,其實這是誤解,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
console.log((5).toString());

上面的程式碼確實報錯,這是因為會將那個點(.)誤認為是數字的小數點,程式碼修改如下:

[JavaScript] 純文字檢視 複製程式碼
console.log((5).toString());

上面的程式碼數字就可以呼叫toString()函式。

屬性的訪問:

既然是物件,那麼就會具有屬性或者方法這樣的要素,方法其實也是一個屬性存放有指向函式的引用。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  age:2,
  target:"分享互助"
}
console.log(obj.webName);
console.log(obj.target);
console.log(obj["webName"]);
console.log(obj["target"]);

上面兩種方式都可以實現訪問效果,但是在一些屬性比較特殊的時候使用中括號方式更適用:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  age:2,
  target:"分享互助",
  8:"antzone"
}
console.log(obj["8"]);

上面的程式碼如果使用點(.)的方式訪問屬性,那麼就會報錯。

屬性的刪除:

可以使用delete可以刪除指定的屬性,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  age:2,
  target:"分享互助",
}
console.log(obj.webName);
delete obj.webName;
console.log(obj.webName);

從上面的程式碼可以看出來指定的屬性已經被刪除。

更多關於delete運算子相關內容可以參閱javascript delete操作符一章節。

相關文章