js基礎(chǔ)第二天

一、運算符

  • 算數(shù)運算符
    數(shù)學(xué)運算符也叫算術(shù)運算符,主要包括加、減、乘、除、取余(求模)。
    +:求和
    -:求差
    *:求積
    /:求商
    %:取模(取余數(shù))——開發(fā)中經(jīng)常作為某個數(shù)字是否被整除
    優(yōu)先級:先乘除取余后加減,有括號先算括號里面的;優(yōu)先級相同時以書從左向右執(zhí)行;

  • 賦值運算符
    對變量進行賦值的運算符;將等號右邊的值賦予給左邊, 要求左邊必須是一個變量
    +=
    -=
    *=
    /=
    %=

    //+=賦值運算符例子,其他賦值運算符同理
    let age = 20
    // = 運算符先計算=右邊的結(jié)果,再賦值給左側(cè)的變量
    age = age + 5
    // +=的意思是:將這個變量+值,再賦值給這個變量
    age += 5 // 等價于: age = age + 5
  • 一元運算符
    根據(jù)所需表達式的個數(shù),分為一元運算符、二元運算符、三元運算符
    一元運算符
    自增:
    符號:++
    作用:讓變量的值 +1
    自減:
    符號:--
    作用:讓變量的值 -1

使用一元運算符做自增運算
自增運算符的用法:
1.前置自增:++num
2.后置自增:num++
前置自增和后置自增單獨使用沒有區(qū)別
前置自增和后置自增如果參與運算就有區(qū)別:

    let num = 3
    // 前置自增
    // 先自增,再運算得出結(jié)果(先自加再使用(記憶口訣:++在前 先加))
    console.log(++num + 2)//輸出的值為6
    num = 3
    // 后置自增
    // 先運算,得出結(jié)果后再自增(先使用再自加(記憶口訣:++在后 后加))
    console.log(num++ + 2)//輸出的值為5
  • 比較運算符
    比較運算符:> ;<;>=;<=;
    ==: 左右兩邊是否相等,將兩邊的數(shù)據(jù)進行轉(zhuǎn)換為數(shù)值;
    ===: 左右兩邊是否類型和值都相等;
    !==: 左右兩邊是否不全等;
    比較結(jié)果為boolean類型,即只會得到true或false
    比較運算符的細節(jié):1.字符串比較,是比較的字符對應(yīng)的ASCII碼
    2.NaN不等于任何值,包括它本身
    3.盡量不要比較小數(shù),因為小數(shù)有精度問題
    4.不同類型之間比較會發(fā)生隱式轉(zhuǎn)換(最終把數(shù)據(jù)隱式轉(zhuǎn)換轉(zhuǎn)成number類型再比較,所以開發(fā)中,如果進行準確的比較我們更喜歡 === 或者 !==)

  • 邏輯運算符
    邏輯運算符用來解決多重條件判斷


    image.png

    邏輯運算符里的短路
    短路:只存在于 && 和 || 中,當滿足一定條件會讓右邊代碼不執(zhí)行
    原因:通過左邊能得到整個式子的結(jié)果,因此沒必要再判斷右邊
    運算結(jié)果:無論 && 還是 || ,運算結(jié)果都是最后被執(zhí)行的表達式值,一般用在變量賦值


    image.png
  • 運算符優(yōu)先級


    image.png

    一元運算符里面的邏輯非優(yōu)先級最高
    邏輯與比邏輯或優(yōu)先級高

二、語句

  • 表達式和語句
    表達式:表達式通常會在原地返回一個值; 代碼較短
    語句:js 整句或命令,用來描述一件事情,代碼量比較長(比如: if語句 for 循環(huán)語句)
    區(qū)別:
    表達式計算出一個值,但語句用來自行以使某件事發(fā)生(做什么事)
    (其實某些情況,也可以把表達式理解為語句,因為它是在計算結(jié)果,也是做事)
  • 分支語句
    1.if語句
    if語句有三種使用:單分支、雙分支、多分支

單分支:

    if (條件) {
      滿足條件之后要執(zhí)行的代碼
    }

雙分支:

 if (條件) {
      滿足條件之后要執(zhí)行的代碼
    }else {
      不滿足條件要執(zhí)行的代碼
}

多分支(能有n多個else if):

 if (條件1) {
      滿足條件1之后要執(zhí)行的代碼
    }else  if(條件2){
      滿足條件2要執(zhí)行的代碼
}else {
      若以上條件都不滿足,則執(zhí)行這里的代碼
}

2.三元運算符(一般用來取值)
是比 if 雙分支更簡單的寫法,有時候也叫做三元表達式
符號:? 與 : 配合使用


image.png
    // 三元表達式
    // 1.需要三個操作數(shù)
    // 2.表達式:三元表達式會返回一個值
    // 語法:條件?滿足條件返回這里的執(zhí)行結(jié)果:不滿足條件返回這里的執(zhí)行結(jié)果
    //需求:用戶輸入兩個數(shù)字,控制臺中輸出最大的數(shù)字
    let num1 = +prompt('請輸入第一個數(shù)字')
    let num2 = +prompt('請輸入第二個數(shù)字')
    console.log(num1 > num2 ? num1 : num2)

  • 循環(huán)語句

1.斷點調(diào)試:
作用:學(xué)習(xí)時可以幫助更好的理解代碼運行,工作時可以更快找到bug


image.png

2.while循環(huán)
循環(huán):重復(fù)執(zhí)行某段代碼, 而 while : 在…. 期間
跟if語句很像,都要滿足小括號里的條件為true才會進入執(zhí)行代碼
while大括號里代碼執(zhí)行完畢后不會跳出,而是繼續(xù)回到小括號里判斷條件是否滿足,若滿足又執(zhí)行大括號里的代碼,然后再回到小括號判斷條件,直到括號內(nèi)條件不滿足,即跳出
語法:

    //需求:i循環(huán)5次
      let i = 1
      while (i <= 5) {
        console.log(i)
        i++
      }

循環(huán)需要具備三要素:1.變量起始值
2.終止條件(沒有終止條件,循環(huán)會一直執(zhí)行,造成死循環(huán))
3.變量變化量(用自增或者自減)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容