day24-Javascript-1
一、認(rèn)識js
1.什么是js
- js是javascript的縮寫,是web標(biāo)準(zhǔn)中的行為標(biāo)準(zhǔn),負(fù)責(zé)頁面上內(nèi)容的變化
2.js代碼寫在哪
- 1)寫在標(biāo)簽的事件相關(guān)屬性中
- 2)寫在script標(biāo)簽中,script標(biāo)簽可以出現(xiàn)在html中的任何位置
- 3)將js代碼寫在js文件中,然后在html中通過script標(biāo)簽來導(dǎo)入
- 注意:如果script標(biāo)簽作用是導(dǎo)入外部js,那么就不能在這個(gè)標(biāo)簽中再去寫js代碼
3.js能做什么
- 1)修改或者獲取標(biāo)簽中的內(nèi)容
- 2)修改標(biāo)簽的樣式
- 3)修改標(biāo)簽的屬性值
- 4)在網(wǎng)頁中插入標(biāo)簽
二、js基礎(chǔ)語法1
1.注釋
-
//單行注釋 -
/**/多行注釋
2.標(biāo)識符
- 由字母、數(shù)字、下劃線和$組成
- 數(shù)字不能開頭
- 不能是關(guān)鍵字,js中大小寫敏感
- 關(guān)鍵字就是js有特殊意義的或功能的標(biāo)識符;例如var,let,for,while,function等等...
- 注意:一般命名的時(shí)候不使用$
3.語句
- 一般一條語句占一行,一行結(jié)束后可以寫分號也可以不寫。如果一行寫多條語句,語句之間必須寫分號
- js中沒有行和縮進(jìn)的要求
4.輸出函數(shù)
console.log()相當(dāng)于python中的print()
5.常見的數(shù)據(jù)類型
- 數(shù)字、字符串、布爾、數(shù)組、函數(shù)、對象
- 數(shù)字(Number):所有的數(shù)字,包括整數(shù)、小數(shù)、整數(shù)、負(fù)數(shù)
- 字符串(String):所有的字符串,用單引號或雙引號引起來的字符集,字符編碼采用的是Unicode,也支持轉(zhuǎn)義字符和編碼字符,不支持python中的r/R語法
- 布爾(Boolean):只有true和false兩個(gè)值
- 數(shù)組(Array):相當(dāng)于python中的列表,[元素1,元素2,...]
- 對象:相當(dāng)于python中字典和對象的結(jié)合
6.類型轉(zhuǎn)換
- 類型名(數(shù)據(jù))/parseFloat():將數(shù)據(jù)轉(zhuǎn)換成小數(shù)/parseInt():將數(shù)據(jù)轉(zhuǎn)換成整數(shù)
- typeof(數(shù)據(jù))
三、變量
1.聲明變量
- 1)語法1:變量名 = 值
- 不管在什么位置聲明,這個(gè)變量從聲明開始到文件結(jié)束都可以用
- 2)語法2:var 變量名 = 值 / var 變量名
- 如果聲明在函數(shù)中,那么只能在函數(shù)中使用;聲明在函數(shù)外面,聲明開始到文件結(jié)束都可以用
- 3)語法3:let 變量名 = 值 / let 變量名
- 只要聲明在{}中,出了{(lán)}就不能使用;聲明在{}外面,聲明開始到文件結(jié)束都可以用
- js采用駝峰式命名
2.聲明常量
- 變量中保存的值可以修改;常量中保存的數(shù)據(jù)不能修改
- const 常量名 = 值
- 聲明常量的時(shí)候必須有初始值
四、運(yùn)算符
1.js中的運(yùn)算符
- js中支持運(yùn)算符有:數(shù)學(xué)、比較、邏輯、賦值運(yùn)算符、(位運(yùn)算)
- 1)數(shù)學(xué)運(yùn)算符:
+,-,*,/,%,**(和python一樣);以及++,--++:自加1/--:自減1;變量++、++變量/變量--、--變量
- 2)比較運(yùn)算符:
>,<,<=,>=,==,!=,===,!==- 比較大小和python用法一樣
-
==/!=:比較值是否相等,但是不管類型 -
===、!==:比較是否完全相等,和python一樣
- 注意:js中不支持比較運(yùn)算符的連續(xù)寫法來表示范圍
- 3)邏輯運(yùn)算符:邏輯與(&&)、邏輯或(||)、邏輯非(!)
- 運(yùn)算規(guī)則和python一樣
- 4)賦值運(yùn)算符:
=,+=,-=,*=,/=,%=,**=- 和python用法一樣
- 5)運(yùn)算順序:也和python一樣
五、分支和循環(huán)
1.分支結(jié)構(gòu):if和switch
- 1)if語句
if(條件語句){滿足條件需要執(zhí)行的代碼段}if(條件語句){代碼段1}else{代碼段2}if(條件語句1){代碼段1}else if(條件語句2){代碼段2}else{代碼段3}
- 2)switch語句
switch(表達(dá)式){case 值1:代碼段1 case 值2:代碼段2 default:代碼段3}
2.循環(huán)結(jié)構(gòu):for和while
- 1)js中和python一樣的for循環(huán):執(zhí)行過程也和python一樣,區(qū)別是變量取到的不是序列元素而是元素對應(yīng)的索引(可能是下標(biāo))
for(變量 in 序列){循環(huán)體}
- 2)C中的for循環(huán)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體}
- 3)js中和python一樣的while循環(huán)
while(條件語句){循環(huán)體}
- 4)C中的do-while語句
do{循環(huán)體}while(條件語句)
六、字符串
1.js中的字符串
- 1)獲取字符
- a.獲取單個(gè)字符:字符串[下標(biāo)]
- 注意:下標(biāo)范圍0~字符串長度-1;如果下標(biāo)越界不報(bào)錯,但結(jié)果是underfined
- b.切片:
字符串.slice(開始下標(biāo),結(jié)束下標(biāo)) - c.遍歷:通過循環(huán)遍歷
- 2)相關(guān)運(yùn)算
- +:拼接成新的字符串
- 注意:字符串可以和任何的數(shù)據(jù)相加,功能是字符串拼接
- *:js中字符串不支持乘法運(yùn)算;沒有in和not in
- 獲取字符串長度:
字符串.length - 轉(zhuǎn)字符串:String(數(shù)據(jù))-所有的數(shù)據(jù)都可以轉(zhuǎn)換成字符串
- 3)字符串相關(guān)方法
七、數(shù)組
1.數(shù)組相等于python中的列表
- 1)查:獲取數(shù)組元素
- 獲取單個(gè)元素:
數(shù)組[下標(biāo)]、數(shù)組.slice(下標(biāo)范圍) - 遍歷:通過循環(huán)遍歷取值
- forEach(函數(shù)):獲取每個(gè)元素
- 獲取單個(gè)元素:
- 2)增
數(shù)組.push(元素)-
數(shù)組.splice(下標(biāo),0,元素):在指定的下標(biāo)前插入指定元素
- 3)刪
-
數(shù)組.pop():刪除最后一個(gè)元素,并返回 -
數(shù)組.shfit():刪除第一個(gè)元素,并返回 -
數(shù)組.splice(下標(biāo),個(gè)數(shù)):從指定下標(biāo)開始,刪除指定個(gè)數(shù)的元素
-
- 4)改
- 數(shù)組[下標(biāo)] = 值