1.普通函式和建構式的區別
回傳值型別的區別:
- 建構式是沒有回傳值型別的
- 普通函式是有回傳值型別的,即使函式沒有回傳值,回傳值型別也要寫上void
函式名的區別:
- 建構式的函式名必須要與類名一致,習慣首字母大寫
- 普通函式的函式名只要符合標識命名規則即可
呼叫方式的區別:
- 建構式是在創建物件的時候由new關鍵字呼叫的
- 普通函式是由我們使用物件呼叫的,一個物件可以呼叫多次普通函式
作用上的區別:
- 建構式用于初始化一個物件
- 普通函式用于描述一類事物的公共行為
2.箭頭函式與普通函式的區別
- 箭頭函式使用箭頭定義,普通函式中沒有
- 箭頭函式全都是匿名函式,普通函式可以有匿名函式,也可以有具名函式
- 箭頭函式不能用于建構式,普通函式可以用于建構式,以此創建物件實體
- 箭頭函式中this的指向背景關系,普通函式中this指向呼叫它的物件,如果用作建構式,指向創建物件的實體
- 箭頭函式不具有arguments物件,每一個普通函式呼叫后都具有一個arguments物件,用來存盤實際傳遞的引數,但是箭頭函式并沒有此物件
- 此外箭頭函式還不具有prototype原型物件,不具有super,不具有new.target
3.this的指向
- 出現在一般函式中或者全域作用域下,this指向window物件
- 出現在事件處理函式中,this指向的是觸發事件的元素
- 出現在物件的方法中,this指向該物件
- 出現在建構式中,this指向的是實體化物件
- 出現在定時器中,this指向window
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/385629.html
標籤:其他
