поиск по CSS селекторам, YASS
Привет всем!
На примере YASS, хотел разобраться как выполняется это чудо действие. вот на этапе разбора исходника наткнулся на такой код:
.....
'last-child': function (child) {
var brother = child;
/* loop in lastChilds while nodeType isn't element */
while ((brother = brother.nextSibling) && brother.nodeType != 1) {}
/* Check for node's existence */
return !!brother;
}
....
Вот мне стало интересно что за '!!' (после return) ?? как это работает? никогда такого не встречал =( |
http://javascript.ru/boolean-operators
alert([
!true,
!!true,
!!!true,
!!!!true,
!!!!!true,
!!!!!!true
].join('\n'))
Вообще !! используется в основном для приведения не булева значения к булеву.(что на самом деле в большинстве случаев в js не требуется, ибо прведение типов)
var a, b = 'somesh...', c = '', d = document;
alert([
a + ' > ' + !!a,
b + ' > ' + !!b,
c + ' > ' + !!c,
d + ' > ' + !!d
].join('\n'))
|
ясно большое спасибо
|
| Часовой пояс GMT +3, время: 16:38. |