isPrototypeOf()
用来判断一个对象是否指向了该构造函数的原型对象,如果是返回true,不是则返回false。
原型对象.isPrototypeOf(实例化对象)
function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
Box.prototype.isPrototypeOf(b); //返回true
hasOwnProperty()
用来判断一个属性是否在实例中,如果在实例中返回true,如果不在返回false。可以和
isprototypeOf()
一起使用判断属性是否只存在在原型中。
实例对象.hasOwnProperty("属性")
function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
b.hasOwnProperty("name"); //返回true
b.hasOwnProperty("age") ; //返回false
in操作符
用来判断一个属性是否存在(在原型里或实例里),如果存在返回true,如果不存在返回false。
"属性名" in 实例化对象
function Box(){};
Box.prototype.name = "小明";
Box.prototype.age = "20";
var b = new Box();
b.name = "jack";
alert("name" in b); //true
alert("age" in b); //true
delete
删除属性,只能删除实例里面的属性或方法,不能删除原型里的属性或方法
delete b.name
网友评论