獲取元素
Document.getElementById(“”);
Document.getElementById(“”).style.height;
Onclick點(diǎn)擊事件、ondbclick雙擊事件
Onfocus 獲得焦點(diǎn)事件、onblur失去焦點(diǎn)事件
Window.onload=function(){}
This關(guān)鍵字 指向當(dāng)前函數(shù),也就是指向自己
找到目標(biāo)事件event.target
計(jì)算方法:eval()
var a=document.getElementById("div");
a.onclick=function(){
alert('你為什么點(diǎn)我');
}
在這個點(diǎn)擊事件里面,onclick只是監(jiān)聽了元素,知道了元素發(fā)生了什么,比如被點(diǎn)擊了一下
但是onclick并不能執(zhí)行什么東西,執(zhí)行東西是在function里面執(zhí)行的
也就是說,當(dāng)監(jiān)聽到元素發(fā)生動作的時(shí)候,我們是把元素委托給了函數(shù),來執(zhí)行一些執(zhí)行語句
函數(shù):函數(shù)是由事件驅(qū)動的或者當(dāng)他被調(diào)用時(shí)的可以重復(fù)使用的代碼塊
函數(shù)(function)
函數(shù)的使用,跟變量一樣,需要聲明;
自定義函數(shù):::
function hanshu(){
alert('我被調(diào)用了');
}
hanshu(); //函數(shù)不調(diào)用,自己不執(zhí)行
當(dāng)你封裝好或者自定義一個函數(shù)的時(shí)候,他是可以多次被調(diào)用,不論在什么地方調(diào)用他,也不論函數(shù)自己在什么地方,都可以被調(diào)用;
直接量聲明
var fun2=function(){//直接量聲明
alert('直接量聲明')
}
fun2();
利用關(guān)鍵字聲明
var fun3=new Function('var a=10;var b=15;alert("a+b")');
fun3();
變量聲明提升:
function fun(){
//變量聲明提升;
console.log(a);
var a=20;
}
fun();
相當(dāng)于:
function fun(){
var a;
console.log(a);
a=20;
}
在函數(shù)內(nèi)部,不管你在什么地方聲明,都會把這個聲明提升到函數(shù)的最頂端,但是,只幫你提升了聲明,但是,不給提升賦值;
那么,變量,是有作用域的;
作用域:起作用的范圍;
學(xué)了函數(shù)之后,就要清楚、明白:
變量的作用域有兩種:
一種是全局,一種是局部;
在script下直接聲明,沒有任何東西包住、攔住的聲明的變量,就是全局變量,你在哪兒,都能用它;
函數(shù)內(nèi)聲明的變量,都是局部變量
意思就是說,你在哪個函數(shù)內(nèi)聲明,就只能在那個函數(shù)內(nèi)使用;
函數(shù)的參數(shù)
我們之前學(xué)習(xí)的,是無參函數(shù),就是沒有參數(shù)的函數(shù)
后面,我們要學(xué)習(xí)有參函數(shù):
//有參函數(shù)
function fn1(a,s,d){
alert('我是一個有參函數(shù),我的參數(shù)是'+a+s+d);
}
//有參函數(shù)調(diào)用的時(shí)候,請傳參;
fn1('5','6','7');
函數(shù)的參數(shù),可以是多個,而不局限于一個,當(dāng)你想要傳輸多個數(shù)據(jù)進(jìn)去的時(shí)候,你可以多定義幾個參數(shù)來接受它;
那么,有參函數(shù)分為形參和實(shí)參;
什么是形參,什么是實(shí)參
一個是理想狀態(tài)下的參數(shù)數(shù)量,一個是實(shí)際用到的參數(shù)數(shù)量;
arguments
函數(shù)在傳輸參數(shù)的時(shí)候,會新建一個對象,一個內(nèi)部對象,用來存儲實(shí)參
Javascript在創(chuàng)建函數(shù)的同時(shí),會在函數(shù)內(nèi)部創(chuàng)建一個arguments對象實(shí)例;
arguments對象只有函數(shù)開始是,才可以用,它不是一個數(shù)組,但是,它的形式和數(shù)組一樣,是把多個單一的參數(shù)用一個籃子裝起來,看上去和數(shù)組很想,但是,不是數(shù)組,也就是說,數(shù)組的一切方法,它都不適用;
arguments對象的長度由實(shí)參的個數(shù)決定;
function fn(a,s,d){
console.log(fn.length); //fn.length就是形參的長度
console.log(arguments.length);
if(fn.length==arguments.length){
alert(a*s*d);
}else{
alert('你能不能老實(shí)傳三個給我?')
}
}
fn(1,2,3);
實(shí)參不一定非得等于形參,一般只有你需要用到的時(shí)候,才要求相等,沒有要求的話,形參和實(shí)參不相等也不影響函數(shù)的運(yùn)行;
總結(jié)
函數(shù)
1. 函數(shù)分為兩種:
1) 庫函數(shù)(內(nèi)置函數(shù))
2) 自定義函數(shù)(程序員自己定義的函數(shù))
從形式上來分:
1) 分為有參函數(shù)
2) 無參函數(shù)
2. 函數(shù)的使用
第一步:函數(shù)的定義
語法:function 函數(shù)名(){}
第二部:函數(shù)的調(diào)用
語法:函數(shù)名();
函數(shù)的命名規(guī)則,與變量相同;
3. 有參函數(shù)
語法:function 函數(shù)名(參數(shù)){}
參數(shù)可以分為多個,用逗號隔開;
在調(diào)用的時(shí)候需要進(jìn)行參數(shù)的傳遞,將實(shí)際參數(shù)傳遞給形式參數(shù);
4. 變量的作用域
根據(jù)變量的作用范圍,可以分為兩種:全局和局部;
1) 全局變量:在最外層聲明的變量;
2) 在函數(shù)內(nèi)部,但是沒有用var聲明的變量也是全局變量;
3)局部變量:在函數(shù)內(nèi)部聲明的變量;
返回值: return
定義:一個函數(shù)實(shí)際就是一個計(jì)算過程,計(jì)算完成之后的結(jié)果就是返回值;
在函數(shù)內(nèi)部用return來設(shè)置返回值,一個函數(shù)只能由一個返回值;
同時(shí),會終止代碼的執(zhí)行;
所以自定義函數(shù)默認(rèn)都沒有返回值;
return后面不要換行
var div=document.getElementsByTagName(‘’)
獲取某個類元素的標(biāo)簽
得到的是一個偽數(shù)組;