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>

 

你可能感兴趣的:(JavaScript)