摘要:普通函數里代表了調用時傳入的參數,但是箭頭函數不然,箭頭函數會把當成一個普通的變量,順著作用域鏈由內而外地查詢。不能被箭頭函數不能與關鍵字一起使用,會報錯。
語法
具有一個參數的簡單函數
var single = a => a single("hello, world") // "hello, world"
沒有參數的需要用在箭頭前加上小括號
var log = () => { alert("no param") }
多個參數需要用到小括號,參數間逗號間隔,例如兩個數字相加
var add = (a, b) => a + b add(3, 8) // 11
函數體多條語句需要用到大括號
var add = (a, b) => { if (typeof a == "number" && typeof b == "number") { return a + b } else { return 0 } }
返回對象時需要用小括號包起來,因為大括號被占用解釋為代碼塊了
var getHash = arr => { // ... return ({ name: "Jack", age: 33 }) }
直接作為事件handler
document.addEventListener("click", ev => { console.log(ev) })
作為數組排序回調
var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => { if (a - b > 0 ) { return 1 } else { return -1 } }) arr // [1, 2, 3, 4, 8, 9]特性
this:用function生成的函數會定義一個自己的this,而箭頭函數沒有自己的this,而是會和上一層的作用域共享this。
apply & call:由于箭頭函數已經綁定了this的值,即使使用apply或者call也不能只能起到傳參數的作用,并不能強行改變箭頭函數里的this。
arguments:普通函數里arguments代表了調用時傳入的參數,但是箭頭函數不然,箭頭函數會把arguments當成一個普通的變量,順著作用域鏈由內而外地查詢。
不能被new:箭頭函數不能與new關鍵字一起使用,會報錯。
typeof運算符和普通的function一樣:
var func = a => a console.log(typeof func); // "function"
instanceof也返回true,表明也是Function的實例:
console.log(func instanceof Function); // true
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86297.html
摘要:特性介紹箭頭函數是新增的特性之一,它為這門語言提供了一種全新的書寫函數的語法。用生成的函數會定義一個自己的,而箭頭函數沒有自己的,而是會和上一層的作用域共享。 本文同步自我得博客:http://www.joeray61.com JS中的箭頭 箭頭在JS里并不算是個新鮮的玩意兒,一直以來,JS都支持-->這樣的箭頭。 很早的時候有些瀏覽器還不支持JS,當時的人們為了兼容這些瀏覽器,需要這...
摘要:因為箭頭函數本身沒有所以不可以當作構造函數,也就是說,不可以使用命令,否則會拋出一個錯誤。箭頭函數不可以使用對象,該對象在函數體內不存在。 es6學習筆記-箭頭函數_v1.0 箭頭函數使用方法 var f = v => v; //普通函數配合箭頭函數寫法,這里并且是傳參的 //相當于 var f = function(v) { return v; }; /*-----------...
摘要:但是有了尾調用優化之后,遞歸函數的性能有了提升。常被用來檢查對象中是否存在某個鍵名,集合常被用來獲取已存的信息。循環解構對象本身不支持迭代,但是我們可以自己添加一個生成器,返回一個,的迭代器,然后使用循環解構和。 一、let和const 在JavaScript中咱們以前主要用關鍵var來定義變量,ES6之后,新增了定義變量的兩個關鍵字,分別是let和const。對于變量來說,在ES5中...
摘要:錯誤的寫法錯誤的寫法中的構造函數新增了支持默認參數和不定參數。箭頭函數的簡單理解箭頭函數的左邊表示輸入的參數,右邊表示輸出的結果。但是有了尾調用優化之后,遞歸函數的性能有了提升。 作為前端切圖仔,越發覺得自己離不開函數了。 說到JavaScript函數,腦子里都是匿名函數、普通函數、閉包函數、構造函數......然后還能說出一大堆函數的概念。如果你達到這個水平,那么函數對你來說沒有難度...
閱讀 1751·2021-09-23 11:34
閱讀 2472·2021-09-22 15:45
閱讀 12821·2021-09-22 15:07
閱讀 2221·2021-09-02 15:40
閱讀 4107·2021-07-29 14:48
閱讀 1071·2019-08-30 15:55
閱讀 3245·2019-08-30 15:55
閱讀 2190·2019-08-30 15:55