javascript 中 in操作符
时间:2014-05-17 19:51:12
收藏:0
阅读:301
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 |
// Arraysvar
trees = new
Array("redwood", "bay", "cedar", "oak", "maple");0 in
trees // returns true3 in
trees // returns true6 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 truevar
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 |
评论(0)