最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS hasOwnProperty()方法檢測一個(gè)屬性是否是對象的自有屬性的方法

 更新時(shí)間:2021年01月29日 10:43:20   投稿:zx  
這篇文章主要介紹了JS hasOwnProperty()方法檢測一個(gè)屬性是否是對象的自有屬性的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

JavaScript hasOwnProperty() 方法是 Object 的原型方法(也稱實(shí)例方法),它定義在 Object.prototype 對象之上,所有 Object 的實(shí)例對象都會繼承 hasOwnProperty() 方法。

hasOwnProperty() 方法用來檢測一個(gè)屬性是否是對象的自有屬性,而不是從原型鏈繼承的。如果該屬性是自有屬性,那么返回 true,否則返回 false。換句話說,hasOwnProperty() 方法不會檢測對象的原型鏈,只會檢測當(dāng)前對象本身,只有當(dāng)前對象本身存在該屬性時(shí)才返回 true。

例如,在下面自定義類型中,this.name 就表示對象的自有屬性,而原型對象中的 name 屬性就是繼承屬性。

function F() { //自定義數(shù)據(jù)類型
  this.name = "自有屬性";
}
F.prototype.name = "繼承屬性";

hasOwnProperty() 的語法格式如下:

object.hasOwnProperty(propertyName);

參數(shù)說明:propertyName 參數(shù)表示要檢測的屬性名稱。

返回值:返回一個(gè)布爾值。如果 propertyName 是自有屬性,那么返回 true,否則返回 false。

示例1

針對上面的自定義類型,可以實(shí)例化對象,然后判定當(dāng)前對象調(diào)用的屬性 name 是什么類型。

var f = new F(); //實(shí)例化對象
console.log(f.hasOwnProperty("name")); //返回true,說明當(dāng)前調(diào)用的 name是自有屬性
console.log(f.name); //返回字符串“自有屬性”

凡是構(gòu)造函數(shù)的原型屬性(原型對象包含的屬性),都是繼承屬性,使用 hasOwnProperty() 方法檢測時(shí),都會返回 false。但是,對于原型對象本身來說,這些原型屬性又是原型對象的自有屬性,所以返回值又是 true。

示例2

在下面示例中,演示了 toString() 方法對于 Date 對象來說是繼承屬性,但是對于 Date 構(gòu)造函數(shù)的原型對象來說,則是它的自有屬性。

var d = Date;
console.log(d.hasOwnProperty("toString")); //返回false,說明toString()是Date的自有屬性
var d = Date.prototype;
console.log(d.hasOwnProperty("toString")); //返回true,說明toString()是Date.prototype屬性

hasOwnProperty() 方法只能判斷指定對象中是否包含指定名稱的屬性,無法檢查對象原型鏈中是否包含某個(gè)屬性,所以能夠檢測出來的屬性必須是對象成員。

示例3

下面示例演示了 hasOwnProperty() 方法所能檢測的屬性范圍。

var o = { //對象直接量
  o1 : { //子對象直接量
    o2 : { //孫子對象直接量
      name : 1 //孫子對象直接量的屬性
    }
  }
};
console.log(o.hasOwnProperty("o1")); //返回true,說明o1是o的自有屬性
console.log(o.hasOwnProperty("o2")); //返回false,說明o2不是o的自有屬性
console.log(o.o1.hasOwnProperty("o2")); //返回true,說明o2是o1的自有屬性
console.log(o.o1.hasOwnProperty("name")); //返回false,說明name不是o1的自有屬性
console.log(o.o1.hasOwnProperty("name")); //返回true,說明name不是o2的自有屬性

到此這篇關(guān)于JS hasOwnProperty()方法檢測一個(gè)屬性是否是對象的自有屬性的方法的文章就介紹到這了,更多相關(guān)JS hasOwnProperty 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

深水埗区| 宜阳县| 皋兰县| 密云县| 衡东县| 化州市| 罗城| 体育| 扎鲁特旗| 新野县| 福建省| 鹤山市| 河南省| 高州市| 秭归县| 兴化市| 桐乡市| 莱州市| 邵武市| 讷河市| 津南区| 陈巴尔虎旗| 余庆县| 开阳县| 资源县| 濮阳县| 镇赉县| 焉耆| 油尖旺区| 嵩明县| 汨罗市| 阿拉善左旗| 临猗县| 弥渡县| 饶平县| 罗山县| 抚宁县| 正安县| 绥棱县| 云南省| 全椒县|