在声明JS变量时使用“in”

时间:2011-06-19 02:58:24

标签: javascript variables

提前感谢您的耐心......真的试图填补我的JS知识中的奇怪空白......

分析其他人的剧本并遇到:

Var isTouch = "ontouchstart" in window;

“窗口”部分在做什么?我用谷歌搜索了几个基本的变量声明教程并没有提到它,而“in”就是这样一个基本词,很难找到答案。

谢谢,

JK

2 个答案:

答案 0 :(得分:2)

表达式someString in someObject返回一个布尔值,表示该对象是否具有该名称的属性 Spec

如果Var的{​​{1}}属性为isTouch,则您的代码(true被错误地设置为window

答案 1 :(得分:1)

isTouch现在只是一个布尔值(true或false),因为in运算符返回一个布尔值:

var foo = {
   bar : 42
},

hasBar  = 'bar'  in foo,  // true
hasFoob = 'foob' in foo;  // false