JavaScript第二天

一、運(yùn)算符

(1)算術(shù)運(yùn)算符:

  +:求和
  -:求差
  *:求積
  /:求商
  %:取模(取余數(shù))   
1、優(yōu)先級(jí)
JavaScript中 優(yōu)先級(jí)越高越先被執(zhí)行,優(yōu)先級(jí)相同時(shí)以書(shū)從左向右執(zhí)行。
a、乘、除、取余優(yōu)先級(jí)相同
b、加、減優(yōu)先級(jí)相同
c、乘、除、取余優(yōu)先級(jí)大于加、減
d、使用 () 可以提升優(yōu)先級(jí)

總結(jié): 先乘除取余,后加減,有小括號(hào)先算小括號(hào)里面的

(2)賦值運(yùn)算符:

= 將等號(hào)右邊的值賦予給左邊, 要求左邊必須是一個(gè)變量
+= 、 -= 、 *= 、 /= 、 %=

其他賦值運(yùn)算符:
   debugger//可以通過(guò)這個(gè)來(lái)一行一行運(yùn)行查看值的變化
  //num = num+1   ( += )
    num += 1;//num == 2
    console.log(num);

    // num = num-1 (-=)
    num -= 1;//num == 1
    console.log(num);

    // num = num*2 (*=)
    num *= 2;//num == 2
    console.log(num);

    //num = num/2 (/=)
    num /= 2;//num == 1
    console.log(num);

    // num = num%2 (%=)
    num %= 2;//num == 1
    console.log(num);

(3)一元運(yùn)算符

眾多的 JavaScript 的運(yùn)算符可以根據(jù)所需表達(dá)式的個(gè)數(shù),分為一元運(yùn)算符、二元運(yùn)算符、三元運(yùn)算符

   // 前置自增 后置自增
    let num = 1;
    // 前置自增:先自增,再返回自增結(jié)果;然后再繼續(xù)計(jì)算 + 2
    console.log(++num + 2);//4
    // 后置自增:先返回變量的值:然后再自增: 然后,再根據(jù)返回的值繼續(xù)計(jì)算
    // 重置一下
    num = 1;
    console.log(num1++ + 2);//3

前置自增:先自加再使用(記憶口訣:++在前 先加)++i
先自增,再返回自增結(jié)果
后置自增:先使用再自加(記憶口訣:++在后 后加)i++
自減同理

(4)擴(kuò)展一下

面試題:
 let i = 1;
console.log(i++ + ++i + i);//從左至右,i++經(jīng)過(guò)之后i=2,經(jīng)過(guò)++i后i=3,所以1+3+3=7

(5)比較運(yùn)算符

1、比較結(jié)果為boolean類(lèi)型,即只會(huì)得到true或false

: 左邊是否大于右邊
<: 左邊是否小于右邊
=: 左邊是否大于或等于右邊
<=: 左邊是否小于或等于右邊
==: 左右兩邊是否相等,將兩邊的數(shù)據(jù)進(jìn)行轉(zhuǎn)換為數(shù)值
===: 左右兩邊是否類(lèi)型和值都相等
!==: 左右兩邊是否不全等
!=:左右兩邊不等

2、=與==與===的區(qū)別

賦值: =賦值
等于:==不比較類(lèi)型,只比較數(shù)值
全等:===要求全等,類(lèi)型和數(shù)值都要相等

3、比較運(yùn)算符細(xì)節(jié)

1、字符串的比較
(1)從左往右一次比較
(2)如果第一位一樣再比較第二位,以此類(lèi)推
2、NaN不等于任何值,包括自身
3、盡量不要比較小數(shù),因?yàn)樾?shù)有精度問(wèn)題

(1)小數(shù)在內(nèi)存存儲(chǔ)方式,會(huì)導(dǎo)致精度問(wèn)題
(2)前端進(jìn)行計(jì)算的時(shí)候,使用計(jì)算函數(shù)庫(kù)
4、不同類(lèi)型之間比較會(huì)發(fā)生隱式轉(zhuǎn)換
最終把數(shù)據(jù)隱式轉(zhuǎn)換轉(zhuǎn)成number類(lèi)型再比較
所以開(kāi)發(fā)中,如果進(jìn)行準(zhǔn)確的比較我們更喜歡 === 或者 !==

(6)邏輯運(yùn)算符
邏輯運(yùn)算符.png

邏輯運(yùn)算符里的短路
短路.png
  只會(huì)發(fā)生在 && || 里面 
  // 2、短路表達(dá)式:有返回值
    let res = false && 1;
    console.log('res', res);//false

    res = true && 1;
    console.log('res', res);//1  1其實(shí)代表著true,真值

    res = 1 || false;
    console.log('res', res);//1

邏輯上為假的數(shù)據(jù)類(lèi)型有:false null undefined " " 0 NaN
邏輯上為真的數(shù)據(jù)類(lèi)型有:true "字符串里有值" 數(shù)字非0(包括負(fù)數(shù)) Array Object
非0值都是真的true , 0值為假false

(5)運(yùn)算符優(yōu)先級(jí)

口訣:計(jì)算 比較 判斷 邏輯

優(yōu)先級(jí).png

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

二、語(yǔ)句

(1)表達(dá)式和語(yǔ)句

第一:表達(dá)式

1、會(huì)在原地返回一個(gè)值
2、代碼較短

第二:語(yǔ)句

1、js整句或命令,用來(lái)描述一件事情
2、代碼量比較長(zhǎng)

(2)分支語(yǔ)句

  1. 順序結(jié)構(gòu): 從上往下執(zhí)行幾句
  2. 分支結(jié)構(gòu):根據(jù)條件選擇執(zhí)行代碼
  3. 循環(huán)結(jié)構(gòu):某段代碼被重復(fù)執(zhí)行

1、if分支語(yǔ)句

單分支、雙分支、多分支

單分支使用語(yǔ)法:

if (條件) {

  滿(mǎn)足條件后要執(zhí)行的代碼
}

(括號(hào)內(nèi)的結(jié)果如果不是布爾類(lèi)型時(shí),會(huì)發(fā)生隱式轉(zhuǎn)換轉(zhuǎn)為布爾類(lèi)型)

單分支使用語(yǔ)法:

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

多分支使用語(yǔ)法:
多分支.png

2、三元運(yùn)算符(三元表達(dá)式)

語(yǔ)法:

條件 ?滿(mǎn)足條件執(zhí)行的代碼 :不滿(mǎn)足條件時(shí)執(zhí)行的代碼


三元表達(dá)式案例.png

(3)循環(huán)語(yǔ)句

1、斷點(diǎn)調(diào)試

斷點(diǎn):在某句代碼上加的標(biāo)記就叫斷點(diǎn),當(dāng)程序執(zhí)行到這句有標(biāo)記的代碼時(shí)會(huì)暫停下來(lái)a、瀏覽器打開(kāi)調(diào)試界面

第一種方法:瀏覽器打開(kāi)調(diào)試界面步驟:
a、按F12打開(kāi)開(kāi)發(fā)者工具
b、點(diǎn)到sources一欄
c、選擇代碼文件

斷點(diǎn)調(diào)試.png

第二種方法:手動(dòng)添加斷點(diǎn)(debugger)

手動(dòng)斷點(diǎn)調(diào)試.png

2、while循環(huán)

(1)循環(huán)語(yǔ)法:

while(循環(huán)條件){
要重復(fù)執(zhí)行的代碼(循環(huán)體)
}

while大括號(hào)里代碼執(zhí)行完畢后不會(huì)跳出,而是繼續(xù)回到小括號(hào)里判斷條件是否滿(mǎn)足,若滿(mǎn)足又執(zhí)行大括號(hào)里的代碼,然后再回到小括號(hào)判斷條件,直到括號(hào)內(nèi)條件不滿(mǎn)足,即跳出

(2)while循環(huán)注意事項(xiàng):

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

循環(huán)案例.png

總結(jié)

NaN和任何值都不相等,都會(huì)返回false
兩次取反的作用:把數(shù)據(jù)轉(zhuǎn)換為布爾型

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

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

  • 數(shù)組 數(shù)組是指一組數(shù)據(jù)的集合,其中的每個(gè)數(shù)據(jù)被稱(chēng)作元素,在數(shù)組中可以存放任意類(lèi)型的元素。數(shù)組是一種將一組數(shù)據(jù)存儲(chǔ)在...
    星河啊啊啊啊閱讀 320評(píng)論 0 0
  • 數(shù)組 數(shù)組是指一組數(shù)據(jù)的集合,其中的每個(gè)數(shù)據(jù)被稱(chēng)作元素,在數(shù)組中可以存放任意類(lèi)型的元素。數(shù)組是一種將一組數(shù)據(jù)存儲(chǔ)在...
    __method__閱讀 784評(píng)論 0 5
  • 數(shù)組 數(shù)組是指一組數(shù)據(jù)的集合,其中的每個(gè)數(shù)據(jù)被稱(chēng)作元素,在數(shù)組中可以存放任意類(lèi)型的元素。數(shù)組是一種將一組數(shù)據(jù)存儲(chǔ)在...
    王希杰閱讀 213評(píng)論 0 0
  • 數(shù)組 數(shù)組是指一組數(shù)據(jù)的集合,其中的每個(gè)數(shù)據(jù)被稱(chēng)作元素,在數(shù)組中可以存放任意類(lèi)型的元素。數(shù)組是一種將一組數(shù)據(jù)存儲(chǔ)在...
    淺瞳_e42e閱讀 656評(píng)論 0 0
  • 數(shù)組 數(shù)組是指一組數(shù)據(jù)的集合,其中的每個(gè)數(shù)據(jù)被稱(chēng)作元素,在數(shù)組中可以存放任意類(lèi)型的元素。數(shù)組是一種將一組數(shù)據(jù)存儲(chǔ)在...
    狂奔的小烏錐閱讀 102評(píng)論 0 0

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