js 運算子 迴圈

2022-09-07 05:21:09 字數 4125 閱讀 9824

(一)運算子

一 算術運算子

+—*/%:加減乘除取餘

9%2=1

餘數為0說明整除

3%5為3

二 自增自減運算子

1.前置自增/自減

++i,—i

2.後置自增/自減

i++,i—

3.總結

兩者單獨用的時候效果一樣,

需要返回的時候不一樣:

alert(++i);8

alert(i++);7 

三 比較運算子

1.等號 

會把字元型轉換為數字型:

18==』18』會返回true

console.log(a == true); // 列印結果:true

(比較時自動轉換,但變數型別不改變)

2.不等號

表示在兩數之間只能分開寫:a >= 18 && a 

不能連著寫,18<= a <= 65,沒有這種語法

四 邏輯運算子(布林運算子)

1.邏輯與&&

(1)使用規則:

(相當於and)

兩邊條件都為true時,結果才為true;如果有乙個為false,結果就為false;

(2)乙個重要特點:短路運算(邏輯中斷)

語法:表示式1&&表示式2

規則:如果第乙個表示式為真,則返回表示式2;如果第乙個表示式為假,則返回表示式1。後面的表示式就短路了,不再執行了。如果所有的值都為true,則返回的是最後乙個值。(true就往後走)

eg:123&&456//結果為456

0&&1+2&&456*789// 結果為0(短路了,0&&1後就不往後走了)

2.邏輯或 ||

(1)規則

只要有乙個條件為true時,結果就為true;

當兩個條件都為false時,結果才為false;

(2)乙個重要特點:短路運算(邏輯中斷)

語法:表示式1&&表示式2

規則:如果表示式1結果為真,則返回表示式1;如果表示式1結果為假,則返回表示式2。然後就短路不往後執行了。如果所有的值都為false,則返回的是最後乙個值。(false就往後走)

eg:0||456||456+123//結果為456

2.1容錯機制(短路運算的應用)

if (result.resultcode == 0) 12

3//如果返回結果中沒有 result.data.imgurl 這個字段,就用 http://img./20160401_01.jpg 作為兜底。

3.邏輯非!

五 賦值運算子

六 運算子的優先順序

從上到下優先順序降低

(二)流程控制-分支

流程控制有三種結構:順序結構、分支結構、迴圈結構

一 順序結構:從上到下順序執行

二 分支結構 :根據條件執行不同的**

1.if語句

1)單分支語句

語法:if(條件表示式)

規則:條件表示式結果為真,則執行執行**。如果為假,則不執行if,繼續執行if後面的**。

2)雙分支語句

語法2:

if(條件表示式) else

3)多分支語句

語法3:

if(條件表示式1) else if (條件表示式2)else if (條件表示式3)else

2.三元表示式

++num為一元

3+5為二元

三元表示式語法結構:

條件表示式?表示式1:表示式2

3.switch語句

(1)是多分支語句

(2)語法:

switch(表示式)

(3)規則

(4)如果輸出的一樣可以簡化

let day = 2;

switch (day) }//1,2,3都返回work

3.1有確定值的時候通常用switch,判斷範圍的時候通常用 if。

分支多的時候建議用switch。

三 迴圈結構

1.for迴圈

(1)通常跟計數有關

(2)語法:for(初始化變數;條件表示式;操作表示式)

eg:for(var i=1;i<=100;i++)

第二輪,i++, 然後i<=100,console,

第一輪:i=1時,console乙個hello,console乙個i=1

第二輪:此時i=2,console乙個hello,console乙個i=2

第三輪:i=3時,console乙個hello,console乙個i=3

第四輪:i=4時,console乙個hello,console乙個i=4

最後:應該輸出100個hello,並且i最後的值為100

(3)應用

var sum=0;

for(var i=0;i<=100;i++)

console.log(sum);//5050

var even=0;//偶數

var odd=0;//奇數

for(var i=0;i<=100;i++)else

}console.log(even, odd);

var num=prompt('請輸入學生人數』);

var sum=0;

var **erage=0;

for(var i=0;i<=num;i++)

**erage=sum/num;

alert('班級平均分是』+**erage);

正常輸出會重疊在一起,想顯示成一行,可以加字串

var str=『』;

for(var i=0;i<=5;i++)//✨✨✨✨✨

(4)雙重for迴圈

語法:for(外層的初始化變數;外層的條件表示式;外層的操作表示式)

}(5)應用

外層迴圈控制行數,裡層迴圈控制列數(每行有多少個)

var str=『』;//提前宣告變數

for(var i=1;i<=5;i++)

str=str+』\n』;//每行列印完換行

}console.log(str);

var str='';

for(var i=1;i<=10;i++)

str=str+'\n';

}console.log(str);

思路:每一行的公式的個數和行數相等

var str='';

for(var i=1;i<=9;i++)

str=str+'\n';

}console.log(str);

1.1設定斷點:瀏覽器控制台中的sources,在行號上點一下,然後重新整理

2.while迴圈

語法:while(條件表示式)

規則:條件表示式結果為true則執行迴圈體,否則退出迴圈

eg:while(message=='你好呀』)

3.do…while

語法:dowhile(條件表示式)

四 continue和break

1.continue

只是跳出本次迴圈,繼續下一次迴圈。(本次迴圈中,迴圈中continue下面的語句不執行了,直接進行下一次迴圈)

(第三個包子有蟲子,扔掉繼續。一共吃了1,2,3,5四個包子,第三個沒吃)

eg:求1-100間,除了能被7整除的數之外的整數的和

var sum=0;

for(var i=0;i<=100;i++)

sum+=i;

}2.break

跳出整個迴圈。

(吃到第三個包子有蟲子,第4,5個包子也不吃了,一共吃了2個包子)

錯題集:

1.var num=0;

console.log(123||num++);

console.log(num);

輸出123和0.

2. 假設使用者輸入345,怎麼分別得到3、4、5這三個數呢?

得到3的方法:345除以100,得到3.45然後取整,得到3。即:parseint(345/100)

得到4的方法:345 除以100,餘數是45,除以10,得到4.5,取整。即:parseint(345 % 100 / 10)

得到5的方法:345除以10,餘數就是5。即:345 % 10

3.閏年:年份能被4整除但不能被100整除,或者能被400整除

js運算子 判斷 迴圈

運算子 算數 n 先運算 後加 1 賦值 n 先加 1賦值 後運算 var str ab cd abcd 1 ab 1ab ab 1 ab1 1 1 ab 2ab ab 1 1 ab11 str str 注意引號單雙 轉義字元 單雙引號 賦值 a 1 a a 1 關係 1 1 true 1 1 fa...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...

js 比較運算子 邏輯運算子

運算子 運算子 1.純數字,加法數 算 2.加好左右只要有字串都得字串 字串鏈結 如 var a 1 1 a 1 1 document.write a 此時輸出2a11 在計算機中可以除0,任何數除0都得無窮。無窮 infinity 0除0得nan 非數,非數也是數 運算子 a 即 a 1 即 a ...