Javascript 按位取反運(yùn)算符 (~)
result = ~ 【數(shù)字】
所有一元運(yùn)算符(如 ~ 運(yùn)算符)都按照下面的規(guī)則來(lái)計(jì)算表達(dá)式的值:
1、 如果應(yīng)用于未定義的表達(dá)式或 null 表達(dá)式,則會(huì)引發(fā)一個(gè)運(yùn)行時(shí)錯(cuò)誤。
2、 將對(duì)象轉(zhuǎn)換為字符串。
3、 如果可能,將字符串轉(zhuǎn)換為數(shù)字。 否則,將引發(fā)運(yùn)行時(shí)錯(cuò)誤。
4、 布爾值被視為數(shù)字(如果為 false,則為 0;如果為 true,則為 1)。
運(yùn)算符將應(yīng)用于結(jié)果數(shù)字。
~ 運(yùn)算符查看表達(dá)式的二進(jìn)制表示形式的值,并執(zhí)行位非運(yùn)算。
表達(dá)式中的任何一位為 1,則結(jié)果中的該位變?yōu)?0。 表達(dá)式中的任何一位為 0,則結(jié)果中的該位變?yōu)?1。
下面的示例闡釋了位非 (~) 運(yùn)算符的用法,其中包含二進(jìn)制表示十進(jìn)制負(fù)數(shù)的,如果不熟悉這個(gè)請(qǐng)先看懂《十進(jìn)制負(fù)數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制》。
var temp = ~5;
/*
5 二進(jìn)制 101,補(bǔ)滿(mǎn) 32位
00000000000000000000000000000101
按位取反
11111111111111111111111111111010
由于32位開(kāi)頭第一個(gè)是1,所以這是一個(gè)負(fù)數(shù),將二進(jìn)制轉(zhuǎn)換成負(fù)數(shù),需要先反碼
00000000000000000000000000000101
之后,再+1
00000000000000000000000000000110
轉(zhuǎn)換成十進(jìn)制為6,加上符號(hào)變成負(fù)數(shù) -6
*/
alert(temp);
// 彈出【-6】
- js 與或運(yùn)算符 || && 妙用
- js中的 || 與 && 運(yùn)算符詳解
- javascript三元運(yùn)算符用法實(shí)例
- javascript typeof的用法與typeof運(yùn)算符介紹[詳細(xì)]
- JS按位非(~)運(yùn)算符與~~運(yùn)算符的理解分析
- JS中三目運(yùn)算符和if else的區(qū)別分析與示例
- 詳解js運(yùn)算符單豎杠“|”與“||”的用法和作用介紹
- 教你JS中的運(yùn)算符乘方、開(kāi)方及變量格式轉(zhuǎn)換
- Javascript 按位左移運(yùn)算符使用介紹(<<)
- 一起盤(pán)點(diǎn)JavaScript中一些強(qiáng)大的運(yùn)算符
相關(guān)文章
Document.location.href和.replace的區(qū)別示例介紹
document.location.href和document.location.replace都可以實(shí)現(xiàn)從A頁(yè)面切換到B頁(yè)面,下面為大家介紹下它們的區(qū)別2014-03-03javascript真的不難-回顧一下基礎(chǔ)知識(shí)
先來(lái)學(xué)習(xí)一下Javascript語(yǔ)言中的基礎(chǔ)知識(shí)問(wèn)題其時(shí)對(duì)于每種編程語(yǔ)言來(lái)說(shuō)基礎(chǔ)知識(shí)都是大同小異的,對(duì)變量,函數(shù),條件語(yǔ)句塊,循環(huán)語(yǔ)句塊等等,本文簡(jiǎn)要介紹一下,感興趣的朋友可以了解下2013-01-01javascript學(xué)習(xí)筆記(二)數(shù)組和對(duì)象部分
本文是學(xué)習(xí)筆記系列的第二篇,深入淺出的分別從javascript對(duì)象和數(shù)組兩個(gè)部分介紹了相關(guān)知識(shí),并附上詳細(xì)示例,非常的實(shí)用,有需要的朋友可以參考下2014-09-09在JavaScript中操作時(shí)間之setYear()方法的使用
這篇文章主要介紹了在JavaScript中操作時(shí)間之setYear()方法的使用,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06js導(dǎo)航菜單(自寫(xiě))簡(jiǎn)單大方
一個(gè)簡(jiǎn)單的多級(jí)下拉菜單菜單但是由于業(yè)務(wù)和樣式上的要求,為了簡(jiǎn)潔找了好多都不適合于是自己寫(xiě)了一個(gè),曬出來(lái)與大家分享,感興趣的朋友可以參考下哈,希望可以幫助到你2013-03-03Firefox window.close()的使用注意事項(xiàng)
window.close()在IE下可以執(zhí)行關(guān)閉,但在Firefox下不關(guān)閉,不是JS代碼window.close()的問(wèn)題,而是Firefox的配置問(wèn)題2009-04-04JavaScript代碼優(yōu)雅,簡(jiǎn)潔的編寫(xiě)技巧總結(jié)
專(zhuān)業(yè)開(kāi)發(fā)人員將為未來(lái)的自己和“其他人”編寫(xiě)代碼,而不僅僅只編寫(xiě)當(dāng)前能工作就行的代碼。在此基礎(chǔ)上,簡(jiǎn)潔代碼可以定義為自解釋的、易于人理解的、易于更改或擴(kuò)展的代碼。以下列表一些好編寫(xiě)方式,僅供參考2022-10-10JavaScript 學(xué)習(xí)筆記之?dāng)?shù)據(jù)類(lèi)型
javascript數(shù)據(jù)類(lèi)型非常簡(jiǎn)單,僅僅包含undefined、null、string、Boolean、number以及object,今天我們就針對(duì)這幾個(gè)數(shù)據(jù)類(lèi)型,一一進(jìn)行講解,方便大家理解記憶2015-01-01