<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          JS基礎知識整理06-函數

          2019-9-30    seo達人

          使用function關鍵字定義函數

          函數聲明會被提升(Hoisting),將聲明移動到當前作用域頂端的默認行為。



          參數:

          如果函數調用的參數太多(超過聲明),則可以使用函數的內置對象arguments

          arguments.length 會返回函數被調用時收到的參數數目

          arguments[index]可以得到相應的參數



          傳遞對象的時候是使用引用來傳遞的,如果函數修改了對象屬性,則原始對象也改變了。





          調用:

          以函數形式調用函數:(這種方式調用默認的是全局對象調用)

          function myFunction(a, b) {

          return a * b;

          }

          myFunction(10, 2);



          作為方法來調用函數:(這種方式調用屬于函數的擁有者myObject)

          var myObject = {

          firstName:"Bill",

          lastName: "Gates",

          fullName: function () {

          return this.firstName + " " + this.lastName;

          }

          }

          myObject.fullName(); 



          通過函數構造器來調用函數:(如果函數調用的前面是 new 關鍵字,那么這是一個構造函數調用)

          function myFunction(arg1, arg2) {

          this.firstName = arg1;

          this.lastName  = arg2;

          }

          var x = new myFunction("Bill", "Gates");

          x.firstName; 



          call()和apply()方法:

          var person = {

          fullName: function() {

          return this.firstName + " " + this.lastName;

          }

          }

          var person1 = {

          firstName:"Bill",

          lastName: "Gates",

          }

          var person2 = {

          fullName: function(city, country) {

          return this.firstName + " " + this.lastName + "," + city + "," + country;

          }

          }



          call() 方法是預定義的 JavaScript 方法。

          它可以用來調用所有者對象作為參數的方法。

          通過 call(),您能夠使用屬于另一個對象的方法。

          如:

          person.fullName.call(person1)// person1來調用person的fullName方法



          call()可以帶參數,參數對應按順序的傳給方法

          person2.fullName.call(person1,"Seattle", "USA")



          apply()方法和call()方法類似

          區別在于接收參數的方式不一樣。

          call(obj,"x","y") 方法分別接受參數

          apply(obj,["x","y"]) 方法接收數組形式的參數





          箭頭函數:(ES6)

          箭頭函數不需要function關鍵字、return關鍵字和大括號

          var x = function(x, y) {

            return x y;

          }



          var x = (x, y) => x
          y;

          兩個的作用相同。



          箭頭函數沒有自己的this、如果函數是單個語句,則只能省略 return 關鍵字和大括號

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計  包裝設計 、 圖標定制  用戶體驗 、交互設計、 網站建設 、平面設計服務。

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合