javascript 操作符(~、&、|、^、<<、>>)使用案例
廢話少說,直接上代碼
<script type="text/javascript">
//javascript操作符
//1、按位非~
var num1=25;//
var num2=~num1;//
alert(num2)
var num3=10;
var num4=~num3;
alert(num4)
var num5=99;
var num6=~num5;
alert(num6)
//說明:相信大家也已經(jīng)看出來(lái)了按位~(NOT)的實(shí)現(xiàn)原理:
//以num1、num2為講解對(duì)象
//第一步:先把num1轉(zhuǎn)換成二進(jìn)制
//第二步:取得num1二進(jìn)制的反碼賦值給num2
//第三步:在把num2換算成十進(jìn)制數(shù)字
//簡(jiǎn)單說明:就是把操作數(shù)的數(shù)值的負(fù)數(shù)減1
//2、按位與 &(AND)
var result=25 & 3;
alert(result);//1
//說明,就是把兩數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)字,按照一定的規(guī)則:
//第一個(gè)數(shù)值的位 第二個(gè)數(shù)值的位 結(jié)果
// 1 1 1
// 1 0 0
// 0 1 0
// 0 0 0
//簡(jiǎn)而言之,按位操作符的相對(duì)應(yīng)的位都是1時(shí)則返回1,任何一位是0則返回0.
//然后在得到的二進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù)字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// AND=0000 0000 0000 0000 0000 0000 0000 0001
//3、按位或 |(OR)
var result=25 | 3;
alert(result);//27
//說明,就是把兩數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)字,按照一定的規(guī)則:
//第一個(gè)數(shù)值的位 第二個(gè)數(shù)值的位 結(jié)果
// 1 1 1
// 1 0 1
// 0 1 1
// 0 0 0
//簡(jiǎn)而言之,按位操作符的相對(duì)應(yīng)的位有一位是1就返回1,而只有在兩個(gè)位都是0的情況下才返回0.
//然后在得到的二進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù)字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// OR=0000 0000 0000 0000 0000 0000 0001 1011
//4、按位異或 ^(XOR)
var result= 25 ^ 3;
alert(result);//26
//說明,就是把兩數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)字,按照一定的規(guī)則:
//第一個(gè)數(shù)值的位 第二個(gè)數(shù)值的位 結(jié)果
// 1 1 0
// 1 0 1
// 0 1 1
// 0 0 0
//簡(jiǎn)而言之,這個(gè)操作符(^)在兩個(gè)數(shù)值對(duì)應(yīng)位上只有一個(gè)1時(shí)才返回1,否則返回0.
//然后在得到的二進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù)字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// XOR=0000 0000 0000 0000 0000 0000 0001 1010
//5、左移(<<)
var oldNum=2;
var newNum=oldNum << 5;
alert(newNum)
//說明,將2(二進(jìn)制數(shù)碼10)向左移5位結(jié)果就是1000000(二進(jìn)制)等于64
//注意,左移不會(huì)影響操作符的符號(hào)位,例如將-2左移5位就是-64
//2=0000 0000 0000 0000 0000 0000 0000 0010
//64=0000 0000 0000 0000 0000 0000 010 00000
//6、有符號(hào)右移(>>)
var oldNum=64;
var newNum=oldNum >> 5;
//64=0000 0000 0000 0000 0000 0000 010 00000
//2=0000 0000 0000 0000 0000 0000 0000 0010
alert(newNum)
</script>
注釋里解釋的很清楚了,小伙伴們是否了解了javascript中的操作符的用法了呢,有疑問就給我留言吧
- JavaScript 布爾操作符解析 && || !
- JavaScript中的操作符==與===介紹
- javascript中加號(hào)(+)操作符的一些神奇作用
- Javascript中的delete操作符詳細(xì)介紹
- JavaScript中的typeof操作符用法實(shí)例
- js中傳遞特殊字符(+,&)的方法
- js調(diào)用圖片隱藏&顯示實(shí)現(xiàn)代碼
- Javascript 中的 && 和 || 使用小結(jié)
- js 與或運(yùn)算符 || && 妙用
- javascript &&和||運(yùn)算法的另類使用技巧
- 全面解析JavaScript中“&&”和“||”操作符(總結(jié)篇)
相關(guān)文章
每天一篇javascript學(xué)習(xí)小結(jié)(屬性定義方法)
這篇文章主要介紹了javascript中的屬性定義方法知識(shí)點(diǎn),對(duì)屬性定義方法的基本使用方法,以及各種方法進(jìn)行整理,感興趣的小伙伴們可以參考一下2015-11-11JS實(shí)現(xiàn)簡(jiǎn)單獲取最近7天和最近3天日期的方法
這篇文章主要介紹了JS實(shí)現(xiàn)簡(jiǎn)單獲取最近7天和最近3天日期的方法,涉及javascript針對(duì)日期與時(shí)間的相關(guān)數(shù)值運(yùn)算與轉(zhuǎn)換操作技巧,需要的朋友可以參考下2018-04-04JavaScript該如何學(xué)習(xí) 怎樣輕松學(xué)習(xí)JavaScript
JavaScript該如何學(xué)習(xí)?如何輕松學(xué)習(xí)JavaScript?這篇文章主要介紹了輕松學(xué)習(xí)JavaScript的方法2017-06-06javascript 發(fā)布-訂閱模式 實(shí)例詳解
這篇文章主要介紹了javascript 發(fā)布-訂閱模式,結(jié)合實(shí)例形式詳細(xì)分析了javascript發(fā)布-訂閱模式基本功能、原理、實(shí)現(xiàn)方法與相關(guān)使用技巧,需要的朋友可以參考下2023-06-06JavaScript mixin實(shí)現(xiàn)多繼承的方法詳解
這篇文章主要介紹了JavaScript mixin實(shí)現(xiàn)多繼承的方法,結(jié)合實(shí)例形式分析了mixin多繼承的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03JavaScript模塊規(guī)范之AMD規(guī)范和CMD規(guī)范
本篇文章給大家介紹js模塊規(guī)范之AMD規(guī)范和CMD規(guī)范,模塊化是一種處理復(fù)雜系統(tǒng)分解為代碼結(jié)構(gòu)更合理,可維護(hù)性更高的可管理的模塊的方式,對(duì)js amd cmd規(guī)范感興趣的童鞋可以來(lái)本文學(xué)習(xí)2015-10-10JavaScript實(shí)現(xiàn)原型封裝輪播圖
這篇文章主要為大家詳細(xì)介紹了JavaScript原型封裝輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12