成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

箭頭函數(shù)的寫法特點

Rocko / 2980人閱讀

1、箭頭函數(shù)簡介

用 => 來標識

箭頭函數(shù)表達式的語法比函數(shù)表達式更簡潔,并且沒有自己的this,arguments,super或 new.target。這些函數(shù)表達式更適用于那些本來需要匿名函數(shù)的地方,并且它們不能用作構(gòu)造函數(shù)。

2、通常函數(shù)的定義方法
var fn1 = function(a, b){
  console.log(a + b);
};
fn1(1, 2); // 3

function fn2(a, b){
  console.log(a - b);
}
fn2(2, 1);//1
3、簡寫寫法
對應上面兩個
//刪掉了function
var fn11 = (a, b)=>{   
  console.log(a+b);
};
fn11(1, 2); // 3
//刪掉了function和函數(shù)名,無意義
(a,b)=>{  
  console.log(a-b)
}
4、基礎語法

附加規(guī)則

當函數(shù)參數(shù)只有一個時,可省略小括號,但沒有時,不能省略。

函數(shù)體(中括號)中有且只有一行return語句時,中括號和return關(guān)鍵字可以省略。

函數(shù)返回json對象,且只有一行return語句時,返回的簡寫要加小括號;如let add = a =>({"a":2})

    (參數(shù)1, 參數(shù)2, …, 參數(shù)N) => { 函數(shù)聲明 }
    
    //相當于:(參數(shù)1, 參數(shù)2, …, 參數(shù)N) =>{ return 表達式; }
    (參數(shù)1, 參數(shù)2, …, 參數(shù)N) => 表達式(單一)
    
    // 當只有一個參數(shù)時,圓括號是可選的:
    (單一參數(shù)) => {函數(shù)聲明}
    單一參數(shù) => {函數(shù)聲明}
    
    // 沒有參數(shù)的函數(shù)應該寫成一對圓括號。
    () => {函數(shù)聲明}

        var add = function(a,b){
          return a+b;
        };
        // 即:
        var add = (a,b)=>{
          return a+b
        };
        // 即:
        var add = (a,b)=>a+b;
        ---------------------------------------------------------------------------------------
        var ret = function(a){
          return a+1;
        };
        // 即:
        var ret = a=>a+1;
        ---------------------------------------------------------------------------------------
        var non = function(){
          return 2+1;
        };
        // 即
        var non = ()=>2+1;
        函數(shù)體代碼多于一行
        let fun1 = function(){
          console.log("1");
          console.log("2");
          return 1+2;
        }
        fun1();
        // 簡寫為
        let fun2 = ()=>{
          console.log("1");
          console.log("2");
          return 1+2
        }
        fun2();
       函數(shù)返回json對象時
        let f1 = function(){
          return {"a":2};
        }
        let f2 = ()=>{"a":2} // 錯誤
        let f2 = ()=>({"a":2})
        如果要返回一個對象,就要注意,如果是單表達式,這么寫的話會報錯:
        x => { foo: x }
        因為和函數(shù)體的{ ... }有語法沖突,所以要改為:
        // ok:
        x => ({ foo: x })
        實例
        let arr1 = [9,6,1,7];
        let arr11 = arr1.sort(
          function(a,b){
            return a-b;
          }  
        )
        console.log(arr11);
        let arr3= [2,3,9,5];
        let arr33 = arr3.sort((a,b)=>a-b)
        console.log(arr33)
5、總結(jié)

箭頭函數(shù)看上去是匿名函數(shù)的一種簡寫,但實際上,箭頭函數(shù)和匿名函數(shù)有個明顯的區(qū)別:箭頭函數(shù)內(nèi)部的this是詞法作用域,由上下文確定。

箭頭函數(shù)寫代碼擁有更加簡潔的語法。

不會綁定this,或者說箭頭函數(shù)中 不會改變this本來的綁定。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104852.html

相關(guān)文章

  • ES6指北【2】—— 箭頭函數(shù)

    摘要:箭頭函數(shù)基本語法函數(shù)語法具名函數(shù)匿名函數(shù)三句話第一句話聲明第二句話聲明匿名函數(shù)第三句話把匿名函數(shù)賦值給箭頭函數(shù)語法特點只能做賦值,不能做聲明第一種寫法完全寫法不省略參數(shù)個數(shù),不省略函數(shù)體花括號參數(shù)個數(shù)函數(shù)體內(nèi)語句個數(shù)第二種寫法省略參數(shù)括號參 1.箭頭函數(shù)基本語法 1.1 ES3 函數(shù)語法 // 具名函數(shù) function xxx(arg1, arg2) { console.lo...

    DobbyKim 評論0 收藏0
  • ES6—箭頭函數(shù)(5)

    摘要:因為它不產(chǎn)生屬于它自己上下文的箭頭函數(shù)的另一個用處是簡化回調(diào)函數(shù)。箭頭函數(shù)使用場景箭頭函數(shù)適合于無復雜邏輯或者無副作用的純函數(shù)場景下,例如用在的回調(diào)函數(shù)定義中,另外目前等庫,都大量使用箭頭函數(shù),直接定義的情況已經(jīng)很少了。 0.為什么會出現(xiàn)箭頭函數(shù)? 1.傳統(tǒng)的javascript函數(shù)語法并沒有提供任何的靈活性,每一次你需要定義一個函數(shù)時,你都必須輸入function () {},這至少...

    yanwei 評論0 收藏0
  • ES6對函數(shù)改動

    摘要:改動函數(shù)的改變不算太大,都是一些其他語言早就有的功能,而一直比較欠缺的,比如函數(shù)參數(shù)默認值,任意參數(shù)的表示法,最大的變化應該是支持箭頭函數(shù)其他語言稱之為表達式,一種對匿名函數(shù)的一種簡寫方式,以下來探討一下函數(shù)在中的一些改變默認參數(shù)任意參數(shù)操 ES6 functions改動 ????ES6函數(shù)的改變不算太大,都是一些其他語言早就有的功能,而Javascript一直比較欠缺的,比如函數(shù)參數(shù)...

    kk_miles 評論0 收藏0
  • 什么是 JAVASCRIPT?

    摘要:,微軟發(fā)布,同時發(fā)布了,該語言模仿同年發(fā)布的。,公司在瀏覽器對抗中沒落,將提交給國際標準化組織,希望能夠成為國際標準,以此抵抗微軟。同時將標準的設想定名為和兩類。,尤雨溪發(fā)布項目。,正式發(fā)布,并且更名為。,發(fā)布,模塊系統(tǒng)得到廣泛的使用。 前言 作為程序員,技術(shù)的落實與鞏固是必要的,因此想到寫個系列,名為 why what or how 每篇文章試圖解釋清楚一個問題。 這次的 why w...

    ephererid 評論0 收藏0
  • ES6學習手稿之基本類型擴展

    摘要:它是一個通用標準,奠定了的基本語法。年月發(fā)布了的第一個版本,正式名稱就是標準簡稱。結(jié)語的基本擴展還有一些沒有在這里詳細介紹。 前言 ES6標準以及頒布兩年了,但是,好像還沒有完全走進我們的日常開發(fā)。這篇文章從ES6的基本類型擴展入手,逐步展開對ES6的介紹。 ECMAScript和JavaScript JavaScript是由Netscape創(chuàng)造的,該公司1996年11月將JavaSc...

    tommego 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<