最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript學(xué)習(xí)筆記之Function對(duì)象

 更新時(shí)間:2015年01月22日 11:46:11   投稿:hebedich  
這篇文章主要介紹了JavaScript學(xué)習(xí)筆記之Function對(duì)象的相關(guān)資料,需要的朋友可以參考下

 在JavaScript中,函數(shù)function就是對(duì)象。

JS中沒有方法重載

  在JavaScript中,沒有方法(函數(shù))重載的概念。

  例子:

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

<html>
       <head>
              <script type="text/javascript">
              function add(number)
              {
                    alert(number + 20);  
              }
              function add(number, number1)
              {
                     alert(number + 30);  
              }          
              add(10);
              </script>
       </head>
       <body>
       </body>
</html>

網(wǎng)頁中彈框顯示的是40。

  說明雖然第二個(gè)方法是兩個(gè)參數(shù),但是仍然調(diào)用了它。

  交換兩個(gè)方法的順序之后,彈框顯示30,可以看出不管參數(shù)個(gè)數(shù)如何,是調(diào)用同名的后面的方法。

  怎么解釋這個(gè)現(xiàn)象?

  這是因?yàn)楹瘮?shù)聲明實(shí)際上是建立了一個(gè)對(duì)象:

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

<html>
    <head>
        <script type="text/javascript">
        function add(number)
        {
             alert(number + 20);   
        }
        /*
        上面的函數(shù)等價(jià)于:
        var add = function(number)
        {
            alert(number + 20);
        }
        */       
        function add(number, number1)
        {
            alert(number + 30);   
        }
        /*
        上面的函數(shù)等價(jià)于:
        var add = function(number, number1)
        {
            alert(number + 30);
        }   
        */
        add(10);
        </script>
    </head>
    <body>   
    </body>
</html>

  這樣add實(shí)際指向的是后面的對(duì)象,而方法調(diào)用的時(shí)候賦予的參數(shù)將會(huì)按順序賦給方法形式參數(shù),后面沒有被賦值的參數(shù)就是undefined。

  JavaScript的函數(shù)調(diào)用的時(shí)候沒有嚴(yán)格的參數(shù)個(gè)數(shù)檢查,實(shí)參個(gè)數(shù)小于形參個(gè)數(shù)是可以的,沒有被賦值的形參就是未定義值undefined。

  實(shí)參個(gè)數(shù)大于形參個(gè)數(shù)也是可以的,這樣只有前面的實(shí)參會(huì)被使用,多出來的實(shí)參不會(huì)被使用。

Function對(duì)象

  在JavaScript中有一個(gè)Function對(duì)象,所有自定義的函數(shù)都是Function對(duì)象類型的。

  Function對(duì)象接收的所有參數(shù)都是字符串類型的,其中最后一個(gè)參數(shù)就是要執(zhí)行的函數(shù)體,而前面的參數(shù)則是函數(shù)真正需要接收的參數(shù)。

  例子:

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

<html>
    <head>
        <script type="text/javascript">
        var add = new Function("number", "number1", "alert(number + number1);");
        var add = new Function("number", "alert(number + 20);");
        add(10, 30);
        </script>
    </head>
    <body>   
    </body>
</html>

隱含對(duì)象arguments

  在JavaScript中,每個(gè)函數(shù)都有一個(gè)隱含的對(duì)象arguments,表示給函數(shù)實(shí)際傳遞的參數(shù)。

  arguments和函數(shù)的形式參數(shù)及其個(gè)數(shù)無關(guān)。

  arguments有個(gè)有用的屬性length,表示實(shí)參的長度。可以借助這個(gè)來模擬出函數(shù)的重載:

  練習(xí)例子:

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

<html>
    <head>
        <script type="text/javascript">
        function add(number1, number2)
        {
            alert(arguments.length);           
            alert(arguments[0]);
            alert(arguments[1]);
            alert(arguments[2]);
        }   
        //add(2, 3, 4);
        function add2()
        {
            if(1 == arguments.length)
            {
                alert(arguments[0]);
            }
            else if(2 == arguments.length)
            {
                alert(arguments[0] + arguments[1]);
            }
            else if(3 == arguments.length)
            {
                alert(arguments[0] + arguments[1] + arguments[2]);
            }
        }
        add2(3);
        add2(3, 4);
        add2(3, 4, 5);
        </script>
    </head>
    <body>   
    </body>
</html>

  每一個(gè)函數(shù)對(duì)象都有一個(gè)length屬性,表示該函數(shù)期望接收的參數(shù)格式。

  它與函數(shù)的arguments不同,arguments.length表示函數(shù)實(shí)際接收的參數(shù)個(gè)數(shù)。

  例子:

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

<html>
    <head>
        <script type="text/javascript">
        var add = function(num, num2, num3)
        {
            alert(num + num2 + num3);
        }   
        alert(add.length); //輸出3
        add(1, 2, 3);
        var add2 = function()
        {
        }
        alert(add2.length); //輸出0
        </script>
    </head>
    <body>
    </body>
</html>

相關(guān)文章

  • 深入理解javascript中的this

    深入理解javascript中的this

    這篇文章主要介紹了深入理解Js中的this,有隊(duì)這方面感興趣的同學(xué)可以閱讀學(xué)習(xí)下
    2021-02-02
  • javascript中的location用法簡單介紹

    javascript中的location用法簡單介紹

    javascript中的location用法簡單介紹...
    2007-03-03
  • 對(duì)JavaScript客戶端應(yīng)用編程的一些建議

    對(duì)JavaScript客戶端應(yīng)用編程的一些建議

    這篇文章主要介紹了對(duì)JavaScript客戶端應(yīng)用編程的一些建議,主要針對(duì)MVC框架框架的一些相關(guān)使用問題,需要的朋友可以參考下
    2015-06-06
  • JavaScript中判斷對(duì)象類型的幾種方法總結(jié)

    JavaScript中判斷對(duì)象類型的幾種方法總結(jié)

    本篇文章是對(duì)JavaScript中判斷對(duì)象類型的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-11-11
  • javascript設(shè)計(jì)模式之工廠模式

    javascript設(shè)計(jì)模式之工廠模式

    這篇文章主要為大家介紹了javascript工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • js單例模式詳解實(shí)例

    js單例模式詳解實(shí)例

    這篇文章主要介紹了什么是單例單例模式、使用場(chǎng)景,提供了3個(gè)示例給大家參考
    2013-11-11
  • ES6學(xué)習(xí)總結(jié)之Set和Map的使用

    ES6學(xué)習(xí)總結(jié)之Set和Map的使用

    這篇博客介紹了 ES6 中的 Set 和 Map 數(shù)據(jù)結(jié)構(gòu),Set 是一個(gè)存儲(chǔ)唯一值的集合,支持添加、刪除、檢查元素的方法,Map 則是用于存儲(chǔ)鍵值對(duì)的集合,鍵和值都可以是任何類型,文章詳細(xì)講解了兩者的主要方法和用法,并與傳統(tǒng)的數(shù)組和對(duì)象進(jìn)行了對(duì)比,突出 Set 和 Map 的獨(dú)特優(yōu)勢(shì)
    2024-08-08
  • JS中的this變量的使用介紹

    JS中的this變量的使用介紹

    在JavaScript中this變量是一個(gè)令人難以摸清的關(guān)鍵字,this可謂是非常強(qiáng)大,在本文將為大家詳細(xì)介紹下JavaScript中this的使用,感興趣的朋友可以參考下
    2013-10-10
  • JavaScript中各數(shù)制轉(zhuǎn)換全面總結(jié)

    JavaScript中各數(shù)制轉(zhuǎn)換全面總結(jié)

    這篇文章主要介紹了JavaScript中各數(shù)制轉(zhuǎn)換,利用toString的基模式來進(jìn)行轉(zhuǎn)換,對(duì)數(shù)字調(diào)用 toString(10) 與調(diào)用 toString() 它們返回的區(qū)別和相同之處等等都在本文中提及,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 關(guān)于reduce的介紹及用法說明

    關(guān)于reduce的介紹及用法說明

    這篇文章主要介紹了關(guān)于reduce的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論

永寿县| 西乌珠穆沁旗| 磴口县| 遂宁市| 庐江县| 平果县| 西宁市| 繁峙县| 盐边县| 比如县| 眉山市| 马鞍山市| 怀远县| 宁化县| 霞浦县| 黑河市| 图木舒克市| 上饶县| 阳原县| 淳化县| 启东市| 融水| 桑日县| 吉安市| 永年县| 邻水| 长葛市| 尚义县| 团风县| 景谷| 叙永县| 同仁县| 休宁县| 皋兰县| 张家界市| 山阴县| 镇赉县| 永顺县| 林周县| 澄城县| 灵台县|