Возможные Дубликаты:
What does this expression mean “!!”
What does the !! operator (double exclamation point) mean in JavaScript?Использование прототипа библиотеки !! Оператор
Вот отрывок из Prototype библиотеки Javascript:
Browser: (function(){
var ua = navigator.userAgent;
var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
return {
IE: !!window.attachEvent && !isOpera,
Opera: isOpera,
WebKit: ua.indexOf('AppleWebKit/') > -1,
Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1,
MobileSafari: /Apple.*Mobile/.test(ua)
}
})(),
Это все хорошо, и я понимаю цель создание объекта браузера. Одна вещь, которая попалась мне на глаза, и я не смог понять, является использование двойного оператора !! в свойстве IE.
Если вы прочитали код, вы найдете его во многих других местах. Я не понимаю, в чем разница между !!window.attachEvent
и использованием только window.attachEvent
.
Это просто конвенция или есть еще что-то, что не очевидно?
http://stackoverflow.com/questions/3059546/what-does-this-expression-mean –
@ Daniel Спасибо; Я был уверен, что это произошло раньше, но поиск '!!' довольно затруднен. –