欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Javascript回調(diào)函數(shù)的一個(gè)妙用

 更新時(shí)間:2016年08月29日 08:48:31   投稿:daisy  
相信在剛開始學(xué)習(xí)JavaScript的時(shí)候,很多人感到最困惑的就是回調(diào)函數(shù)了。本文通過一個(gè)小小的例子來分析回調(diào)函數(shù)的用法。對(duì)大家學(xué)習(xí)Javascript回調(diào)函數(shù)很有幫助,有需要的可以來參考學(xué)習(xí)。

前言

其實(shí)回調(diào)函數(shù)簡(jiǎn)單通俗點(diǎn)就是當(dāng)有a和b兩個(gè)函數(shù),當(dāng)a作為參數(shù)傳給b,并在b中執(zhí)行,這時(shí)a就是一個(gè)回調(diào)(callback)函數(shù),如果a是一個(gè)匿名函數(shù),則為匿名回調(diào)函數(shù)那下面?zhèn)儊硗ㄟ^一個(gè)實(shí)例來具體解釋下Javascript回調(diào)函數(shù)怎么使用。

實(shí)例

在很久很久以前,有一個(gè)人。

var person;

他是個(gè)人,也就是一個(gè)對(duì)象。

person= {}; // 在JavaScript中,花括號(hào)就代表是一個(gè)對(duì)象

他有個(gè)名字叫小明。

person.name = '小明';

看一下是不是真的叫小明。

alert(person.name);

嗯,有一天,小明撿到了10塊錢。

person.money = '10塊錢';

有了錢就要花,于是他打算把10塊錢用掉。

小明有一個(gè)花錢的方法 spendMoney ()

person.spendMoney =function(){  alert(this.name +"用 "+this.money +" 塊錢買了漫畫書!");  }

運(yùn)行:

person.spendMoney();

彈出提示:小明用10塊錢買了漫畫書。

好了,問題來了,小明花錢就非得買漫畫書嗎,肯定不是。

事實(shí)情況應(yīng)該是,這錢怎么辦,還是由他自己說了算。因?yàn)殄X在小明的口袋里。

所以,就可以用回調(diào)函數(shù)了。

回調(diào)函數(shù)本身就是一個(gè)數(shù)據(jù)類型。

在javaScript中,函數(shù)的地位和java中的String,intboolean等等都是一樣的,都可以看成是一個(gè)數(shù)據(jù)類型。

既然是數(shù)據(jù)類型,當(dāng)然可以當(dāng)成參數(shù)傳遞。

于是就應(yīng)該這樣:

person.spendMoney =function(doSomeThing){  doSomeThing();  }


打了個(gè)括號(hào)就是執(zhí)行函數(shù)的意思。

沒打括號(hào)的函數(shù),就是和Stringint一樣的玩意兒。

是一個(gè)數(shù)據(jù)類型。

一樣的。

JAVA里面會(huì)這么寫:

String str ="HelloWorld!";

在JavaScript中,函數(shù)也是一樣的。

var say =function(){ 

   alert('HelloWorld');

}

這時(shí)候的say就是一個(gè)數(shù)據(jù)類型。

因?yàn)闆]有打括號(hào),打了括號(hào)他才會(huì)執(zhí)行!

小明用十塊錢做什么,他自己說了算。

person.spendMoney(function(){});

這樣就是把函數(shù)傳進(jìn)去了。

把函數(shù)傳入spendMoney方法的目的就是讓函數(shù)在里面執(zhí)行的。

所以:

person.spendMoney =function(doSomeThing){  doSomeThing(); }

里面就打了括號(hào),代表要執(zhí)行這個(gè)函數(shù)。

具體做什么,自己決定。

person.spendMoney(function(){  alert('還是把錢存起來吧!'); });

總結(jié)

就是可以將函數(shù)作為一個(gè)參數(shù),傳入一個(gè)方法內(nèi),并且能夠在該方法中執(zhí)行這個(gè)函數(shù),這也就是js特有的回調(diào)函數(shù)的魔力。

以上就是關(guān)于Javascript回調(diào)函數(shù)用法的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和工作能有所幫助。如果有疑問可以留言討論。

相關(guān)文章

最新評(píng)論