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