變數宣告
let
1.區域性變數,只能在區域性呼叫
2.不能重複宣告
3.不會提升變數 console.log(a); let a; const
1.宣告一個常數
2.宣告必須賦值
3.不能被修改
4.變數名建議大寫,如: const PI = 3.14
變數型別
數據型別
1.數位: number
2.字串: String
3.布爾型別: true 和 false
4.未定義: undefined 參照型別
1.陣列: array
2.物件: object
3.空: null
4.函數 : function
5.集合: Set
6.鍵值對: Map
結構
陣列
1預設 [a,b] = [100,900] 2互動變數 [a,b] = [b,a]
3.忽略 [a,b] = [1,3,5]
4.剩餘值 [a,…rest] = [4,6,8,10]
5.預設值 [a,b=25] = [8]
6.複製(淺拷貝) var arr = [1,3,5] var arr2 = […arr]
物件
順序結構: var str = {name:‘蘇蘇未蘇蘇’,age:18,sex:‘男’} var {name,age}=str
剩餘值: {name,…rest} = obj 預設值: {name = ‘哈嘍’} = obj 複製: let obj2 =
{…obj}
字串
let [a,b,c,d] = 「鄭州奇酷」 a 鄭
陣列高階方法
filter 過濾 返回一個新陣列 如果返回true,當前元素被保留, 否則被過濾
forEach 遍歷 遍歷陣列
map 對映
返回和原數據一一對應的新陣列 reduce 累計 a,b兩個參數,a是上一次返回的結果
every 判斷條件,若都滿足條件返回true,否者返回false
some 判斷條件,若其中之一滿足 條件,返回true,否則返回false
重複使用repeat
箭頭函數
參數 => 函數體 =>前 函數的參數 =>後 函數的執行語句 var arr1 = [‘我’,‘愛’,‘J’,‘S’];
arr1.forEach(item=>console.log(item)); 如果有多個參數,用()包起來 var arr =
[1,2,3,4]; var ret = arr.reduce((a,b)=>a*2+b); console.log(ret);
函數體只有一句,執行的結果就是返回值 多條語句用{}包裹,return返回 如果return物件: return({})
箭頭函數的this指向上一層作用域中的 this物件
set
new Set([])去重
size 長度
add() 新增
delete() 刪除
clear() 清空
for of 變數
has() 檢測是否含有 特點,不重複 特點: 1.有序
2.key可以是任意值
map
特點:
1.有序
2.key可以是任意值 new Map([k,v],[])
size 長度
set(k,v) 設定
get (k) 獲取
has() 檢測是否含有
clear() 清除
for of 遍歷
apply
執行函數,物件冒充,參數陣列 function add(x,y){ console.log(this,x+y) }
add.apply({name:「mumu」},[3,7]) {name:「mumu」},10
call
執行函數,物件冒充,參數1個 add.apply({name:「mumu」},3,7) {name:「mumu」,10}
bind
建立函數,物件冒充,參數預設值
var nadd = add.bind({name:「zql」},5)
nadd(10)
輸出結果:{name:「zql」},15
類
定義 class Cat{ constructor(){} }
初始化類 new Cat()
繼承 class Cat extends Animal{}
方法 brak(){}
屬性 this.name = 「西」
存取控制 set Age(val){} get Age(){}
呼叫父類別建構函式 super()
靜態方法 static sayLog(){} Cat.sayLog()
靜態屬性 static num = 0; Cat.num
、
、
(未完待續)