初看下面一段in的代码,往往很多人会得出错误的结果:
<script>
var arr = [0,1,2,3,5];
var result = (5 in arr);
var result1 = (4 in arr);
document.write(result+"<br>");
document.write(result1+"<br>");
</script>
我们往往会得出result为true,result1为false,结果相反,输出结果为
false
true
经过我仔细的查看javaScript手册,发现其一个关键词:
in 运算符
测试对象中是否存在该属性。
注意,这个关键词是属性!而不是是否存在某个值,是测试key,not value.
再次实例验证:
<script>
var arr = ["a","dfdf","ee","gg"];
var result = 1 in arr;
document.write(result);
</script>
结果输出:
true
通过这个实例,很明显可以得出结论!
<script>
var arr = [0,1,2,3,5];
var result = (5 in arr);
var result1 = (4 in arr);
document.write(result+"<br>");
document.write(result1+"<br>");
</script>
我们往往会得出result为true,result1为false,结果相反,输出结果为
false
true
经过我仔细的查看javaScript手册,发现其一个关键词:
注意,这个关键词是属性!而不是是否存在某个值,是测试key,not value.
再次实例验证:
<script>
var arr = ["a","dfdf","ee","gg"];
var result = 1 in arr;
document.write(result);
</script>
结果输出:
true
通过这个实例,很明显可以得出结论!