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

JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()

 更新時間:2016年08月11日 10:17:31   作者:xiaobangsky  
這篇文章主要介紹了JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()的相關(guān)資料,需要的朋友可以參考下

首先了解枚舉屬性

一般利用for~in遍歷

var a = [1,2,3];
for(var i in a){
console.log(a[i]);
}
or
var o = {p1:1,p2:2};
for(var i in o){
console.log(i+'='+o[i]);
}//p1=1;p2=2;

<1>并不是所有的屬性都會在for~in遍歷中顯示。比如(數(shù)組的)length屬性和constructor屬性。那些已經(jīng)被顯示的屬性被稱為可枚舉的,可以通過各個對象所提供的propertyIsEnumerable()方法來判斷其中有哪些可枚舉的屬性;

<2>原型鏈中的各個屬性也會被顯示出來,前提是它們可枚舉的,hasOwnProperty()來判斷一個屬性是對象自身屬性還是原型屬性;

<3>對于所有的原型屬性,propertyIsEnumerable()都會返回false,包括那些在for~in遍歷中可枚舉的屬性。

js代碼示例

function dog(name,color){
this.name = name;
this.color = color;
this.someMethod = function(){return 1;}
}
dog.prototype.price=100;
dog.prototype.rating=3;
var newDog = new dog("doggg","yellow");
for(var prop in newDog){
console.log(prop+'='+newDog[prop]);
}
//name=doggg
//color=yellow
//someMethod=function (){return 1;}
//price=100
//rating=3
newDog.hasOwnProperty('name');//true;
newDog.hasOwnProperty('price');//false;

只顯示自身屬性

for(var prop in newDog){
if(newDog.hasOwnProperty(prop )){
console.log(prop+'='+newDog[prop]);
}
}
newDog.propertyIsEnumerable('name');//true
newDog.propertyIsEnumerable('constructor');//false

注意:內(nèi)建屬性和方法大部分是不可枚舉的

任何來自原型鏈中的屬性也是不可枚舉的

如果propertyIsEnumerable()的調(diào)用是來自原型鏈上的某個對象,那么該對象中的屬性是可枚舉的

newDog.constructor.prototype.propertyIsEnumerable('price');//true

isPrototypeOf():每個對象都有,表示當(dāng)前對象是否是另一個對象的原型

js代碼示例

var monkey = {
hair:true,
feeds:'bananas',
breathes:'air'
};
function Human(name){
this.name = name;
}
Human.prototype = monkey;
var george = new Human('George');
monkey.isPrototypeOf(george);//true

以上所述是小編給大家介紹的JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf(),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JavaScript實現(xiàn)移動端輪播效果

    JavaScript實現(xiàn)移動端輪播效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)移動端輪播效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • js自己實現(xiàn)一個大文件切片上傳+斷點續(xù)傳的示例代碼

    js自己實現(xiàn)一個大文件切片上傳+斷點續(xù)傳的示例代碼

    本文主要介紹了js自己實現(xiàn)一個大文件切片上傳+斷點續(xù)傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Js類的靜態(tài)方法與實例方法區(qū)分及jQuery拓展的兩種方法

    Js類的靜態(tài)方法與實例方法區(qū)分及jQuery拓展的兩種方法

    這篇文章主要介紹了Js類的靜態(tài)方法與實例方法區(qū)分及jQuery拓展的兩種方法 的相關(guān)資料,對靜態(tài)方法(Static)和實例方法(非Static)不太理解的朋友可以一起學(xué)習(xí)下
    2016-06-06
  • JavaScript中常見的繼承方式總結(jié)

    JavaScript中常見的繼承方式總結(jié)

    這篇文章主要和大家詳細(xì)介紹了JavaScript中常見的幾種繼承方式,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaScript有一定幫助,需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-11-11
  • 今天,小程序正式支持 SVG

    今天,小程序正式支持 SVG

    這篇文章主要介紹了小程序支持SVG,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 原生js實現(xiàn)2048小游戲

    原生js實現(xiàn)2048小游戲

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)2048小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • TypeScript之調(diào)用棧的實現(xiàn)

    TypeScript之調(diào)用棧的實現(xiàn)

    這篇文章主要介紹了TypeScript之調(diào)用棧的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • javascript sort()對數(shù)組中的元素進行排序詳解

    javascript sort()對數(shù)組中的元素進行排序詳解

    在本篇文章里小編給大家整理是一篇關(guān)于javascript sort()對數(shù)組中的元素進行排序的相關(guān)知識點內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • Bootstrap 中data-[*] 屬性的整理

    Bootstrap 中data-[*] 屬性的整理

    本文給大家收藏整理了關(guān)于Bootstrap 中data-[*] 屬性的相關(guān)知識,感興趣的朋友一起看看吧
    2018-03-03
  • JavaScript的History API使搜索引擎抓取AJAX內(nèi)容

    JavaScript的History API使搜索引擎抓取AJAX內(nèi)容

    這篇文章主要介紹了JavaScript的History API使搜索引擎抓取AJAX內(nèi)容 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12

最新評論

宜丰县| 云林县| 丰都县| 柞水县| 黄浦区| 海安县| 晋城| 介休市| 安新县| 灌南县| 安远县| 托克托县| 长兴县| 元氏县| 仲巴县| 团风县| 南汇区| 宜兰市| 惠东县| 呼玛县| 木里| 马关县| 永丰县| 揭西县| 喀喇沁旗| 达州市| 苏尼特右旗| 罗山县| 手游| 十堰市| 高尔夫| 安丘市| 兴和县| 大英县| 大庆市| 萨嘎县| 大港区| 莆田市| 重庆市| 广西| 肃宁县|