位運算
1.按位與 & | ^
我們所進行的數值計算,再計算中都是二進位制去計算
計算 10&20
console.log(12&21)
console.log(12|21)
console.log(12^21)
二進位制:原碼、反碼、補碼
12:正數的原碼/反碼/補碼都是一樣的
原碼: 0000 1100
12: 0 1100
21: 1 0101,
& 0 0100 ==>4按位與:對應兩個位為1時,結果為1
| 1 1101 ==>29按位或:對應兩個位乙個為1 結果便為1
^ 1 1001 ==>25按位異或:對應兩個位 相同為0 不同為1
20: 0000 1010
按位右移是在二進位制末尾刪除n位,在開頭補0
console.log(20<<1) // 40
20: 0010 1000 ==>40
按位左移是在二進位制開頭刪除n為,在末尾補0
console.log(-10>>2) // -3ex:-10右移兩位,-10/2^2=-2.5 取小 為-3
原碼: 1 0000 1010,
反碼: 1 1111 0101,
補碼: 1 1111 0110,
移位: 1 1111 1101,
取反(反碼): 1 0000 0010
原碼(補碼): 1 0000 0011 ,// -3
負數在按位右移的過程中,高位補1
按位左移
console.log(-10<<2) // -40ex:-10左移兩位 -10*2^2=-40
原碼:1 0000 1010
反碼:1 1111 0101
補碼:1 1111 0110
左移:1 1101 1000
取反:1 0010 0111
原碼(補碼):1 0010 1000 // -40
短路與 (一假即假)
針對 && 順口溜: 找第乙個出現的假值. (一假即假)針對 || 順口溜: 找第乙個出現的真值. (一真即真)
**口訣 : 找第乙個為假的值.
// 請問1 : 8 < 7 && 3 < 4, 結果為 ?
alert(8 < 7 && 3 < 4); // false
// 請問2 : -2 && 6 + 6 && null 結果為 ?
alert(-2 && 6 + 6 && null); // null
// 請問3 : 1 + 1 && 0 && 5 結果為 ?
alert(1 + 1 && 0 && 5); // 0
// console.log(true && false);
// console.log(false && true);
//1.按位與
//計算機中都是二進位制計算
//10&20
console.log(12 & 21);//==>4
console.log(12 | 21);//==>29
//計算方式 原碼 反碼 補碼
// 整數的原碼/補碼/反碼都是一樣的
//12: 原碼:0000 1100
//21:原碼:0001 0101
//按位與(&) 對應的兩個二進位均為1時,結果位才為1 ,否則為0;
//12: 原碼:0000 1100
//21:原碼:0001 0101
// 0000 01001 =4
//按位或(|) 對應的乙個二進位均為1時,結果位就為1
//12: 原碼:0000 1100
//21:原碼:0001 0101
// 0001 1101 =29
// 按位異或(^)對應的兩位不同時結果為1,相同時為0 總結:相同為0,相異為1
//按位右移 (m>>n)
//末尾刪除n位 開頭補0
//按位左移 (m>>n)
//開頭刪除n位 末尾補0
// console.log(-10 >> 2);
// console.log(70 << 2);
// console.log(-230 >> 3);
// console.log(-230 << 3);
//使用if else 判定潤年;
// var year = parseint(prompt());
// if (isnan(year)) else
// }
//練習:彈出兩次提示框分別輸入商品單價和數量,假設總價滿1000打九折,當前會員卡內由1300遠。如果足夠支付,警示框彈出「pay success」
//,否則彈出「pay error「
//if-else
// var price = parseint(prompt("請輸入商品單價"));
// var num = parseint(prompt("請輸入商品數量"));
// var sum = price * num
// var pay;
// var all = 1300;
// if (!isnan(price) && !isnan(num)) else
// }
// else
// } else
//模板字串 $
// ("陳哥有10*10個男朋友") ==> 模板字串=("陳哥有$個男朋友") ==>解析 ("陳哥有100個男朋友")
//switch語句
//練習:輸入年份和月份,判斷這個月多少天
// var year = number(prompt("請輸入年份"));
// var month = number(prompt("請輸入月份份"));
// if ((year % 4 == 0 && year % 100 !== 0) || year % 400 == 0)
// }else
// }
//三目運算子
// switch (month)
//迴圈
//while(迴圈條件)
//迴圈條件,限制迴圈千萬不要執行死迴圈;
//練習;在網頁中使用prompt,實現石頭剪刀布的遊戲
// while(true)else if(a==2&&b==1)else if(a==1&&b==0)else if(a==b)else
// console.log(b);
// }
//for 迴圈 可以存在多個條件,以最後乙個條件為準
//練習 :列印本世紀前10個閏年
// var years =2000
// var year;
// for(i=0;i<10;i++)
// for(i=2000;i<2100;i+=4)
//練習 列印1-100之間所有的整數。排除所有能被3和5整除的數字;
// var a;
// for(i=1;i<101;i++)
// }
// var a;
// for(i=1;i<101;i++)else
// }
//break 和 continue
// 練習: 水仙花數 列如: 153=1**3 + 5**3 +3**3
// for (a=1;a < 10;a++)
// }
// }
// }
// 練習 九九乘法表
// for(a=1;a<=9;a++)
// }
// for(var i=1;i<=9;i++)
// document.write(」
");// }
// for(a=5;a<=9;a++)
// document.write("
")// }
8 26js部分複習
script元素 src 同域或不同域的外部指令碼 defer 對外部檔案有效,指令碼可以延遲到文件被完全解析後才會執行不會影響頁面 async 對外部檔案有效,非同步,type charset 字符集 在xhtml使用用cdata 嵌入外部檔案 可維護性 可快取 文件模式 混雜模式 不同瀏覽器的樣...
js小案例練習
目錄 開始!前面寫的很囉嗦,後面慢慢的精簡起來了,說明還是有一點點進步的!在瀏覽器輸出以下內容 做的第乙個練習,比較羅嗦 html 求1 100的素數var primenum function max if i j i 1 return arr document.write primenum 100...
js 小案例練習
目錄 開始!前面寫的很囉嗦,後面慢慢的精簡起來了,說明還是有一點點進步的!在瀏覽器輸出以下內容 做的第乙個練習,比較羅嗦 求1 100的素數var primenum function max if i j i 1 return arr document.write primenum 100 這是一種...