JS基本語法
? ? ? ?學習一門語言最首要的任務那當然就是它的語法啦错森!當然我也不例外了,那我就來總結一下我今天所學到的JS語法弓颈。(可以用瀏覽器的控制臺實驗)
一帽芽、表達式
表達式:表達式一般有值
例如:
1+1表達式的值為2
add(1,2)表達式的值為函數(shù)的返回值
console.log表達式的值為函數(shù)本身
console.log(3)表達式的值為undefined(打印出的文字為3)
二、語句
語句:語句一般會改變環(huán)境 (聲明翔冀、賦值)导街,語句可能有值也可能沒有值
例:var? a = 1 是一個聲明、賦值語句
三纤子、大小寫敏感
JavaScript 的變量名區(qū)分大小寫搬瑰,A和a是兩個不同的變量
例:var a? 和? var A? | |? object 和 Object??| | function 和 Function 都是不同的
四、標識符的規(guī)則(?用來識別各種值的合法名稱?)
(1)第一個字符控硼,可以是任意 Unicode 字母(包括英文字母和其他語言的字母)泽论,以及美元符? ? ? ? ? ? ? ? ?號($)和下劃線(_),不能是數(shù)字。
? ? ? ? ?第二個字符及后面的字符象颖,除了 Unicode 字母佩厚、美元符號和下劃線,還可以用數(shù)字0-9
例:var? _= 1? ? ? ? ?var? $ = 2? ? ? ? ? var 你好 = 'hi'
(2)空格说订、回車:大部分空格和回車都沒有實際意義(只要不影響斷句,對代碼作用沒影響)
? ? ? ? 但是潮瓶,return后面不能加回車陶冷,否則JS自動返回undefined
五、注釋
注釋符://或/**/?
只寫踩坑注釋或代碼原因的注釋
六毯辅、if else語句
最好的寫法就是最沒有歧義的寫法
語法:if(表達式){語句1}else{語句2}?
在{}里的語句只有一句時{}可以省略(不建議)
例:
a = 1
if(a === 2)
console.log('a')
console.log('a 等于2')
執(zhí)行結果為 :a 等于2埂伦,原因:在if語句沒有{}的情況下,只執(zhí)行離他最近的語句
a = 1
if(a === 2)
console.log('a')思恐,console.log('a 等于2')
執(zhí)行結果為undefined沾谜,原因:逗號表示語句未結束
函數(shù)的if return
function fn(){
if(表達式){return表達式}
}
七、switch語句
switch(a){
case:1:
case:4:
console.log('單數(shù)');
break;
}? 注:break必須寫
八胀莹、while for 語句
例:
var i = 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var a = 0.1
while (i<10){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while (a!==1){
console.log (i)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(a)? ?
i=i+1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a=a+0.1
}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
打印出 i=9 基跑;while沒有返回值? ? ? ? ? ? ? ? ? ? 死循環(huán),原因是浮點數(shù)不精確
for循環(huán)
例:
for (var i=0; i<5;i++){
console.log(i)
} 打印出i=5 原因:執(zhí)行順序 1=0 —>? ?i<5? ?—>??console.log(i)???—>i++??
for (var i=0; i<5;i++){
setTimeout (()=>{console.log(i)})
}注:延遲執(zhí)行描焰,打印出i=5媳否,共5次, 原因:setTimeout在循環(huán)體內部,每一次執(zhí)行都會延遲打印
for (var i=0; i<5;i++){}
setTimeout (()=>{console.log(i)})
注:打印出1=5(一次)原因:setTimeout在循環(huán)體外部篱竭,循環(huán)體執(zhí)行完后才延遲打印
九力图、break?
break:退出當前所有循環(huán)
注:當break當前循環(huán)體外還有一層循環(huán)體時,只跳出當前循環(huán)體掺逼,再執(zhí)行外層循環(huán)體
for (var i=0; i<10;i++){
if? (i%2===1){break}
else{console.log(i)}
} 打印出 i=1
十吃媒、continue
continue:退出當前一次循環(huán),下一次滿足再執(zhí)行
例:
for (var i=0; i<10;i++){
if? (i%2===1){continue}
else{console.log(i)}
} 打印出 i 的值為 0,2,4,6,8
十一吕喘、問號冒號表達式
語法:表達式1赘那? 表達式2:表達式3
例:
function max(a,b){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??function max(a,b){
return a>b? a:b? ? ? ? ? ? ? ? ? ===>? ? ? ? ? ? ? ? ? ?if(a>b)? ?return a;
}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else return b;}
十二、&&短路邏輯(與)
A&&B&&C&&D 取第一個假值兽泄,都為真取最后一個真值(不會取true/false)
例:
window.f1? &&? conse.log('f1存在')? ?===>? ?if(window.f1){?conse.log('f1存在')}
十三漓概、|| 短路邏輯(或)
A||B||C||D取第一個真值(不會取true/false)
例:
a = a || 100? ? ? ? ====>? if(a){a=a}else{a=100}? ?注:a=100為保底值
結語:以上內容就是我今天課程的所有總結了,有用的話點個贊再走哦病梢!