今天是es6的一天;
1.let和const命令
作用域,命名規則,一般不要亂重複;變數提公升;要注意的就是這三個地方
用法還是一樣的,只是說應該更注意作用域和變數的宣告
1.函式作用域(var)和塊級作用域(let,const)就是{} if for 這些{}都是塊級作用域
2.var是可重複定義的,let 和 const 是不可以的。 然後let是可以重新賦值的,而const一般宣告常量的。所以不能重新賦值的
3.引用型別的值,看來還得重新看一下資料型別了
4.settimeout(),是非同步的操作;就比如在乙個for迴圈中防乙個一秒之後才執行的函式。那麼for迴圈肯定會先執行完成。然後這個settimeout也會執行多次的
5.let解決for迴圈中值的問題的。
6.最後我怎麼用那個進行變數宣告呢?盡量使用const let 吧 在es6中少用var!var 會造成,變數提公升,命名重複,變數宣告賦值覆蓋的問題
2.箭頭函式
1.好處:不繫結this,隱式返回(只有乙個返回值的時候)它是匿名函式;匿名函式通常會把值給乙個變數
2.刪掉function關鍵字,多個引數逗號分隔
3.內建函式的this指向是window,而方法的指向是這個例項;當我們使用的箭頭函式就不用考慮這個問題了
4.然後呢有乙個經常的解決方式就是在他們之前定義let that = this; 然後引用這個that,然後現在我們只需要引用箭頭函式就可以忽略這個問題 改變this值的方式
5.在箭頭函式中,this會指向父級的作用域
6.函式引數的預設值,意思是當為undefined的時候,就用預設的值 a = a || 3;
7.es6中提供的引數預設值:(a=8,b=8) 呼叫的時候可以給不寫就是預設的,如果寫了b,但沒寫a。那麼要寫上a=undefined;
8.那些情況寫不允許使用箭頭函式的,箭頭函式式不會執行繫結的。如:var bul = getelementbyid(「id」) bul.addeventlistener('click',()=>)
在這裡這個this就不是bul這個物件了。用箭頭函式,就是說我不想用他自己帶的this的時候,就用箭頭函式,這樣這個箭頭函式的this就會指向外邊。使用物件就會涉及這個this,所以使用箭頭函式的時候要注意一點
這裡的兩個function都不允許
這個是第乙個函式的時候我們需要this,所以不能使用箭頭函式;第二個是,我們不需要使用定時器自己的this。所以可時候箭頭函式改變this的指向,讓它指向外部
這個array.from()是把這個變成乙個真的陣列()
array.from()
方法從乙個類似陣列或可迭代物件建立乙個新的,淺拷貝的陣列例項。
什麼時候不要使用箭頭函式:記住這兩種方式就好了,因為目前比較的能理解這兩種方式吧:1.建立例項的時候 2.想真的時候this的時候,就是想時候繫結的物件的時候
3.字串模板(也就是字串組合)
1.要用反引號擴起來,然後變數要用${}。
4.新增的字串方法
.startswith()
.endswith()
.includes()
.repeat()(字串重複的次數)
5.物件解構
回滾預設值,物件解構:能快速的從物件中獲取到我們的想要的屬性和值,然後也可以給變數重名,和給預設值。
6.陣列的解構
獲取陣列中多個值的方式
1.解構的時候陣列用的,物件用的是{}
2.交換變數的值
7.提供的迴圈方式
迴圈乙個陣列的幾種方式;
1.用for迴圈,但是比較繁瑣。2.然後是foreach()但是這個方法不能只用break就是不能終止 3.for(let index in fruits)(列舉法,會把所有的都列印出來)
都有缺陷,那麼es6站出來了,提供了新的迴圈
for in 改成 for of for (let fruits of fruits){} 這個直接獲得值,而不是像for in 獲取到的是index的值
所以以後是要使用這個for of 迴圈嗎?
8.promise簡介(非同步程式設計的承諾,反饋)
promise 出現的原因:當我有乙個需求,這個需求就是我先傳送乙個請求,然後以這個請求的資料為基礎,在傳送乙個請求
然後現在的問題是我後面的請求的先傳送了。所以會是undefined。這個ajax返回的循序是不定的
所以可以放在第乙個的**函式裡面;那問題來了,那很多個請求呢!怎麼辦。**函式呢?是不是**地獄
用這個axios操作這個promise。監聽事件 .then();等回饋之後執行下乙個
const users = axios.get('');//會返回乙個promise
users.then((res) => );//事件監聽,當他成功了.我們應該列印他的值
9.編寫自己的promise
axios就是promise自己的庫呀
10.promise的例項(將關聯的資料整合,然後返回)
與或非實習day22
今天早上也是es6的學習 有了promise物件,就可以將非同步操作以同步操作的流程表達出來,主要是監聽的,promise肯定會有返回的狀態。返回的函式吧resolved,rejected proxy重寫預設的操作,重新定義物件的一些預設方法 都是可以放正規表示式的,value.match 0 9 ...
與或非實習day07
今日份任務 1.git的練習 2.計算器的完成 從字面上看 git pull git clone 都有下拉的意思 從遠端伺服器獲取到乙個branch分支的更新到本地,並更新本地庫 git pull 相當於是從遠端獲取最新的版本並merge 合併 到本地 git pull 作用是,取回遠端主機某個分支...
day21 學習總結
string s new string 建立乙個空的字串序列 string s new string hello 建立乙個內容為 hello 的字串 string s hello 建立乙個內容為 hello 的字串 string s new string char chars 通過字元陣列建立乙個字...