1、instanceof 判断对应变量的类型
案例:
function people(name, age) {
this.name = name,
this.age = age
}
people.prototype.like = function() {
console.log(this.name + "喜欢旅游")
}
var p1 = new people("李雷", 28)
p1.like()
console.log(p1 instanceof people) //p1是people类 true
2、 isPrototypeOf() 原型中的方法,判断对应的对象 是否为 对应构造函数创建出来的
function people(name, age) {
this.name = name,
this.age = age
}
people.prototype.like = function() {
console.log(this.name + "喜欢旅游")
}
var p1 = new people("李雷", 28)
p1.like()
var result = people.prototype.isPrototypeOf(p1)
console.log(result)//p1是由构造函数people创建出来的
3、 对象.hasOwnProperty(key)
判断当前对象对应的属性 ,是否是存在与构造函数中
案例:
function people(name, age) {
this.name = name,
this.age = age
}
people.prototype.count = 1;
people.prototype.like = function() {
console.log(this.name + "喜欢旅游")
}
var p1 = new people("李雷", 28)
p1.like()
var result = p1.hasOwnProperty("name")
console.log(result) //true,name是构造函数中对应的属性
var result = p1.hasOwnProperty("count")
console.log(result) //false,是原型中对应的属性
4、in判断对象是否具有对应属性(包括原型内属性和构造函数属性) key in 对象
案例:
var result1 = "color" in p1;
var result2 = "name" in p1;
var result3 = "count" in p1;
console.log(result1) //false对象不含该属性
console.log(result2) //true构造函数属性
console.log(result3) //true原型属性