<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 1. 函數參數 ## 1.1 帶參函數 ~~~ <script> //帶參數的函數 function func(a,b){ console.log(a*b); } func(1,5); //5 //es6函數可以默認參數 function test(a=5,b=6){ console.log(a*b); } test(); //30 test(6); //36 test(6,7); //42 </script> ~~~ ## 1.2 自調函數 ~~~ ( function() { alert(10); }() ) ~~~ ## 1.3 return return 就是函數的一個執行結果,return語句執行后,函數終止執行 ~~~ <script> function a(){ // return 1; //1 console.log("a") return 1; // a 1 } var b = a(); console.log(b); </script> ~~~ ## 1.3 函數的傳參 ``` function go(a,b,c){ console.log(a); console.log(b); console.log(c); } /* JS 傳不定參,對參數不敏感 */ go(1); // 函數的形參,是保存在函數對象的length屬性中 console.log(go.length) ``` ### 1.3.1 基本類型傳參 * 只傳值 ``` function go(){ console.log(1); } go.value = 1; var see = go; see.index = 3; console.log(see.value) console.log(go.index); ``` ### 1.3.2 引用類型傳參 * 引用類型既傳值,也傳址 ``` 數組是引用類型 var arr = [1,2,3]; var b = arr; b.push(5); var c = arr.concat(8); arr.push(6); console.log(c); //[1,2,3,5,8] console.log(arr); //[1,2,3,5,6] console.log(b) //[1,2,3,5,6] ``` ### 1.3.1 參數的存儲 arguments > JS的參數 --> 函數內部有個arguments對象,它用來存放函數傳入的參數,是一個類數組對象 ``` function go(a,b,c){ console.log(a); console.log(arguments[0]); console.log(arguments[2]); } go(1,2,3); ``` ### 1.3.2 重載 > 重載:函數根據傳入的參數不同動態決定,調用那種方法 js 不支持重載 可以使用arguments 對象去模擬重載 ``` function go(a){ console.log(a); } function go(a,b){ console.log(a,b); } function go(){ if(arguments.length == 1){ console.log(arguments[0]) }else if( arguments.length == 2){ console.log(arguments[0]+arguments[1]) } } ``` # 2 函數的創建方式 ## 2.1函數創建的方式有三種方法 * 直接量的方式 * 變量聲明的方式 * 構造函數的方式聲明 ``` 方法一 go(); function go(){ console.log("hello world") } ``` ``` 聲明函數 方法二(不建議使用) go(); //報錯,原因聲明提前 var go = function(){ console.log("hello world") } ``` ``` 方法三 構造函數的方式聲明(不推薦不使用,了解) var go = new Function("a","console.log(a)"); go(1); ``` ### 2.1.1 構造函數 * new : 1.調用了構造函數 2.實例化了一個對象 ``` <script> /* 構造函數:構造一個對象的函數 es6之前,使用構造函數模擬一個類 */ function Person(name,age){ this.names = name; this.ages = age; } /* js的繼承是基于原型的繼承 在原型上定義一個方法,那么所有實例化的對象都共享這個方法 */ Person.prototype.sayName = function(){ console.log(this.names); } /* new 1.調用了構造函數 2.實例化了一個對象 */ //this 指向實例化對象 var quan = new Person("全夢妍","3"); console.log(quan.ages); quan.sayName(); </script> ``` #### 2.1.1.1 屬性coustructor ``` 構造函數 實例對象有一個coustructor 屬性,指向構造函數 var arr = [1,2,3,4] function Person(name,age){ this.name = name; this.age = age; } var cheng = new Person("cheng",18); console.log(cheng instanceof Person); console.log(cheng.coustructor == Person) ```
                  <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>

                              哎呀哎呀视频在线观看