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

首頁 > 編程 > JavaScript > 正文

JavaScript call()和apply()方法

2019-11-11 07:26:10
字體:
來源:轉載
供稿:網友
我們可以將call()和apply()方法看做是某一個對象的方法,通過調用方法的形式來間接調用函數。call()和apply()的第一個實參是要調用函數的母對象,它是調用上下文,在函數體內通過this來獲得對它的引用。要想以對象o的方法來調用函數f(),可以這樣使用call()和apply():f.call(o);f.apply(o);每行代碼和下面的代碼功能類似(假設對象o中預先不存在名為m的屬性):o.m = f;      //將f存儲為o的臨時方法o.m();         //調用它,不傳入參數delete o.m;  //刪除臨時方法對于call()來說,第一個調用上下文實參之后的所有實參就是要傳入待調用函數的值。比如,以對象o的方法的形式調用函數f(),并傳入兩個參數,可以使用這樣的代碼:f.call(o, 1, 2);apply()方法和call()類似,但傳入實參的形式和call()有所不同,它的實參都放入一個數組當中:f.apply(o, [1, 2]);如果一個函數的實參可以是任意數量,給apply()傳入的參數數組可以是任意長度的。比如,為了找出數組中最大數值的元素,調用Math.max()方法的時候可以給apply()傳入一個包含任意個元素的數組:var biggest = Math.max.apply(Math, arr_of_numbers);需要注意的是,傳入apply()的參數數組可以是類數組對象也可以是真實數組。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 依安县| 共和县| 抚远县| 鄂托克前旗| 原平市| 汪清县| 永年县| 大方县| 宣汉县| 太白县| 兴宁市| 宁武县| 东平县| 三江| 南阳市| 沙田区| 河西区| 武乡县| 邵武市| 济宁市| 周至县| 台江县| 内黄县| 文成县| 郎溪县| 政和县| 乐亭县| 德庆县| 通榆县| 哈密市| 新乡县| 沅江市| 卓尼县| 鄂州市| 丹棱县| 临漳县| 三门峡市| 冕宁县| 潞西市| 凭祥市| 东辽县|