Javascript中in操作符

在Javascript有两种方式使用in操作符:单独使用和在for-in循环中使用。在单独使用时,in操作符会在通过对象能够访问给定属性时返回true,无论该属性存在于实例中还是原型中。

实例一:检查属性是在原型中还是在对象中

function Person(){}
Person.prototype.name="Nicholas";
var person1=new Person();
console.log(person1.hasOwnProperty("name"));  //false
console.log("name" in person1);   //true

同时使用hasOwnProperty()方法和in操作符,就可以确定该属性到底是存在于对象中,还是存在于原型中。

实例二:为数组添加indexOf()方法

if(!('indexOf' in Array)){
    Array.prototype.indexOf = function(item){
        for(var i = 0;i<this.length;i++){
            if(this[i] == item){
                return i;
            }
        }
        return -1;
    }
}

实例三:for-in循环

<script type="text/javascript">
for(var p in this){
	console.log(p);
}
</script>

 

原文地址:https://www.cnblogs.com/iRavior/p/2798816.html