• <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匿名函數(shù)的用法

        時(shí)間:2024-09-13 21:24:35 JavaScript 我要投稿
        • 相關(guān)推薦

        javascript匿名函數(shù)的用法

          摘要:

          本文講解的是javascript最基礎(chǔ)也是最重要的東西--函數(shù),之所以寫這篇文章,是因?yàn)槊嬖嚨臅r(shí)候問到了,也算是溫故而知新了。

          先上個(gè)例子,如果你看懂了,說明你已經(jīng)理解了本文要講的。

          復(fù)制代碼 代碼如下:var f = (function() {

          function f() {return 10;}

          return f();

          function f() {return 20;}

          var f = 30;

          })();

          console.log(f);

          javascript高級(jí)程序設(shè)計(jì)中這樣描述函數(shù)--可以封裝任意多條語句,而且可以在任何地方、任何時(shí)候調(diào)用執(zhí)行。之前介紹過了strict mode,嚴(yán)格模式對(duì)函數(shù)有一些限制:

          ① 不能把函數(shù)命名為eval或arguments

          ② 不能把參數(shù)命名為eval或arguments

          ③ 不能出現(xiàn)兩個(gè)命名參數(shù)同名的情況

          發(fā)生以上情況就會(huì)導(dǎo)致語法錯(cuò)誤,代碼無法執(zhí)行。

          函數(shù)定義

          函數(shù)定義分為三種

          1、構(gòu)造函數(shù)

          復(fù)制代碼 代碼如下:var fun = new Funciton();

          2、普通定義

          復(fù)制代碼 代碼如下:function fun() {}

          3、函數(shù)式定義

          復(fù)制代碼 代碼如下:var fun = function() {};

          這三種方式都可以定義函數(shù)fun。

          參數(shù)

          函數(shù)不介意傳遞進(jìn)來多少個(gè)參數(shù),也不在乎傳進(jìn)來的參數(shù)是什么數(shù)據(jù)類型。即便你定義的函數(shù)只接收兩個(gè)參數(shù),在調(diào)用這個(gè)函數(shù)時(shí)也未必一定要傳遞兩個(gè)參數(shù)。可以傳遞一個(gè)、三個(gè)甚至不傳遞參數(shù)。原因是參數(shù)在內(nèi)部是用一個(gè)數(shù)組來表示的。在函數(shù)體內(nèi)可以通過arguments對(duì)象來訪問參數(shù)數(shù)組,舉個(gè)例子

          復(fù)制代碼 代碼如下:function sayHi() {

          alert("Hello " + arguments[0] + "," + arguments[1]);

          }

          通過訪問arguments對(duì)象的length屬性來獲知有多少個(gè)參數(shù)。函數(shù)的length會(huì)返回函數(shù)的參數(shù)個(gè)數(shù)。

          注意:所有參數(shù)傳遞的都是值,不可能通過引用傳遞參數(shù)。

          函數(shù)不能重載,只能重寫

          如果定義了兩個(gè)名字相同的函數(shù),則該名字只屬于最后定義的函數(shù),舉個(gè)例子:

          復(fù)制代碼 代碼如下:

          function add(num) {

          return num + 100;

          }

          function add(num) {

          return num + 200;

          }

          var result = add(100) //300

          注意:函數(shù)在執(zhí)行完return語句之后停止并立即退出。

          函數(shù)種類

          函數(shù)分為兩種一種是有名函數(shù),另一種是匿名函數(shù)。例如下面的有名函數(shù)

          復(fù)制代碼 代碼如下:function fun() {

          }

          如果調(diào)用的話,只需要fun()就可以。

          匿名函數(shù),顧名思義就是沒有函數(shù)名。例如

          function() {}

          函數(shù)調(diào)用是通過函數(shù)名來調(diào)用,匿名函數(shù)怎么調(diào)用呢?一種就是將匿名函數(shù)賦給一個(gè)變量,讓這個(gè)變量充當(dāng)函數(shù)名。另一種就是用()來調(diào)用,例如下面三種方法

          1、(function() {return;}());

          2、(function() {return;})();

          3、function() {return;}();

          例子:

          復(fù)制代碼 代碼如下:

          (function(x, y) {

          alert(x + y);

          })(2,3);

          //alert(5)

          2和3將會(huì)作為參數(shù)傳遞給x和y

          下面就來講講最上面的例子,這個(gè)例子里面涉及到閉包,后面會(huì)說

          首先定義一個(gè)變量f,然后賦值一個(gè)匿名函數(shù),這里呢需要注意一點(diǎn)函數(shù)里所有變量的定義都會(huì)被前置,所以匿名函數(shù)里的執(zhí)行順序是

          復(fù)制代碼 代碼如下:

          var f = (function() {

          var f = 30;

          function f() {return 10;}

          function f() {return 20;}

          return f();

          })();

          外面的變量f和里面的變量f不在同一個(gè)作用域內(nèi)(閉包),所以互不影響。因?yàn)楹瘮?shù)不能重載,所以外面變量f=(function f() {return 20;})();,所以最終輸出的是20。

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

        【javascript匿名函數(shù)的用法】相關(guān)文章:

        Javascript函數(shù)的定義和用法分析08-15

        JavaScript中常見的字符串操作函數(shù)及用法07-24

        Javascript的this用法簡(jiǎn)述08-15

        淺析jQuery 遍歷函數(shù)javascript08-06

        Javascript中typeof 用法歸納09-27

        javascript分析運(yùn)算符用法08-07

        JavaScript中push(),join() 函數(shù)實(shí)例詳解09-05

        最常用的20個(gè)javascript方法函數(shù)09-10

        JavaScript日期時(shí)間格式化函數(shù)08-29

        關(guān)于asp 的常用函數(shù)用法10-11

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品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. 色欧美精品在线播放 | 亚洲国产欧美国产综合在线一区 | 亚洲精品天堂在线观看2020 | 日本亚洲精品色婷婷在线影院 | 婷婷视频在线观看免费播放 | 伊人五香丁香婷婷天堂网 |

            javascript匿名函數(shù)的用法

              摘要:

              本文講解的是javascript最基礎(chǔ)也是最重要的東西--函數(shù),之所以寫這篇文章,是因?yàn)槊嬖嚨臅r(shí)候問到了,也算是溫故而知新了。

              先上個(gè)例子,如果你看懂了,說明你已經(jīng)理解了本文要講的。

              復(fù)制代碼 代碼如下:var f = (function() {

              function f() {return 10;}

              return f();

              function f() {return 20;}

              var f = 30;

              })();

              console.log(f);

              javascript高級(jí)程序設(shè)計(jì)中這樣描述函數(shù)--可以封裝任意多條語句,而且可以在任何地方、任何時(shí)候調(diào)用執(zhí)行。之前介紹過了strict mode,嚴(yán)格模式對(duì)函數(shù)有一些限制:

              ① 不能把函數(shù)命名為eval或arguments

              ② 不能把參數(shù)命名為eval或arguments

              ③ 不能出現(xiàn)兩個(gè)命名參數(shù)同名的情況

              發(fā)生以上情況就會(huì)導(dǎo)致語法錯(cuò)誤,代碼無法執(zhí)行。

              函數(shù)定義

              函數(shù)定義分為三種

              1、構(gòu)造函數(shù)

              復(fù)制代碼 代碼如下:var fun = new Funciton();

              2、普通定義

              復(fù)制代碼 代碼如下:function fun() {}

              3、函數(shù)式定義

              復(fù)制代碼 代碼如下:var fun = function() {};

              這三種方式都可以定義函數(shù)fun。

              參數(shù)

              函數(shù)不介意傳遞進(jìn)來多少個(gè)參數(shù),也不在乎傳進(jìn)來的參數(shù)是什么數(shù)據(jù)類型。即便你定義的函數(shù)只接收兩個(gè)參數(shù),在調(diào)用這個(gè)函數(shù)時(shí)也未必一定要傳遞兩個(gè)參數(shù)。可以傳遞一個(gè)、三個(gè)甚至不傳遞參數(shù)。原因是參數(shù)在內(nèi)部是用一個(gè)數(shù)組來表示的。在函數(shù)體內(nèi)可以通過arguments對(duì)象來訪問參數(shù)數(shù)組,舉個(gè)例子

              復(fù)制代碼 代碼如下:function sayHi() {

              alert("Hello " + arguments[0] + "," + arguments[1]);

              }

              通過訪問arguments對(duì)象的length屬性來獲知有多少個(gè)參數(shù)。函數(shù)的length會(huì)返回函數(shù)的參數(shù)個(gè)數(shù)。

              注意:所有參數(shù)傳遞的都是值,不可能通過引用傳遞參數(shù)。

              函數(shù)不能重載,只能重寫

              如果定義了兩個(gè)名字相同的函數(shù),則該名字只屬于最后定義的函數(shù),舉個(gè)例子:

              復(fù)制代碼 代碼如下:

              function add(num) {

              return num + 100;

              }

              function add(num) {

              return num + 200;

              }

              var result = add(100) //300

              注意:函數(shù)在執(zhí)行完return語句之后停止并立即退出。

              函數(shù)種類

              函數(shù)分為兩種一種是有名函數(shù),另一種是匿名函數(shù)。例如下面的有名函數(shù)

              復(fù)制代碼 代碼如下:function fun() {

              }

              如果調(diào)用的話,只需要fun()就可以。

              匿名函數(shù),顧名思義就是沒有函數(shù)名。例如

              function() {}

              函數(shù)調(diào)用是通過函數(shù)名來調(diào)用,匿名函數(shù)怎么調(diào)用呢?一種就是將匿名函數(shù)賦給一個(gè)變量,讓這個(gè)變量充當(dāng)函數(shù)名。另一種就是用()來調(diào)用,例如下面三種方法

              1、(function() {return;}());

              2、(function() {return;})();

              3、function() {return;}();

              例子:

              復(fù)制代碼 代碼如下:

              (function(x, y) {

              alert(x + y);

              })(2,3);

              //alert(5)

              2和3將會(huì)作為參數(shù)傳遞給x和y

              下面就來講講最上面的例子,這個(gè)例子里面涉及到閉包,后面會(huì)說

              首先定義一個(gè)變量f,然后賦值一個(gè)匿名函數(shù),這里呢需要注意一點(diǎn)函數(shù)里所有變量的定義都會(huì)被前置,所以匿名函數(shù)里的執(zhí)行順序是

              復(fù)制代碼 代碼如下:

              var f = (function() {

              var f = 30;

              function f() {return 10;}

              function f() {return 20;}

              return f();

              })();

              外面的變量f和里面的變量f不在同一個(gè)作用域內(nèi)(閉包),所以互不影響。因?yàn)楹瘮?shù)不能重載,所以外面變量f=(function f() {return 20;})();,所以最終輸出的是20。