首页 > 代码库 > javascript 中 in操作符
javascript 中 in操作符
in in 操作检查对象中是否有名为 property 的属性。也可以检查对象的原型,以便知道该属性是否为原型链的一部分。
对于一般的对象属性需要用字符串指定属性的名称
?
1 2 3 | var mycar = {make: "Honda" , model: "Accord" , year: 1998}; "make" in mycar // returns true "model" in mycar // returns true |
对于数组属性需要指定数字形式的索引值来表示数组的属性名称(固有属性除外,如length)
?
1 2 3 4 5 6 7 8 | // Arrays var trees = new Array( "redwood" , "bay" , "cedar" , "oak" , "maple" ); 0 in trees // returns true 3 in trees // returns true 6 in trees // returns false "bay" in trees // returns false (you must specify the index number, // not the value at that index) "length" in trees // returns true (length is an Array property) |
in的右边必须是一个对象,如:你可以指定一个用String构造器生成的,但是不能指定字符串直接量的形式:
?
1 2 3 4 | var color1 = new String( "green" ); "length" in color1 // returns true var color2 = "coral" ; "length" in color2 // generates an error (color is not a String object) |
如果你使用delete操作符删除了一个属性,再次用in检查时,会返回false,如:
?
1 2 3 4 5 6 7 | var mycar = {make: "Honda" , model: "Accord" , year: 1998}; delete mycar.make; "make" in mycar; // returns false var trees = new Array( "redwood" , "bay" , "cedar" , "oak" , "maple" ); delete trees[3]; 3 in trees; // returns false |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。