判断属性存在于对象中还是原型中
Posted 逗比煎饼侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断属性存在于对象中还是原型中相关的知识,希望对你有一定的参考价值。
同时使用in操作符和hasOwnProrotype()就可以确定判断属性是存在原型中还是实例中,使用hasOwnPrototype()时,
只有存在实例中的时候返回true,否则返回false。使用in操作符的时候,只要属性存在,不管在原型中还是实例中,都返回true.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script type="text/javascript">
function hasPropertyProperty(object,name){
return !object.hasOwnProperty(name)&&(name in object);
};
function Person(){}
Person.prototype.name="xiaofei";
Person.prototype.age=22;
Person.prototype.job="Software Engineer";
Person.prototype.sayName=function(){
alert(this.name);
};
var person=new Person();
alert(hasPropertyProperty(person,"name"));
person.name="xiaoming";
alert(hasPropertyProperty(person,"name"));
</script>
</html>
以上是关于判断属性存在于对象中还是原型中的主要内容,如果未能解决你的问题,请参考以下文章