中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      javascript匿名函數的用法

      時間:2024-09-13 21:24:35 JavaScript 我要投稿
      • 相關推薦

      javascript匿名函數的用法

        摘要:

        本文講解的是javascript最基礎也是最重要的東西--函數,之所以寫這篇文章,是因為面試的時候問到了,也算是溫故而知新了。

        先上個例子,如果你看懂了,說明你已經理解了本文要講的。

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

        function f() {return 10;}

        return f();

        function f() {return 20;}

        var f = 30;

        })();

        console.log(f);

        javascript高級程序設計中這樣描述函數--可以封裝任意多條語句,而且可以在任何地方、任何時候調用執行。之前介紹過了strict mode,嚴格模式對函數有一些限制:

        ① 不能把函數命名為eval或arguments

        ② 不能把參數命名為eval或arguments

        ③ 不能出現兩個命名參數同名的情況

        發生以上情況就會導致語法錯誤,代碼無法執行。

        函數定義

        函數定義分為三種

        1、構造函數

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

        2、普通定義

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

        3、函數式定義

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

        這三種方式都可以定義函數fun。

        參數

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

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

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

        }

        通過訪問arguments對象的length屬性來獲知有多少個參數。函數的length會返回函數的參數個數。

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

        函數不能重載,只能重寫

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

        復制代碼 代碼如下:

        function add(num) {

        return num + 100;

        }

        function add(num) {

        return num + 200;

        }

        var result = add(100) //300

        注意:函數在執行完return語句之后停止并立即退出。

        函數種類

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

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

        }

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

        匿名函數,顧名思義就是沒有函數名。例如

        function() {}

        函數調用是通過函數名來調用,匿名函數怎么調用呢?一種就是將匿名函數賦給一個變量,讓這個變量充當函數名。另一種就是用()來調用,例如下面三種方法

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

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

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

        例子:

        復制代碼 代碼如下:

        (function(x, y) {

        alert(x + y);

        })(2,3);

        //alert(5)

        2和3將會作為參數傳遞給x和y

        下面就來講講最上面的例子,這個例子里面涉及到閉包,后面會說

        首先定義一個變量f,然后賦值一個匿名函數,這里呢需要注意一點函數里所有變量的定義都會被前置,所以匿名函數里的執行順序是

        復制代碼 代碼如下:

        var f = (function() {

        var f = 30;

        function f() {return 10;}

        function f() {return 20;}

        return f();

        })();

        外面的變量f和里面的變量f不在同一個作用域內(閉包),所以互不影響。因為函數不能重載,所以外面變量f=(function f() {return 20;})();,所以最終輸出的是20。

      【javascript匿名函數的用法】相關文章:

      Javascript函數的定義和用法分析08-15

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

      Javascript的this用法簡述08-15

      淺析jQuery 遍歷函數javascript08-06

      Javascript中typeof 用法歸納09-27

      javascript分析運算符用法08-07

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

      最常用的20個javascript方法函數09-10

      JavaScript日期時間格式化函數08-29

      關于asp 的常用函數用法10-11

      主站蜘蛛池模板: 亚洲精品美女久久久久网站| 九台市| 免費一级欧美精品| 国产精品女主播在线观看| 亚洲中文字幕人妻诱惑| 无码超乳爆乳中文字幕| 日本成人免费一区二区三区| 免费在线观看国产v片| 浦江县| 灵山县| 西乡县| 怀集县| 台山市| 钦州市| 桐乡市| 普兰店市| 免费人成在线高清网站| 男女视频在线一区二区| aa视频在线观看播放免费| 日本二区三区四区在线观看| 92精品国产自产在线观看48页| 无码人妻丰满熟妇区免费 | 日韩精品人妻中文字幕有码| 日本女优中文字幕在线观看| 久久青草国产免费观看| 日韩精品永久免费播放平台| 双城市| 国产小视频一区二区三区| 国产成人亚洲精品2020| 彩票| 亚洲一区二区三区免费av在线| 在线免费av一区二区| 日本a级大片免费观看| 农村国产毛片一区二区三区女| av天堂线上| 加勒比东京热综合久久| 亚洲综合一区二区三区视频 | 久久精品国产亚洲av大全相关| 2021精品综合久久久久| 国产三级精品三级男人的天堂,| 亚洲欧洲AV综合色无码 |