对于 Javascript 中的 in 操作符,根据 MDN 的定义是:The in operator returns true if the specified property is in the specified object.即如果属性存在于操作对象上时返回 true,否则为 false。一般的对象var obj = {name: 'stephenlee', age: 23};'name' in obj //true'hobby' in obj //false属性名需要用字符串来指定:name in obj //false数组对象使用数字索引值来表示数组对象的属性名称,当然数组对象固有的一些属性不包括在内,例如 length。以题主问题中的数组为例:var data = [7,8,9];相当于:data[0] = 7;data[1] = 8;data[2] = 9;所以很自然有如下结果:0 in data //true1 in data //true2 in data //true3 in data //false当然数组对象自带的属性也可以返回 true:length in data //true也可以将数组对象的索引值和固有属性转换为字符串来处理:'0' in data'length' in data