что означает запись ~~k?
1.Встретил в ответах на форуме и хотелось узнать что это такое?
Данная запись применилась коде var massive= new Array(); massive[1]="слово1"; massive[3]="слово2"; massive[5]="слово3"; for(var k in massive ) { if ( ~~k == k ) { alert( massive[ k ] ); } } |
оператор тильда (побитовое НЕ), выполняющий для целых чисел фактически -( n + 1 ).
|
...используется гуру в качестве округления
|
пасиб :) Нада погуглить что за
|
В математике две тильды обозначают приближенное равенство, в нашем унарная тильда является обозначением двойного побитового отрицания и применяется для получения антье т.е. целой части вещественного числа путем округления в меньшую сторону.
Следующее выражение транзитивно: alert(Math.floor(1.9) === ~~1.9); alert([Math.floor(1.9) === 1, 1 === ~~1.9, Math.floor(1.9) === ~~1.9]); Цитата:
alert(Math.floor(1.9) === (0|1.9)); |
monolithed, тогда уж, наверное, не
Цитата:
alert(Math.floor(1.9) === (0|1.9))? Или так задумано? |
Цитата:
|
Цитата:
|
|
Часовой пояс GMT +3, время: 08:21. |