js中关于原型的几个方法

一、isPrototypeOf()方法,判断一个对象是否是另一个对象的原型

 function Student(name,age){
             this.name=name;
            this.age=age;
            
         }
var student = new Student(‘yjj‘,15);

alert(Student.prototype.isPrototypeOf(student));//true

二、Obeject.getPrototypeOf()方法,获取某个对象的原型对象

function Student(name,age){
             this.name=name;
            this.age=age;
            
         }
var student = new Student(‘yjj‘,15);
alert(Object.getPrototypeOf(student )==Student.prototype);//true

此方法为ECMAScript 5新增,支持该方法的浏览器有IE9+,Firefox 3.5+,Safari 5+,Opera 12+,Chrome.

三、hasOwnProperty()方法判断对象是不是自身的属性

function Student(name,age){
             this.name=name;
            this.age=age;
            
         }
Student.prototype.xxx=‘ssss‘;
var student = new Student(‘yjj‘,15);
alert(student.hasOwnProperty(‘name‘));//true
alert(student.hasOwnProperty(‘xxx‘));//false

四、in操作符,in操作符单独使用时,会在通过对象能够访问给定属性时返回true,无论该属性存在于实例还是原型中。

function Student(name,age){
             this.name=name;
            this.age=age;
            
         }
Student.prototype.xxx=‘ssss‘;

var student = new Student(‘yjj‘,15);
alert("name" in student); //true
alert("xxx" in student); //true

 判断一个对象的属性是否是原型属性。

function hasPrototypeProperty(object,name){
     return !object.hasOwnProperty(name)&&(name in object)   
     //不是自身属性,但能够访问到 就是原型属性   
} 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。