一 JS介紹
1.1 寫入位置
行內(nèi),內(nèi)部script標(biāo)簽內(nèi),外部js文件內(nèi)
1.2 輸入輸出語句
輸出語句
alert()
document.write()
console.log()
輸入語句
prompt()
二 變量
let var【被淘汰】
區(qū)分大小寫
三 常量
const
四 基礎(chǔ)數(shù)據(jù)類型
4.1 數(shù)字類型number
typeof
NaN 【not a number 】,不是一個數(shù)字,但是是數(shù)字類型
4.2 字符串類型string
模版字符串
使用反引號,${變量名}:console.log(`${name}今年${age}歲了`)
字符串截取:substring(idx1,idx2?),idx是索引,左閉右開,右可選
4.3 布爾類型boolean
4.5 未定義類型undefined
申明變量未賦值
4.6 空類型null
null賦值了,但是是空值,無,typeof返回object,但是它是基本數(shù)據(jù)類型,此時判斷是個bug,null通常是給對象賦值的
undefined未賦值
五 運(yùn)算符
5.1 算術(shù)運(yùn)算符
5.2 賦值運(yùn)算符
5.3 自增自減運(yùn)算符
5.4 比較運(yùn)算符
5.5 邏輯運(yùn)算符
5.5 運(yùn)算符優(yōu)先級
六 類型轉(zhuǎn)換
6.1 顯示轉(zhuǎn)換
轉(zhuǎn)換為數(shù)字型
Number(數(shù)據(jù))
parseInt(數(shù)據(jù))
parseFloat(數(shù)據(jù))
注:特殊轉(zhuǎn)換:boolean:true ->1;false->0; null->0;undefined->NaN
轉(zhuǎn)換為字符型
String(數(shù)據(jù))
變量.toString(進(jìn)制)
轉(zhuǎn)化為布爾值
Boolean(數(shù)據(jù))
注:轉(zhuǎn)換為false:0,false,undefined,null,NaN,'', ' '
6.2 隱式轉(zhuǎn)換
轉(zhuǎn)換為數(shù)字
算術(shù)運(yùn)算符,比較運(yùn)算符,+號可以作為正號把字符串轉(zhuǎn)換為數(shù)字
轉(zhuǎn)換為字符串
+加號字符串拼接
轉(zhuǎn)換為布爾值
!邏輯非
七 語句
7.1 分支
if
三元運(yùn)算符
switch
斷點(diǎn)調(diào)試-chrome調(diào)試工具
7.2 循環(huán)
while循環(huán)
for循環(huán)
循環(huán)嵌套
八 數(shù)組
8.1 定義
數(shù)組屬于引用數(shù)據(jù)類型,單個變量下存儲多個數(shù)據(jù)
let 數(shù)組名= [數(shù)據(jù)1,數(shù)據(jù)2,。。。,數(shù)據(jù)n]
8.2 數(shù)組的基本使用
數(shù)組取值: 數(shù)組名[索引]
遍歷:for
數(shù)組的長度:數(shù)組名.length
8.3 數(shù)組操作
查詢:數(shù)組名[索引],沒查到返回undefined
修改:數(shù)組名[索引],索引不存在會加一個數(shù),然后中間很多空索引
新增元素:
數(shù)組.push(數(shù)據(jù)),數(shù)據(jù)可以是多個,尾部添加
數(shù)組.unshift(數(shù)據(jù)),數(shù)據(jù)可以是多個,頭部添加
刪除元素:
數(shù)組.pop()
數(shù)組.shift()
數(shù)組.splice(開始位置索引,刪除幾個[可選不寫,全刪],[可選]新增1,[可選]新增2。。。),可以添加也可以刪除元素。
數(shù)組排序
數(shù)組.sort(function(a,b){ return a-b}) 升序
數(shù)組分割
數(shù)組.join(分割符號), let arr=['a','b'] ,arr.join('')結(jié)果是ab,默認(rèn)是“,”分割
數(shù)組遍歷:
數(shù)組.forEach(function(item,index){}),function是回調(diào)函數(shù),item是數(shù)組每個元素,index是索引
數(shù)組.map(function(數(shù)組每一項(xiàng),數(shù)組索引){ return newEle}),遍歷數(shù)組,并且返回個新數(shù)組,拼接數(shù)組用map+join
九 函數(shù)-function
函數(shù)是可以被重復(fù)使用的代碼塊,利于代碼復(fù)用
9.1 函數(shù)的基本使用
定義函數(shù): function 函數(shù)名(參數(shù)1,參數(shù)2.。。。){ return 結(jié)果}
調(diào)用函數(shù):函數(shù)名()
參數(shù):形參默認(rèn)值是undefined,實(shí)參多傳了不用,實(shí)際開發(fā)中盡量保持一致
9.2 邏輯中斷
false && anything 左側(cè)為真,返回右側(cè)。 true && 20 結(jié)果是20,不是Java中的boolean值
true || anything 左側(cè)為假,返回右側(cè)。false || 20 結(jié)果是20,不是Java中的boolean值
邏輯中斷解決默認(rèn)參數(shù)問題
function getSum(x,y){ x = x || 0 y = y || 0 return x+y }
9.3 函數(shù)返回值
沒有return,默認(rèn)返回的是undefined;return 后面不能換行
9.4 作用域
如果函數(shù)內(nèi)部的變量沒有聲明,直接賦值,則是隱式全局變量,盡量不要這么用
9.5 變量的訪問原則
就近原則
9.6 匿名函數(shù)
function (){}
匿名使用方式:
函數(shù)表達(dá)式:將匿名函數(shù)賦值給一個變量,并且通過變量名稱進(jìn)行調(diào)用,我們將這個稱為函數(shù)表達(dá)式
let fn = function(){}
fn()
立即執(zhí)行函數(shù)(IIFE):(匿名函數(shù))(); (匿名函數(shù)()); 分號不能少
創(chuàng)建函數(shù)的方式:函數(shù)表達(dá)式,函數(shù)申明
十 對象
10.1 對象
對象,object,包含屬性和方法
對象.屬性
對象.方法名()
let pig = { uname:'xx', sing: function(){} }
pig.uname
pig.sing()
10.2 增刪查改
對象.屬性,對象['屬性名']
對象.屬性=新值
對象.新屬性=新值
delete 對象.屬性
10.3 遍歷對象
for in 循環(huán)
for( let 變量名 in 對象){
對象['變量名']
}
10.4 內(nèi)置對象
document,console,Math
js math mdn