<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            javascript中Function類型詳細介紹

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

            javascript中Function類型詳細介紹

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

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

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

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

              關于函數的聲明的語法支持:

              //方式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種方式都能完成一個函數的聲明,但各有不同。

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

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

              為什么說不同,主要在于,js解析器對函數聲明 和 函數表達式 解析的不同。解析器會優先讀取函數申明,js引擎在執行時會將函數聲明自動放到執行環境的最頂端。

              而函數表達式則不同,當執行到函數表達式時,才會真正去被解釋執行。關于這點理解很重要!

              看代碼

              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.為什么函數沒有重載?

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

              看代碼示例:

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

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

            【javascript中Function類型詳細介紹】相關文章:

            美國留學簽證類型詳細介紹09-15

            關于數據類型的Javascript學習筆記08-05

            有關深入理解JavaScript中的并行處理的介紹10-14

            JavaScript中的with關鍵字07-24

            在Java中執行JavaScript代碼07-14

            Javascript中typeof 用法歸納09-27

            抽象語法樹在JavaScript中的應用08-18

            JavaScript中的三種對象10-24

            perl- javascript中class的機制05-03

            JavaScript數組常用方法介紹09-04

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看