• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. javascript中Function類型詳細(xì)介紹

        時間:2024-09-19 08:24:59 JavaScript 我要投稿
        • 相關(guān)推薦

        javascript中Function類型詳細(xì)介紹

          function類型,毋庸置疑是js中相當(dāng)重要的一個玩意。

          1.這玩意首先是一個對象,也就是說它是一個引用類型。陳述:一聽說是對象,是不是很有一種它的基類是object對象錯覺感,No,

          它和object是獨立的2個東西。當(dāng)你typeof function 時,返回的是 funciton 并非 object

          2.每個函數(shù)都是 Function 對象的一個實例,它與其他引用對象一樣具有屬性和方法。由于它是對象所以函數(shù)名是指向函數(shù)對象的指針

          關(guān)于函數(shù)的聲明的語法支持:

          //方式1 function fun(num1,num2){ return num1+num2; } //方式2 var fun=function(num1,num2){ return num1+num2; }; //方式3 var fun=new Function("n1","n2","return n1+n2");

          講解:3種方式都能完成一個函數(shù)的聲明,但各有不同。

          方式1 理解為 一個函數(shù)的聲明,方式2,方式3理解為函數(shù)表達(dá)式。(方式3不推薦使用,原因會導(dǎo)致解析2次代碼,先解釋常規(guī)ECMAScript代碼,在解釋傳入的參數(shù),這種

          寫法,參數(shù)可以是N個,但是最后一個參數(shù)視為函數(shù)主體)

          為什么說不同,主要在于,js解析器對函數(shù)聲明 和 函數(shù)表達(dá)式 解析的不同。解析器會優(yōu)先讀取函數(shù)申明,js引擎在執(zhí)行時會將函數(shù)聲明自動放到執(zhí)行環(huán)境的最頂端。

          而函數(shù)表達(dá)式則不同,當(dāng)執(zhí)行到函數(shù)表達(dá)式時,才會真正去被解釋執(zhí)行。關(guān)于這點理解很重要!

          看代碼

          console.log(typeof fun); //"function" console.log(typeof fun2); //"undefined" console.log(typeof fun3); //"undefined" function fun(n1,n2){ return n1+n2; } var fun2=function(n1,n2){ return n1+n2; } var fun3=new Function("n1","n2","return n1+n2;");

          3.為什么函數(shù)沒有重載?

          這個問題要從js的語言特性來考慮。在第2條已經(jīng)說了,函數(shù)名稱只是指向函數(shù)對象的一個指針。根據(jù)指針的概念去理解就清楚了。

          看代碼示例:

          function fun(n1){ return n1+100; } function fun(n1){ return n1+200; } console.log(fun(1));// 201 //以上寫法在解析后應(yīng)為 var fun=function(n1){ return n1+100; } fun=function(n1){ return n1+200; } // fun 的引用被覆蓋了 console.log(fun(1));// 201

          今天就寫到這,都是寫基本概念,希望對這塊有盲點的起到幫助!有什么需要指正的地方,希望各位霸氣留言指正。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【javascript中Function類型詳細(xì)介紹】相關(guān)文章:

        美國留學(xué)簽證類型詳細(xì)介紹09-15

        關(guān)于數(shù)據(jù)類型的Javascript學(xué)習(xí)筆記08-05

        有關(guān)深入理解JavaScript中的并行處理的介紹10-14

        JavaScript中的with關(guān)鍵字07-24

        在Java中執(zhí)行JavaScript代碼07-14

        Javascript中typeof 用法歸納09-27

        抽象語法樹在JavaScript中的應(yīng)用08-18

        JavaScript中的三種對象10-24

        perl- javascript中class的機制05-03

        JavaScript數(shù)組常用方法介紹09-04

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 偷拍精品视频一区二区三区 | 一本久久a久久精品不卡 | 亚洲国产AⅤ精品一区二区久久 | 亚洲欧美国产日韩在线观看 | 亚洲欧美一级特黄在线 | 亚洲男人综合久久综合天堂 |

            javascript中Function類型詳細(xì)介紹

              function類型,毋庸置疑是js中相當(dāng)重要的一個玩意。

              1.這玩意首先是一個對象,也就是說它是一個引用類型。陳述:一聽說是對象,是不是很有一種它的基類是object對象錯覺感,No,

              它和object是獨立的2個東西。當(dāng)你typeof function 時,返回的是 funciton 并非 object

              2.每個函數(shù)都是 Function 對象的一個實例,它與其他引用對象一樣具有屬性和方法。由于它是對象所以函數(shù)名是指向函數(shù)對象的指針

              關(guān)于函數(shù)的聲明的語法支持:

              //方式1 function fun(num1,num2){ return num1+num2; } //方式2 var fun=function(num1,num2){ return num1+num2; }; //方式3 var fun=new Function("n1","n2","return n1+n2");

              講解:3種方式都能完成一個函數(shù)的聲明,但各有不同。

              方式1 理解為 一個函數(shù)的聲明,方式2,方式3理解為函數(shù)表達(dá)式。(方式3不推薦使用,原因會導(dǎo)致解析2次代碼,先解釋常規(guī)ECMAScript代碼,在解釋傳入的參數(shù),這種

              寫法,參數(shù)可以是N個,但是最后一個參數(shù)視為函數(shù)主體)

              為什么說不同,主要在于,js解析器對函數(shù)聲明 和 函數(shù)表達(dá)式 解析的不同。解析器會優(yōu)先讀取函數(shù)申明,js引擎在執(zhí)行時會將函數(shù)聲明自動放到執(zhí)行環(huán)境的最頂端。

              而函數(shù)表達(dá)式則不同,當(dāng)執(zhí)行到函數(shù)表達(dá)式時,才會真正去被解釋執(zhí)行。關(guān)于這點理解很重要!

              看代碼

              console.log(typeof fun); //"function" console.log(typeof fun2); //"undefined" console.log(typeof fun3); //"undefined" function fun(n1,n2){ return n1+n2; } var fun2=function(n1,n2){ return n1+n2; } var fun3=new Function("n1","n2","return n1+n2;");

              3.為什么函數(shù)沒有重載?

              這個問題要從js的語言特性來考慮。在第2條已經(jīng)說了,函數(shù)名稱只是指向函數(shù)對象的一個指針。根據(jù)指針的概念去理解就清楚了。

              看代碼示例:

              function fun(n1){ return n1+100; } function fun(n1){ return n1+200; } console.log(fun(1));// 201 //以上寫法在解析后應(yīng)為 var fun=function(n1){ return n1+100; } fun=function(n1){ return n1+200; } // fun 的引用被覆蓋了 console.log(fun(1));// 201

              今天就寫到這,都是寫基本概念,希望對這塊有盲點的起到幫助!有什么需要指正的地方,希望各位霸氣留言指正。