что означает запись ~~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, время: 05:45. |