JS之理解对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS之理解对象相关的知识,希望对你有一定的参考价值。
1.__proto__
每个对象都有一个__proto__属性,指向该对象的原型对象
<script> var person = function(name,city){ this.name = name; this.city =city; } person.prototype.showName = function(){ return this.name; } var p = new person(‘pmx‘,‘shanghai‘); console.log(p.__proto__ == person.prototype); </script>
2.isPrototypeOf(obj)用来判断当前对象是否是obj的原型对象
<script> var person = function(name,city){ this.name = name; this.city =city; } person.prototype.showName = function(){ return this.name; } var p = new person(‘pmx‘,‘shanghai‘); console.log(person.prototype.isPrototypeOf(p)); </script>
3.getPrototypeOf(obj)得到obj的原型对象
<script> var person = function(name,city){ this.name = name; this.city =city; } person.prototype.showName = function(){ return this.name; } var p = new person(‘pmx‘,‘shanghai‘); console.log(Object.getPrototypeOf(p) == person.prototype); </script>
4.hasOwnProperty用来判断属性是存在于本身还是原型对象中
<script> var person = function(name,city){ this.name = name; this.city =city; } person.prototype.age = 26; person.prototype.showName = function(){ return this.name; } var p = new person(‘pmx‘,‘shanghai‘); console.log(p.hasOwnProperty("name")); console.log(p.hasOwnProperty("age")); </script>
5.in用来判断obj是否有指定属性,不论该属性存在于对象上,还是原型链上
<script> var person = function(name,city){ this.name = name; this.city =city; } person.prototype.age = 26; person.prototype.showName = function(){ return this.name; } var p = new person(‘pmx‘,‘shanghai‘); console.log("name" in p); console.log("age" in p); </script>
以上是关于JS之理解对象的主要内容,如果未能解决你的问题,请参考以下文章