js使用in和hasOwnProperty获取对象属性的区别是什么
更新:HHH   时间:2023-1-7


小编给大家分享一下js使用in和hasOwnProperty获取对象属性的区别是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

in判断的是对象的所有属性,包括对象实例及其原型的属性;

而hasOwnProperty则是判断对象实例的是否具有某个属性。

示例代码:

<script type="text/javascript">
  function Person(){
    }
    Person.prototype.name = "allen";

    var person = new Person();
    console.log(person.hasOwnProperty("name")); //false
    console.log("name" in person); //true
    console.log(person.name); //"allen"

    person.name = "justforse";
    console.log(person.hasOwnProperty("name")); //true
    console.log("name" in person); //true
    console.log(person.name); //"justforuse"

    delete person.name;
    console.log(person.hasOwnProperty("name")); //false
    console.log("name" in person); //true
    console.log(person.name); //"allen"
</script>

看完了这篇文章,相信你对“js使用in和hasOwnProperty获取对象属性的区别是什么”有了一定的了解,如果想了解更多相关知识,欢迎关注天达云行业资讯频道,感谢各位的阅读!

返回web开发教程...