JavaScript hasOwnProperty()

admin發表於2018-09-09

此方法可以判斷屬性是否是物件的自有屬性。

如果是自有屬性,那麼返回true,否則返回false。

更多內容可以參閱JavaScript Object 物件一章節。

下面先解釋一下什麼是自有屬性。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function Antzone(){
  this.webName="螞蟻部落";
  this.age=6;
}
Antzone.prototype={
  address:"青島市南區"
}
let antzone=new Antzone();
console.log(antzone.webName,antzone.address);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/09/005525d9tkdqoxpzfi9fz0.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

在上面的程式碼中,webName和age屬性是自有屬性。

address是非自有屬性,來自於原型鏈。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
obj.hasOwnProperty(property)

引數解析:

(1).property:必需,此方法判斷此屬性是否是obj物件的自有屬性。

瀏覽器支援:

(1).IE9+瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).火狐瀏覽器支援此方法。

(5).opera瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function Antzone(){
  this.webName="螞蟻部落";
  this.age=6;
}
Antzone.prototype={
  address:"青島市南區"
}
let antzone=new Antzone();
console.log(antzone.hasOwnProperty("address"));
console.log(antzone.hasOwnProperty("webName"));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/09/005840pdbd161fbqwzzawn.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

返回值為false,說明不是物件的自有屬性,為true,說明是物件的自有屬性。

相關文章