JS基礎(chǔ)知識整理06-函數(shù)

2019-9-30    seo達(dá)人

使用function關(guān)鍵字定義函數(shù)

函數(shù)聲明會被提升(Hoisting),將聲明移動到當(dāng)前作用域頂端的默認(rèn)行為。



參數(shù):

如果函數(shù)調(diào)用的參數(shù)太多(超過聲明),則可以使用函數(shù)的內(nèi)置對象arguments

arguments.length 會返回函數(shù)被調(diào)用時收到的參數(shù)數(shù)目

arguments[index]可以得到相應(yīng)的參數(shù)



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





調(diào)用:

以函數(shù)形式調(diào)用函數(shù):(這種方式調(diào)用默認(rèn)的是全局對象調(diào)用)

function myFunction(a, b) {

return a * b;

}

myFunction(10, 2);



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

var myObject = {

firstName:"Bill",

lastName: "Gates",

fullName: function () {

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

}

}

myObject.fullName(); 



通過函數(shù)構(gòu)造器來調(diào)用函數(shù):(如果函數(shù)調(diào)用的前面是 new 關(guān)鍵字,那么這是一個構(gòu)造函數(shù)調(diào)用)

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() 方法是預(yù)定義的 JavaScript 方法。

它可以用來調(diào)用所有者對象作為參數(shù)的方法。

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

如:

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



call()可以帶參數(shù),參數(shù)對應(yīng)按順序的傳給方法

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



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

區(qū)別在于接收參數(shù)的方式不一樣。

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

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





箭頭函數(shù):(ES6)

箭頭函數(shù)不需要function關(guān)鍵字、return關(guān)鍵字和大括號

var x = function(x, y) {

  return x y;

}



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

兩個的作用相同。



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

藍(lán)藍(lán)設(shè)計sillybuy.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計  ipad界面設(shè)計 、 包裝設(shè)計  圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)

分享本文至:

日歷

鏈接

個人資料

存檔