當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS高级--函数
一、什么是函數
具有實現特定功能的n條語句的封裝體
只有函數是可以執行的,其他類型的數據不能執行
二、為什么要用函數
提高代碼復用
便于閱讀交流
三、如何定義函數
1、函數聲明
function myFunction(a, b) {return a * b }2、表達式
var x = function (a, b) {return a * b}四、如何調用(執行)函數
1、text() 直接調用
function myFunction(a, b) {return a * b } myFunction(10, 2); // myFunction(10, 2) 返回 202、obj.text() 通過對象調用
var myObject = {firstName:"John",fullName: function () {return this.firstName + " " + this.lastName} } myObject.fullName() // 返回 "John Doe"3、new text() new調用,使用構造函數調用函數
// 構造函數: function myFunction(arg1, arg2) {this.firstName = arg1;this.lastName = arg2; }// This creates a new object var x = new myFunction("John","Doe"); x.firstName; // 返回 "John"// 如果函數調用前使用了 new 關鍵字, 則是調用了構造函數。// 這看起來就像創建了新的函數,但實際上 JavaScript 函數是重新創建的對象4、text.call/apply(obj) 臨時讓text成為obj的方法進行調用
// 在 JavaScript 中, 函數是對象。JavaScript 函數有它的屬性和方法。// call() 和 apply() 是預定義的函數方法。 兩個方法可用于調用函數,兩個方法的第一個參數必須是對象本身。function myFunction(a, b) {return a * b } myObject = myFunction.call(myObject, 10, 2) // 返回 20function myFunction(a, b) {return a * b } myArray = [10, 2] myObject = myFunction.apply(myObject, myArray); // 返回 20// 兩個方法都使用了對象本身作為第一個參數。 兩者的區別在于第二個參數: apply傳入的是一個參數數組,也就是將多個參數組合成為一個數組傳入,而call則作為call的參數傳入(從第二個參數開始)。參考:JavaScript 函數調用 | 菜鳥教程
五、補充:回調函數
1、什么函數才是回調函數
* 你定義的
* 你沒有調用
* 但最終執行了
2、常見的回調函數
* dom時間回調函數
* 定時器回調函數
* ajax請求的回調函數
* 生命周期回調函數
總結
- 上一篇: 修复登录大河盲盒小程序源码,实现运营“玩
- 下一篇: Vagrant Boxs