国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

匿名/箭頭函數(shù),立即執(zhí)行函數(shù)IIFE;函數(shù)聲明式和函數(shù)表達式

這篇具有很好參考價值的文章主要介紹了匿名/箭頭函數(shù),立即執(zhí)行函數(shù)IIFE;函數(shù)聲明式和函數(shù)表達式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

匿名/箭頭函數(shù):簡潔

繼承上一層作用域鏈的this

不綁定arguments,用rest參數(shù)

?rest 參數(shù):...真正的數(shù)組

因為沒有function聲明,所以沒有原型prototype,所以不能作為構(gòu)造函數(shù)

當函數(shù)體只有一句時,可省 return ,?{}

IIFE:()()(立即調(diào)用函數(shù)表達式)/自執(zhí)行匿名函數(shù)

函數(shù)定義方式

A.函數(shù)聲明:function變量提升

B.函數(shù)表達式:const暫時性死區(qū)

應(yīng)用:React

this:組件實例

bind:constructor、標簽

()=>:calss、標簽


匿名/箭頭函數(shù):簡潔

繼承上一層作用域鏈的this

不綁定arguments,用rest參數(shù)

?rest 參數(shù):...真正的數(shù)組

function sum(...numbers) {
  let total = 0;
  for (let number of numbers) {
    total += number;
  }
  return total;
}

console.log(sum(1, 2, 3)); // 輸出 6

因為沒有function聲明,所以沒有原型prototype,所以不能作為構(gòu)造函數(shù)

當函數(shù)體只有一句時,可省 return ,?{}

const fun = () => "S";
console.log(fun());// "S"
console.log((() => "S")());// "S"
console.log(() => "S");// () => "S"

IIFE:()()(立即調(diào)用函數(shù)表達式)/自執(zhí)行匿名函數(shù)

  1. 第一部分是一個具有詞法作用域的匿名函數(shù),并且用圓括號運算符?()?運算符閉合起來。這樣不但阻止了外界訪問 IIFE 中的變量,而且不會污染全局作用域。
  2. 第二部分創(chuàng)建了一個立即執(zhí)行函數(shù)表達式?(),通過它,JavaScript 引擎將立即執(zhí)行該函數(shù)。
(function () {
  // …
})();

(() => {
  // …
})();

(async () => {
  // …
})();

函數(shù)定義方式

A.函數(shù)聲明:function變量提升

類內(nèi)function不用function聲明,但也可變量提升

? ?function add(x, y) {
? ? ?return x + y;
? ?}

B.函數(shù)表達式:const暫時性死區(qū)

const、let、calss不會提升

? ?const add = function(x, y) {
? ? ?return x + y;
? ?};

應(yīng)用:React

this:組件實例

無論時類組件還是函數(shù)組件,都是用箭頭函數(shù)表達式避免this問題

bind:constructor、標簽
()=>:calss、標簽

匿名/箭頭函數(shù),立即執(zhí)行函數(shù)IIFE;函數(shù)聲明式和函數(shù)表達式,ES重難點,react,開發(fā),javascript,前端,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-805871.html

import React, { Component } from 'react'; // 請確保導入 React 和 Component

class APP extends Component {
  constructor(props) {
    super(props);
    // 將 handleClick 方法綁定到組件實例的上下文
    this.handleClick5 = this.handleClick5.bind(this);
  }
  handleClick1(ev) {
    console.log(this);//undefined
    console.log(ev);//合成的SyntheticBaseEvent?
    console.log(ev.target);//button
  }
  //箭頭函數(shù)
  //方法A:類中箭頭
  handleClick2 = () => {
    console.log(this);//APP類組件實例
  }
  //方法B:onclick中箭頭
  handleClick3() {
    console.log(this);//APP類組件實例
  }
  // bind綁定組件實例this
  // 方法A:onclick
  handleClick4() {
    console.log(this);   //APP類組件實例
  }
  // 方法B:constructor
  handleClick5() {
    console.log(this); //APP類組件實例  
  }

  render() {
    return (
      <div>
        <button onClick={this.handleClick1}>點擊1</button>
        {/* 箭頭函數(shù) */}
        <button onClick={this.handleClick2}>點擊2</button>
        <button onClick={() => { this.handleClick3() }}>點擊3</button>
        {/* bind */}
        <button onClick={this.handleClick4.bind(this)}>點擊4</button>
        <button onClick={this.handleClick5}>點擊5</button>
      </div>
    );
  }
}

export default APP;

到了這里,關(guān)于匿名/箭頭函數(shù),立即執(zhí)行函數(shù)IIFE;函數(shù)聲明式和函數(shù)表達式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Go 基礎(chǔ)篇】Go語言匿名函數(shù)詳解:靈活的函數(shù)表達式與閉包

    【Go 基礎(chǔ)篇】Go語言匿名函數(shù)詳解:靈活的函數(shù)表達式與閉包

    在Go語言中,函數(shù)是一等公民,這意味著函數(shù)可以像其他類型的值一樣被操作、傳遞和賦值。匿名函數(shù)是一種特殊的函數(shù),它沒有固定的函數(shù)名,可以在代碼中被直接定義和使用。匿名函數(shù)在Go語言中具有重要的地位,它們常用于實現(xiàn)閉包、函數(shù)式編程和并發(fā)編程等領(lǐng)域。 本

    2024年02月11日
    瀏覽(38)
  • 【C#進階】C#中的委托、事件、回調(diào)函數(shù)、匿名函數(shù)和lambda表達式

    委托是一種類型,它可以存儲對一個或多個方法的引用。它類似于C/C++中的函數(shù)指針,允許您將方法作為參數(shù)傳遞、存儲和調(diào)用。 寫法: delegate return_type delegate_name( ); return_type :表示委托所引用方法的返回類型。 delegate_name :表示委托的名稱。 parameters :表示委托所引用方法

    2024年02月06日
    瀏覽(21)
  • vue3 setup中函數(shù)表達式和函數(shù)聲明

    隨著 Vue 3 中 Composition API 的引入,現(xiàn)在可以通過函數(shù)表達式和函數(shù)聲明這兩種方式聲明函數(shù)。 函數(shù)聲明是在非函數(shù)式編程語言中聲明函數(shù)的傳統(tǒng)或正常方式。以 function 開頭,后跟函數(shù)名稱、一對括號,最后是一對括住函數(shù)體的花括號。 這是一個例子: 函數(shù)聲明的一個

    2024年02月13日
    瀏覽(19)
  • 【C++】STL 算法 ② ( foreach 循環(huán)中傳入 函數(shù)對象 / Lambda 表達式處理元素 | foreach 循環(huán)算法 | Lambda 表達式 - 匿名 函數(shù)對象 / 仿函數(shù) )

    【C++】STL 算法 ② ( foreach 循環(huán)中傳入 函數(shù)對象 / Lambda 表達式處理元素 | foreach 循環(huán)算法 | Lambda 表達式 - 匿名 函數(shù)對象 / 仿函數(shù) )

    在 C++ 語言中 , std::foreach 循環(huán) 雖然 不是標準庫的一部分 , 但是 C ++ 編譯器 提供了對 該語法 的支持作為擴展 ; 使用 該 std::foreach 循環(huán) , 可以用于 遍歷 STL 標準模板庫 中提供的容器 , 如 vector 單端數(shù)組 , list 雙向鏈表 , map 映射 , set 集合 等 容器 中的元素 ; std::for_each 是一個算

    2024年02月02日
    瀏覽(45)
  • Js:變量類型,代碼塊,++前后區(qū)別,函數(shù)聲明/表達式,debuger調(diào)試,元素/event/window大小和位置

    Js:變量類型,代碼塊,++前后區(qū)別,函數(shù)聲明/表達式,debuger調(diào)試,元素/event/window大小和位置

    語法: 注意: 只有在js文件才可以自動補全 @param 。vue文件只會顯示 /** */ 上述注釋中 @description 和 @return 是自定義的代碼片段,快捷鍵 jsfn 作用: 在vue文件引入方法后,可以查看方法的注釋說明,規(guī)范代碼。 方法中變量快捷打印, 第一步選中方法的 變量 進行 復(fù)制 第二步

    2023年04月08日
    瀏覽(13)
  • 認識Vue;vue使用和安裝;聲明式和命令式編程;MVVM模型;data屬性;methods屬性

    認識Vue;vue使用和安裝;聲明式和命令式編程;MVVM模型;data屬性;methods屬性

    Vue (讀音 /vju?/,類似于 view) 是一套用于構(gòu)建用戶界面的漸進式 JavaScript框架。 全稱是Vue.js或者Vuejs; 它基于標準 HTML、CSS 和 JavaScript 構(gòu)建,并提供了一套聲明式的、組件化的編程模型; 幫助你高效地開發(fā)用戶界面,無論任務(wù)是簡單還是復(fù)雜; 漸進式框架? 表示可以在項目

    2024年02月14日
    瀏覽(15)
  • C# 匿名方法和Lambda表達式

    1.匿名方法的演變 匿名方法是為了簡化委托的實現(xiàn),方便調(diào)用委托方法而出現(xiàn)的,同時,匿名方法也是學好lambda表達式的基礎(chǔ)。在委托調(diào)用的方法中,如果方法只被調(diào)用一次,這個時候我們就沒有必要創(chuàng)建具名方法,從而用匿名方法更為方便。 下面一段代碼是聲明并使用了一

    2024年02月15日
    瀏覽(26)
  • CSharp的lambda表達式匿名類擴展方法

    CSharp的lambda表達式匿名類擴展方法

    之前已經(jīng)寫過一些關(guān)于委托還有事件的文章,今天就來介紹一下lambda表達式。 首先定義需要的函數(shù)以及委托 在.net farmwork 1.0,會這樣寫我們的匿名函數(shù) 在.netframework 2.0,會這樣寫匿名函數(shù), 增加了一個delegate 在.netframework3.0,去掉了delegate了,在參數(shù)后增加了一個=

    2024年03月14日
    瀏覽(23)
  • Lambda表達式和匿名內(nèi)部類的區(qū)別

    匿名內(nèi)部類:可以是接口,也可以是抽象類,還可以是具體類 Lambda表達式:只能是接口 如果接口中有且僅有一個抽象方法,可以使用Lambda表達式,也可以使用匿名內(nèi)部類 如果接口中多于一個抽象方法,只能使用匿名內(nèi)部類,而不能使用Lambda表達式 匿名內(nèi)部類:編譯之后,產(chǎn)

    2024年02月10日
    瀏覽(17)
  • C#學習相關(guān)系列之匿名方法和Lambda表達式

    ????????匿名方法 顧名思義就是這類方法的特點是不需要特別去定義函數(shù)的名字的。一般我們需要一個函數(shù),但又不想花時間去命名它的時候,就可以使用匿名方法。在 C# 中, 匿名方法通常表現(xiàn)為使用?delegate?運算符和 Lambda 表達式。( Lambda 表達式 的本質(zhì)也是 匿名方法

    2024年02月07日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包