国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關于Javascript回調函數的一個妙用

2019-11-20 09:08:15
字體:
來源:轉載
供稿:網友

前言

其實回調函數簡單通俗點就是當有a和b兩個函數,當a作為參數傳給b,并在b中執行,這時a就是一個回調(callback)函數,如果a是一個匿名函數,則為匿名回調函數那下面們來通過一個實例來具體解釋下Javascript回調函數怎么使用。

實例

在很久很久以前,有一個人。

var person;

他是個人,也就是一個對象。

person= {}; // 在JavaScript中,花括號就代表是一個對象

他有個名字叫小明。

person.name = '小明';

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

alert(person.name);

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

person.money = '10塊錢';

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

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

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

運行:

person.spendMoney();

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

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

事實情況應該是,這錢怎么辦,還是由他自己說了算。因為錢在小明的口袋里。

所以,就可以用回調函數了。

回調函數本身就是一個數據類型。

在javaScript中,函數的地位和java中的Stringintboolean等等都是一樣的,都可以看成是一個數據類型。

既然是數據類型,當然可以當成參數傳遞。

于是就應該這樣:

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


打了個括號就是執行函數的意思。

沒打括號的函數,就是和Stringint一樣的玩意兒。

是一個數據類型。

一樣的。

JAVA里面會這么寫:

String str ="HelloWorld!";

在JavaScript中,函數也是一樣的。

var say =function(){    alert('HelloWorld');}

這時候的say就是一個數據類型。

因為沒有打括號,打了括號他才會執行!

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

person.spendMoney(function(){});

這樣就是把函數傳進去了。

把函數傳入spendMoney方法的目的就是讓函數在里面執行的。

所以:

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

里面就打了括號,代表要執行這個函數。

具體做什么,自己決定。

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

總結

就是可以將函數作為一個參數,傳入一個方法內,并且能夠在該方法中執行這個函數,這也就是js特有的回調函數的魔力。

以上就是關于Javascript回調函數用法的全部內容,希望對大家的學習和工作能有所幫助。如果有疑問可以留言討論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上饶市| 石门县| 沭阳县| 北宁市| 洛浦县| 双江| 驻马店市| 周宁县| 康定县| 哈密市| 左权县| 南乐县| 常山县| 南汇区| 肃南| 湖南省| 莱西市| 游戏| 普安县| 永泰县| 建始县| 石家庄市| 思南县| 永靖县| 安阳市| 嘉善县| 芦溪县| 清丰县| 文成县| 三明市| 阿勒泰市| 册亨县| 安图县| 康平县| 西贡区| 梅河口市| 尉犁县| 静乐县| 虎林市| 尉犁县| 洪江市|