JavaScript中關(guān)聯(lián)原型鏈屬性特性
數(shù)據(jù)屬性:
數(shù)據(jù)屬性包含一個(gè)數(shù)據(jù)值的位置,在這個(gè)位置可以讀取和寫入值。
4個(gè)描述的行為特性:
writable 表示能否修改屬性的值。默認(rèn)為true
Enumerable 表示能否過(guò)過(guò)for in循環(huán)返回屬性是否可以枚舉。
configuralbe 表示是否能過(guò)來(lái)delete刪除屬性從來(lái)重新定義屬性,能否修改其配置。
value 包含這個(gè)屬性的數(shù)據(jù)值。讀取屬性值的時(shí)候,從這個(gè)位置讀取。
寫入屬性值的時(shí)候,把新值保存在這個(gè)位置。這個(gè)特性的默認(rèn)值為true。
<script> function Foo(){} Foo.prototype.z = var obj = new Foo() obj.x = alert("x" in obj) //=>true x是obj對(duì)象的自有屬性 alert("z" in obj) //=>true z是obj原型上繼承來(lái)看屬性 //hasOwnProperty 必須是對(duì)象上的自有的屬性才返回true alert(obj.hasOwnProperty("x")) //true x是obj對(duì)象上的自有屬性 alert(obj.hasOwnProperty("z")) //false z是obj原型上繼承來(lái)的屬性,不是他的私有屬性 alert(Foo.prototype.hasOwnProperty("z")) //=>true z是原型上自有的屬性,所以返回true alert(Object.prototype.hasOwnProperty("toString"))//=>toString 是頂級(jí)對(duì)象上的自有屬性,所以返回true //prpertyisEnumeralbe 的意思是必是對(duì)象上的自有屬性而且要以是枚舉的,但是對(duì)象的可枚舉屬性Enumeralbe是true,才能返回true alert(obj.propertyIsEnumerable("x")) //true x是obj對(duì)象上可枚舉的屬性 alert(obj.propertyIsEnumerable("z")) //false z是obj原型上的屬性,不是自有屬性,則不可以枚舉 alert(Foo.prototype.propertyIsEnumerable("z")) //true x是原型上的自有屬性,所以可以枚舉 </script>
如何枚舉屬性,枚舉屬性對(duì)于原型又有什么區(qū)別?
演示代碼如下:
<script> function Foo(){} Foo.prototype.age = var obj = new Foo() obj.name = "ziksang" obj.addr = "上海" obj.telephone = for(var p in obj){ //使用FOR IN 可以枚舉出自身的屬性和原型上的屬性 console.log(p) } console.log(Object.keys(obj)) //使用Object.keys(obj)只可以枚舉Obj對(duì)象上自身的屬性 console.log(Object.getOwnPropertyNames(obj)) //Object.getOwnPropertyNames(obj)是列出Ojb對(duì)象上自身的屬性名,與枚舉不相關(guān),但是又類似枚舉,大家要注意區(qū)分 </script>
以上內(nèi)容是小編給大家介紹的JavaScript中關(guān)聯(lián)原型鏈屬性特性的相關(guān)知識(shí),希望對(duì)大家有所幫助。
相關(guān)文章
js中find、findIndex、indexOf的用法和區(qū)別
本文主要介紹了js中find、findIndex、indexOf的用法和區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07用JS實(shí)現(xiàn)一個(gè)簡(jiǎn)單的打磚塊游戲
這篇文章主要介紹了用JS實(shí)現(xiàn)一個(gè)簡(jiǎn)單的打磚塊游戲,代碼分為html+css+js三部分,具體實(shí)例代碼感興趣的朋友跟隨小編一起看看吧2019-12-12input+select(multiple) 實(shí)現(xiàn)下拉框輸入值
昨天做一個(gè)網(wǎng)站時(shí),需要實(shí)現(xiàn)下拉框能夠輸入,從功能上講是要實(shí)現(xiàn)用戶在文本框輸入值時(shí),能夠從后讀出數(shù)據(jù)彈出下拉選項(xiàng)2009-05-05微信小程序顯示倒計(jì)時(shí)功能示例【測(cè)試可用】
這篇文章主要介紹了微信小程序顯示倒計(jì)時(shí)功能,結(jié)合實(shí)例形式分析了微信小程序針對(duì)給定時(shí)間的倒計(jì)時(shí)功能相關(guān)界面顯示與邏輯運(yùn)算操作技巧,需要的朋友可以參考下2018-12-12javascript ASCII和Hex互轉(zhuǎn)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇javascript ASCII和Hex互轉(zhuǎn)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12使用JS實(shí)現(xiàn)圖片展示瀑布流效果(簡(jiǎn)單實(shí)例)
下面小編就為大家?guī)?lái)一篇使用JS實(shí)現(xiàn)圖片展示瀑布流效果(簡(jiǎn)單實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09JSON.stringify實(shí)例詳解以及靈活運(yùn)用
在向服務(wù)器發(fā)送數(shù)據(jù)時(shí)一般是字符串,我們可以使用?JSON.stringify()方法將JavaScript對(duì)象轉(zhuǎn)換為字符串,下面這篇文章主要給大家介紹了關(guān)于JSON.stringify及靈活運(yùn)用的相關(guān)資料,需要的朋友可以參考下2022-03-03