<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 一、定義方法:在Javascript中必須用function關鍵字 ~~~ function funcName(arg1,arg2...) { statements; return "變量值"; //返回值可以根據函數的需要 } ~~~ 函數名是函數自身的一個引用。此種方式創立的函數引用是獨立存在的,無法刪除。 ? 1、調用函數:函數名(參數列表)。 傳遞的參數不必與函數定義的參數個數一致,并且可以設定函數參數的默認值。 ~~~ function example(a,b){ ? var a = arguments[0] ? arguments[0] : 1;//設置參數a的默認值為 ? var b = arguments[1] ? arguments[1] : 2;//設置參數b的默認值為2 ? return a+b; } alert(example()); //輸出3 ~~~ 其他方法:[設置默認參數方式](http://blog.csdn.net/u011043843/article/details/26155307) ? 2、嵌套函數:在JS中,函數的定義中還可以再次定義新的函數 ~~~ function say() { function add(x,y) { return (x+y); } alert(add(2,3)); } say(); //輸出5 ~~~ 內嵌函數add()只能在嵌套它的函數(say())中調用,而不能再外部調用。 ? 3、條件函數: ~~~ var b = false; if(b) { function ex1() { alert(1); } ex1(); } else { function ex2() { alert(0); } ex2(); } ~~~ 輸出0,將b的值改為TRUE,則輸出1,不演示。條件函數的花括號不具有范圍限制,即可以在花括號外訪問函數。 ## 二 、函數的特殊條用方式:網頁中的所有方法可以看做全局對象window對象的方法 ~~~ function add(x,y) { return x+y; } //1 alert(window.add(2,3)); //2 alert(window['add'](2,3)); ~~~ 以上結果均是5 ## 三、函數表達式定義函數:匿名函數 1、定義方式:var fucName = function(arg1,arg2,...){statements;} ~~~ var add = function (x,y) { return x+y; } alert(add(2,3));//輸出為5 ~~~ 其中,add是該函數的唯一引用,當add=null,該函數便不能再調用。 2、匿名自執行函數: ~~~ (function(x,y) { alert(x + y) ; })(2,3); //立即自動執行,結果為5 ~~~ 3、匿名函數的用途 2.1 ?用于一次調用后就丟棄的函數 2.2 ?向prototype屬性附加函數以實現對象方法的定義 ## 四、使用Function定義函數: ? ? 在JS中,Function為核心類的一種,而其他方式定義的函數也均作為對象對待,因為在JS中的OOP中,不存在類的概念,這是JS與Java、C#等語言的區別。 var add = new Function(“函數參數”,"函數體"); add為函數名,即函數的一個引用。 ~~~ var add = new Function('x','y',"return x+y"); alert(add(2,3)); ~~~ 上述的結果為5. ## 五、閉包函數:當一個函數不位于它所處環境(變量的作用范圍)被調用,仍可使用本地變量(脫離了變量的作用范圍仍可使用該變量),這是閉包函數的顯著特征。 ? 5.1 ? ?作為值從函數返回的函數是閉包函數 ~~~ function B() { var temp="abc"; function A() { alert("閉包函數處理本地變量temp = "+temp); } return A; } var a = B(); a(); ~~~ 運行結果:(本地變量是函數內聲明的變量) ![](https://box.kancloud.cn/2016-08-30_57c54ec518bb2.jpg) ? 5.2 ? 利用變量的作用范圍形成閉包函數 ~~~ var F; function B() { var temp="abc"; F=function () { alert("利用變量范圍形成閉包函數處理本地變量temp = "+temp); } } B(); F(); ~~~ 運行結果 ![](https://box.kancloud.cn/2016-08-30_57c54ec52d8c7.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看