hasOwnProperty() :用于检查给定的属性在当前对象实例中是否存在
isPrototypeOf() :用于检查传入的对象是否是传入对象的原型
propertyIsEnumerable(propertyName) :用于检查给定的属性是否能够被枚举
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function F1(name){
this.name = name;
}
F1.prototype.eat = function () {
console.log("123");
}
function F2(age){
this.age = age;
}
var p1 = new F1("kk");
F2.prototype = p1;
F2.prototype.play = function () {
console.log("abc");
}
var f2 = new F2(11);
/*
* hasOwnProperty用来判断某个对象是否含有指定的自身属性,有返回true,继承来的属性返回false
* 如果一个对象有自己的hasOwnProperty方法,则原型链上的同名方法会被覆盖
* */
console.log(f2.hasOwnProperty("age")); //自己原本的属性
console.log(f2.hasOwnProperty("name")); //继承来的属性
/*
* 对象1.isPrototypeOf(对象2)
* 判断对象1是不是在对象2的原型链上
* */
console.log(p1.isPrototypeOf(f2));
// propertyIsEnumerable();
// 返回一个布尔值,表明指定的属性名是否是当前对象可枚举的自身属性,体系提供的属性不能被枚举。
var temp = f2.propertyIsEnumerable("eat");
console.log(temp);
</script>
</body>
</html>