JavaScript中關聯原型鏈屬性特性,javascript原型

來源:互聯網
上載者:User

JavaScript中關聯原型鏈屬性特性,javascript原型

資料屬性:

資料屬性包含一個資料值的位置,在這個位置可以讀取和寫入值。

4個描述的行為特性:

writable 表示能否修改屬性的值。預設為true

Enumerable 表示能否過過for in迴圈返回屬性是否可以枚舉。

configuralbe 表示是否能過來delete刪除屬性從來重新定義屬性,能否修改其配置。

value 包含這個屬性的資料值。讀取屬性值的時候,從這個位置讀取。

寫入屬性值的時候,把新值儲存在這個位置。這個特性的預設值為true。

<script>function Foo(){}Foo.prototype.z = var obj = new Foo()obj.x = alert("x" in obj) //=>true x是obj對象的自有屬性alert("z" in obj) //=>true z是obj原型上繼承來看屬性//hasOwnProperty 必須是對象上的自有的屬性才返回truealert(obj.hasOwnProperty("x")) //true x是obj對象上的自有屬性alert(obj.hasOwnProperty("z")) //false z是obj原型上繼承來的屬性,不是他的私人屬性alert(Foo.prototype.hasOwnProperty("z")) //=>true z是原型上自有的屬性,所以返回truealert(Object.prototype.hasOwnProperty("toString"))//=>toString 是頂級對象上的自有屬性,所以返回true//prpertyisEnumeralbe 的意思是必是對象上的自有屬性而且要以是枚舉的,但是對象的可枚舉屬性Enumeralbe是true,才能返回truealert(obj.propertyIsEnumerable("x")) //true x是obj對象上可枚舉的屬性alert(obj.propertyIsEnumerable("z")) //false z是obj原型上的屬性,不是自有屬性,則不可以枚舉alert(Foo.prototype.propertyIsEnumerable("z")) //true x是原型上的自有屬性,所以可以枚舉</script>

如何枚舉屬性,枚舉屬性對於原型又有什麼區別?

示範代碼如下:

<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對象上自身的屬性console.log(Object.getOwnPropertyNames(obj)) //Object.getOwnPropertyNames(obj)是列出Ojb對象上自身的屬性名稱,與枚舉不相關,但是又類似枚舉,大家要注意區分</script>

以上內容是小編給大家介紹的JavaScript中關聯原型鏈屬性特性的相關知識,希望對大家有所協助。

您可能感興趣的文章:
  • JavaScript檢測執行個體屬性, 原型屬性
  • js執行個體屬性和原型屬性樣本詳解
  • js修改原型的屬性使用介紹
  • JavaScript為對象原型prototype添加屬性的兩種方式
  • JScript中的prototype(原型)屬性研究

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.