與或非實習day21

2022-08-21 10:36:10 字數 3885 閱讀 1883

今天是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 通過字元陣列建立乙個字...