您好,登錄后才能下訂單哦!
為什么會出現箭頭函數?
1.傳統的javascript函數語法并沒有提供任何的靈活性,每一次你需要定義一個函數時,你都必須輸入function () {},這至少會出現兩個問題,ES6箭頭函數都圓滿解決了它。
JavaScript 箭頭函數大致相當于 python 中的 lambda 函數 或 Ruby 中的 blocks。
這些是匿名函數,它們有自己的特殊語法,接受一定數量的參數,并在其封閉的作用域的上下文(即定義它們的函數或其他代碼)中操作。
JavaScript箭頭函數語法
1.沒有參數時
var demo = function(){ }
相當于:
var demo = () => { }
2.只有一個參數時
var demo = function(a){ return a; }
相當于:
var demo = a => a
3.多個參數需要用到小括號,參數間逗號間隔
var demo = function(a,b){ return a+b; }
相當于:
var demo = (a,b) => a+b
4 . 函數體多條語句需要用到大括號
var demo = function(a,b){if(a>b){ return a-b;} else{ return b-a; }}
相當于:
var demo = (a,b) =>{if(a>b){ return a-b;} else{ return b-a; }}
5 . 返回對象時需要用小括號包起來,因為大括號被占用解釋為代碼塊了
var demo = (name,age) =>{return ({ name: name, age: age })}
6 .作為數組排序回調
var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => { if (a - b > 0 ) { return 1 } else { return -1 }})
注意:
箭頭函數的確與傳統函數有不同之處,但仍存在共同的特點。
例如:
1.對箭頭函數進行typeof操作會返回“function”。
2.箭頭函數仍是Function的實例,故而instanceof的執行方式與傳統函數一致。
3.call/apply/bind方法仍適用于箭頭函數,但就算調用這些方法擴充當前作用域,this也依舊不會變化。
4.箭頭函數與傳統函數最大的不同之處在,禁用new操作
以上就是薈萃JavaScript箭頭函數語法小結的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。