Использование «in» при объявлении переменных JS - PullRequest
2 голосов
/ 19 июня 2011

Заранее спасибо за ваше терпение ... Действительно пытаясь заполнить странные пробелы в моих знаниях JS ...

Анализируя сценарии других людей и наткнулся:

Var isTouch = "ontouchstart" in window;

Чточасть "в окне" делает?Я погуглил несколько базовых руководств по объявлению переменных, и они не упоминаются, и слово «in» такое простое слово, что было трудно найти ответы.

Спасибо,

JK

Ответы [ 2 ]

2 голосов
/ 19 июня 2011

Выражение someString in someObject возвращает логическое значение, указывающее, есть ли у объекта свойство с таким именем.
Spec

Ваш код, за исключением неправильно капитализированного Var, устанавливает isTouch в true, если window имеет свойство ontouchstart.

1 голос
/ 19 июня 2011

isTouch теперь просто логическое значение (true или false), так как оператор in возвращает логическое значение:

var foo = {
   bar : 42
},

hasBar  = 'bar'  in foo,  // true
hasFoob = 'foob' in foo;  // false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...