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

js屬性對(duì)象的hasOwnProperty方法的使用

 更新時(shí)間:2021年02月05日 10:29:17   作者:weiqinl  
這篇文章主要介紹了js屬性對(duì)象的hasOwnProperty方法的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Object的hasOwnProperty()方法返回一個(gè)布爾值,判斷對(duì)象是否包含特定的自身(非繼承)屬性。

判斷自身屬性是否存在

var o = new Object();
o.prop = 'exists';

function changeO() {
 o.newprop = o.prop;
 delete o.prop;
}

o.hasOwnProperty('prop'); // true
changeO();
o.hasOwnProperty('prop'); // false

判斷自身屬性與繼承屬性

function foo() {
 this.name = 'foo'
 this.sayHi = function () {
  console.log('Say Hi')
 }
}

foo.prototype.sayGoodBy = function () {
 console.log('Say Good By')
}

let myPro = new foo()

console.log(myPro.name) // foo
console.log(myPro.hasOwnProperty('name')) // true
console.log(myPro.hasOwnProperty('toString')) // false
console.log(myPro.hasOwnProperty('hasOwnProperty')) // fasle
console.log(myPro.hasOwnProperty('sayHi')) // true
console.log(myPro.hasOwnProperty('sayGoodBy')) // false
console.log('sayGoodBy' in myPro) // true

遍歷一個(gè)對(duì)象的所有自身屬性

在看開源項(xiàng)目的過程中,經(jīng)常會(huì)看到類似如下的源碼。for...in循環(huán)對(duì)象的所有枚舉屬性,然后再使用hasOwnProperty()方法來忽略繼承屬性。

var buz = {
  fog: 'stack'
};

for (var name in buz) {
  if (buz.hasOwnProperty(name)) {
    alert("this is fog (" + name + ") for sure. Value: " + buz[name]);
  }
  else {
    alert(name); // toString or something else
  }
}

注意 hasOwnProperty 作為屬性名

JavaScript 并沒有保護(hù) hasOwnProperty 屬性名,因此,可能存在于一個(gè)包含此屬性名的對(duì)象,有必要使用一個(gè)可擴(kuò)展的hasOwnProperty方法來獲取正確的結(jié)果:

var foo = {
  hasOwnProperty: function() {
    return false;
  },
  bar: 'Here be dragons'
};

foo.hasOwnProperty('bar'); // 始終返回 false

// 如果擔(dān)心這種情況,可以直接使用原型鏈上真正的 hasOwnProperty 方法
// 使用另一個(gè)對(duì)象的`hasOwnProperty` 并且call
({}).hasOwnProperty.call(foo, 'bar'); // true

// 也可以使用 Object 原型上的 hasOwnProperty 屬性
Object.prototype.hasOwnProperty.call(foo, 'bar'); // true

參考鏈接

到此這篇關(guān)于js屬性對(duì)象的hasOwnProperty方法的使用的文章就介紹到這了,更多相關(guān)js hasOwnProperty內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析JavaScript原型繼承的陷阱

    淺析JavaScript原型繼承的陷阱

    JavaScript和其它面向?qū)ο笳Z言一樣,對(duì)象類型采用引用方式。持有對(duì)象的變量只是一個(gè)地址,而基本類型數(shù)據(jù)是值。當(dāng)原型上存儲(chǔ)對(duì)象時(shí),就可能有一些陷阱
    2013-12-12
  • js返回頂部實(shí)例分享

    js返回頂部實(shí)例分享

    本文主要分享了js返回頂部的實(shí)例代碼。可復(fù)制直接運(yùn)行,方便快捷。有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • JS實(shí)現(xiàn)圖片局部放大或縮小的方法

    JS實(shí)現(xiàn)圖片局部放大或縮小的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)圖片局部放大或縮小的方法,涉及javascript事件響應(yīng)及頁面元素動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • JavaScript中保留小數(shù)點(diǎn)后N位方法總結(jié)

    JavaScript中保留小數(shù)點(diǎn)后N位方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了JavaScript中保留小數(shù)點(diǎn)后N位的幾個(gè)常用方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • javascript實(shí)現(xiàn)的字符串轉(zhuǎn)換成數(shù)組操作示例

    javascript實(shí)現(xiàn)的字符串轉(zhuǎn)換成數(shù)組操作示例

    這篇文章主要介紹了javascript實(shí)現(xiàn)的字符串轉(zhuǎn)換成數(shù)組操作,涉及javascript字符串與數(shù)組相互轉(zhuǎn)換、以及數(shù)組反轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • js中的new?Map的用法示例小結(jié)

    js中的new?Map的用法示例小結(jié)

    這篇文章主要介紹了js中的new?Map的用法示例小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • 利用JS實(shí)現(xiàn)頁面刪除并重新排序功能

    利用JS實(shí)現(xiàn)頁面刪除并重新排序功能

    這篇文章主要介紹了利用JS實(shí)現(xiàn)頁面刪除并重新排序功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • 思維導(dǎo)圖插件jsMind的詳細(xì)使用指南

    思維導(dǎo)圖插件jsMind的詳細(xì)使用指南

    jsMind是一個(gè)顯示/編輯思維導(dǎo)圖的純的javascript類庫,其基于HTML5的帆布進(jìn)行設(shè)計(jì).jsMind以BSD協(xié)議開源,這篇文章主要給大家介紹了關(guān)于思維導(dǎo)圖插件jsMind的詳細(xì)使用指南,需要的朋友可以參考下
    2024-07-07
  • javascript 10進(jìn)制和62進(jìn)制的相互轉(zhuǎn)換

    javascript 10進(jìn)制和62進(jìn)制的相互轉(zhuǎn)換

    本節(jié)主要介紹了javascript 10進(jìn)制和62進(jìn)制的相互轉(zhuǎn)換,需要的朋友可以參考下
    2014-07-07
  • 簡(jiǎn)述JS中forEach()、map()、every()、some()和filter()的用法

    簡(jiǎn)述JS中forEach()、map()、every()、some()和filter()的用法

    JS中常常需要對(duì)數(shù)組進(jìn)行遍歷、迭代操作,而我們常用的就是for語句對(duì)數(shù)組進(jìn)行迭代,下面這篇文章主要給大家介紹了關(guān)于JS中forEach()、map()、every()、some()和filter()的用法,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

西乌珠穆沁旗| 嵊泗县| 休宁县| 西乡县| 南通市| 安丘市| 金门县| 襄城县| 靖远县| 高平市| 轮台县| 黎城县| 庆阳市| 浦江县| 苏州市| 和平区| 溧水县| 台南县| 大埔区| 宾阳县| 马山县| 天长市| 车致| 新兴县| 修文县| 柳州市| 蒙阴县| 开远市| 汶川县| 葫芦岛市| 明溪县| 班玛县| 泸西县| 淮南市| 小金县| 满洲里市| 拜城县| 阿荣旗| 禹州市| 汉沽区| 莱州市|