Rumah >hujung hadapan web >tutorial js >Ciri atribut rantai prototaip bersekutu dalam kemahiran JavaScript_javascript
Atribut data:
Atribut data mengandungi lokasi nilai data yang nilainya boleh dibaca dan ditulis.
4 ciri tingkah laku yang diterangkan:
boleh ditulis menunjukkan sama ada nilai atribut boleh diubah suai. Lalai adalah benar
Enumerable menunjukkan sama ada harta yang dikembalikan melalui gelung untuk dalam boleh dikira.
configuralbe menunjukkan sama ada atribut boleh dipadamkan dan ditakrifkan semula, dan sama ada konfigurasinya boleh diubah suai.
nilai mengandungi nilai data atribut ini. Apabila membaca nilai atribut, baca dari lokasi ini.
Apabila menulis nilai atribut, simpan nilai baharu di lokasi ini. Nilai lalai untuk ciri ini adalah benar.
<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 必须是对象上的自有的属性才返回true alert(obj.hasOwnProperty("x")) //true x是obj对象上的自有属性 alert(obj.hasOwnProperty("z")) //false z是obj原型上继承来的属性,不是他的私有属性 alert(Foo.prototype.hasOwnProperty("z")) //=>true z是原型上自有的属性,所以返回true alert(Object.prototype.hasOwnProperty("toString"))//=>toString 是顶级对象上的自有属性,所以返回true //prpertyisEnumeralbe 的意思是必是对象上的自有属性而且要以是枚举的,但是对象的可枚举属性Enumeralbe是true,才能返回true alert(obj.propertyIsEnumerable("x")) //true x是obj对象上可枚举的属性 alert(obj.propertyIsEnumerable("z")) //false z是obj原型上的属性,不是自有属性,则不可以枚举 alert(Foo.prototype.propertyIsEnumerable("z")) //true x是原型上的自有属性,所以可以枚举 </script>
Bagaimana untuk menghitung sifat Apakah perbezaan antara sifat terhitung dan prototaip?
Kod demo adalah seperti berikut:
<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>
Kandungan di atas ialah pengetahuan tentang ciri atribut rantai prototaip yang berkaitan dalam JavaScript yang diperkenalkan oleh editor saya harap ia akan membantu anda.