函數
1.定義
2.函數的聲明方式
1)以function關鍵字
2)以字面量形式聲明(匿名函數)
3)實例化構造函數的方式
3.函數在頁面加載的時候 以function關鍵字聲明的會被優先解析
4.調用函數的方式
1)函數名() 變量名()
2)在事件后面調用
3)函數的自調用
5.參數
1)參數的個數可以有很多個
2)參數的類型可以是任意數據類型
3)把函數的功能變得更加多樣化
4)參數的初始化 給參數定義默認的值
5)當實參的個數大于形參的個數
6)arguments對象
arguments[0]下標
arguments.length 參數的個數
arguments.callee 在函數的內部訪問整個函數
7)模擬函數重載
console.log()
6.返回值
》1.將函數運行的結果保留下來 提供給后續代碼使用
》2.函數可以沒有返回值
》3.函數的返回值可以是各種類型的,包括空值
》4.函數體中return執行之后的代碼都不再執行
》5.return返回值只能有一個
7.作用域
一段代碼起作用的范圍
全局環境 所有代碼運行的地方 樓
函數環境 function(){}在函數體中的代碼 教室
全局變量 在函數的外部定義的變量
局部變量 在函數的內部定義的變量
變量的作用域 就是在定義變量的環境當中的任意位置
1)全局變量不僅可以在函數外部使用也可以在函數內部使用
2)局部變量只能在函數內部使用
形參 相當于局部變量
同時能訪問到局部變量和全局變量的時候 會使用局部變量
函數的作用域和變量一樣
作用域鏈 所有的作用域可以看做使用一個鏈條連接起來的 訪問變量的時候 會沿著這個鏈條一直往下找
8."use strict"對語法要求更嚴格
9.回調函數
把一個函數的指針做為另一個函數的參數,當調用這個參數的時候,這個函數就叫做回調函數。
function a(callback){
callback()
}
a(function(){})
10.遞歸函數
在函數的內部調用自己
特點:有參數 有判斷
每次遞歸調用自己的時候參數都是有變化的
11.閉包函數/內嵌函數