8 26 js基礎 及小練習

2021-10-23 21:00:51 字數 4189 閱讀 7144

位運算

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 這是一種...