函數(shù)作用域事件
函數(shù)
函數(shù)的定義
函數(shù)是一段具備特定功能的代碼段。
函數(shù)語法
關(guān)鍵字是function,例如:
function functionName(argument,argument){
//代碼塊
}
函數(shù)種類
無參無返回值
無參有返回值
有參無返回值
有參有返回值
第二種定義函數(shù)的格式
把函數(shù)傳給一個變量,可以通過函數(shù)名調(diào)用函數(shù),例如:
//定義函數(shù),傳給變量
var name = function(){
//代碼塊
}
//調(diào)用函數(shù)
name();
遞歸函數(shù)
遞歸函數(shù)的定義
自己調(diào)用自己的函數(shù)。
注意點:
遞歸函數(shù)要有一個明確的結(jié)束條件;考慮到性能問題,要慎用遞歸;實際開發(fā)中也很少用。
變量的作用域
局部變量
定義:
函數(shù)內(nèi)部使用var聲明的變量。
特點:
只能在函數(shù)內(nèi)部訪問它;
只要函數(shù)運行完畢,局部變量就會被刪除。
因此,可以在不同函數(shù)中定義名稱相同的局部變量。
全局變量
定義:
在函數(shù)外部聲明的變量,以及函數(shù)中沒有使用var來聲明的變量,例如:
var a = 1;
function(){
b = 2;
var c = 3;
}
其中,a和b是全局變量
特點:
網(wǎng)頁上所有腳本和函數(shù)都能訪問全局變量。
生命周期:由被聲明開始,到頁面關(guān)閉時結(jié)束。
變量提升
在函數(shù)內(nèi)部聲明定義一個和外部變量名稱一樣的變量時,函數(shù)把內(nèi)部變量的聲明會提升到第一行,而賦值位置不變。
初識DOM
Document Object Model,文檔對象模型,簡單來說就是把網(wǎng)頁抽象成由對象組成的樹狀結(jié)構(gòu)。
js中一般使用document.getElementById("id")來獲取元素;
事件
事件三要素
1.事件源
2.事件(鼠標(biāo)單擊,鼠標(biāo)雙擊,按下并釋放鍵盤上的一個按鍵等)
3.事件處理程序
事件源.事件 = function(){事件處理程序}
常見事件
onclick 鼠標(biāo)單擊
ondblclick 鼠標(biāo)雙擊
onchange 文本內(nèi)容或下拉菜單中的選項發(fā)生改變
onfocus 獲得焦點
onblur 失去焦點
onmouseover 鼠標(biāo)懸停
onmouseout 鼠標(biāo)移出
onload 網(wǎng)頁文檔加載事件
onunload 關(guān)閉網(wǎng)頁時
入口函數(shù)
window.onload();當(dāng)整個文檔加載完以后調(diào)用