javascript
JavaScript笔记(3)
?位操作符
? ? ? 所有的按位操作符的操作數(shù)都會被轉(zhuǎn)成補碼形式的有符號的32位整數(shù)。
?
| 運算符 | 用法 | 描述 |
| 按位與(AND) | a & b | 對于每一個比特位,只有兩個操作數(shù)相應(yīng)的比特位都是1時,結(jié)果才為1,否則為0。 |
| 按位或(OR) | a | b | 對于每一個比特位,當(dāng)兩個操作數(shù)相應(yīng)的比特位至少有一個1時,結(jié)果為1,否則為0。 |
| 按位異或(XOR) | a ^ b | 對于每一個比特位,當(dāng)兩個操作數(shù)相應(yīng)的比特位有且只有一個1時,結(jié)果為1,否則為0。 |
| 按位非(NOT) | ~a | 反轉(zhuǎn)操作符的比特位,即變成1,1變成0。 |
| 左移(left shift) | a<<b | 將a的二進(jìn)制形式向左移b(<32)位比特位,右邊用0填充。 |
| 有符號右移 | a>>b | 將a的二進(jìn)制形式向右移b(<32)位比特位,丟棄被移出的位。 |
| 無符號右移 | a>>>b | 將a的二進(jìn)制形式向右移b(<32)位比特位,丟棄被移出的位,并使用0在左側(cè)填充 |
? ? ? ? 有符號右移:拷貝最左側(cè)的位以填充左側(cè)
無符號右移:左側(cè)用0填充
對任一數(shù)值 x 進(jìn)行按位非操作的結(jié)果為 -(x + 1)。例如,~5 結(jié)果為 -6。
在數(shù)字?x?上左移?y?比特得到?x * 2y.
?條件運算符
條件運算符也叫三元運算符
語法:條件表達(dá)式?語句1:語句2;
? ? ? ? ? ? ? 執(zhí)行的流程:
? ? ? ? ? ? ? ? ? ? ? ?條件運算符在執(zhí)行時,首先對條件表達(dá)式進(jìn)行求值
? 如果該值為true,則執(zhí)行語句1,并返回執(zhí)行結(jié)果
如果該值為false,則執(zhí)行語句2,并執(zhí)行返回結(jié)果
? ? ?如上圖所示:a顯然不大于3,所以執(zhí)行語句2,并執(zhí)行返回結(jié)果 bbbb
?運算符的優(yōu)先級
?流程控制
? ? 流程控制語句
--程序都是自上向下的順序執(zhí)行的 ,通過流程控制語句可以改變程序執(zhí)行的順序,或者反復(fù)的執(zhí)行某一段的程序。
? ? --分類:1條件判斷語句
? 2條件分支語句 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
??3循環(huán)語句
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?分支語句? ?
? ? ?-->條件判斷語句(if)
? 一般書寫if分支的時候,我們的控制條件都不是互斥的,我們應(yīng)該將小范圍的條件寫在前面
練習(xí)一:
練習(xí)二:
?
?
? ? ??
? ??? ? ? ? ? ? ? ? ? ??
? ? ?
?
?
?
?條件分支語句?
練習(xí)一:
? ? ? ? ? ? ? ? ?
練習(xí)二:
? ? ? ? ?
? ? ? ? ? ? ? ? ?
?循環(huán)語句? ? ? ?
? ? ?通過循環(huán)語句可以反復(fù)執(zhí)行某些語句多次
循環(huán)語句組成的四個部分:
1:初始化表達(dá)式
2:循環(huán)條件表達(dá)式
3:循環(huán)體部分
4:迭代部分(更新表達(dá)式)
?for循環(huán)?
? 語法:
? for(①初始化表達(dá)式 ; ②循環(huán)條件表達(dá)式 ; ④更新表達(dá)式){
?
????????????????????? ??? ③循環(huán)體
?
???????????????? ? }
練習(xí)一:
? ? ??? ? ?
練習(xí)二:
? ? ?? ?
?
?練習(xí)三:
? ? ?? ? ? ? ??
?
?while循環(huán)? ??
? ? ? ? ? ? ?- 語法:
???????????????????????? ①初始化表達(dá)式
????????????????? ?????? while(②循環(huán)條件表達(dá)式){
???????????????????????? ?????? ③循環(huán)體
??????????????????????????????? ④更新表達(dá)式
???????????????????????? }
?????????? ?????? - 執(zhí)行流程:
????????????????? ?????? while語句在執(zhí)行時,會先對條件表達(dá)式進(jìn)行求值判斷,
???????????????????????? 如果判斷結(jié)果為false,則終止循環(huán)
???????????????????????? 如果判斷結(jié)果為true,則執(zhí)行循環(huán)體
???????????????????????? 循環(huán)體執(zhí)行完畢,繼續(xù)對條件表達(dá)式進(jìn)行求值判斷,依此類推
?練習(xí):
? ? ? ? ??? ? ? ?
?do....while循環(huán)? ?
- 語法:
???????????????????????? ①初始化表達(dá)式
???????????????????????? do{
???????????????????????? ?????? ③循環(huán)體
??????????????????????????????? ④更新表達(dá)式
????????????????? ?????? }while(②循環(huán)條件表達(dá)式)
?????????????????
?????????? ?????? - 執(zhí)行流程
do...while在執(zhí)行時,會先執(zhí)行do后的循環(huán)體,然后在對條件表達(dá)式進(jìn)行判斷,
???????????????????????? 如果判斷判斷結(jié)果為false,則終止循環(huán)。
???????????????????????? 如果判斷結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體,依此類推
?
- 和while的區(qū)別:
????????????????? ?????? while:先判斷后執(zhí)行
????????????????? ?????? do...while: 先執(zhí)行后判斷
????????????????? ?????? do...while可以確保循環(huán)體至少執(zhí)行一次。
?練習(xí):
? ? ? ? ?? ? ? ? ? ? ?
??死循環(huán)
?- 語法:
while(true){? ? ?
? ? ? ??
???????????????????????? }
? ? ? ? ??? ? ? ? ? ?for(;;){
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
?練習(xí):
? ? ? ? ? ??
?嵌套循環(huán)? ?
?
?打印*****:
? ??? ? ? ?
?
??
?
打印:*****
? ? ? ? ? ?****
? ? ? ? ? ?***
? ? ? ? ? ?**
? ? ? ? ? ?*
? ? ? ??
? ?
打印:*
**
? ?***
? ? ? ? ?****
*****
?
??
?
轉(zhuǎn)載于:https://www.cnblogs.com/fxiong/p/10105410.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript笔记(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Red5 webapp配置
- 下一篇: 腾讯全球首款JS代码坦克 CodeTan