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

首頁 > 語言 > JavaScript > 正文

Function.prototype.call.apply結合用法分析示例

2024-05-06 15:48:30
字體:
來源:轉載
供稿:網友
昨天在網上看到一個很有意思的js面試題:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a); 分析步驟如下,感興趣的朋友可以參考下哈

昨天在網上看到一個很有意思的js面試題,就跟同事討論了下,發現剛開始很繞最后豁然開朗,明白過來之后發現還是挺簡單的,跟大家分享下!
題目如下:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a);

分析步驟如下:
1、將Function.prototype.call當成整體,call方法是由瀏覽器實現的本地方法,是函數類型的內部方法
var a = (Function.prototype.call).apply(function(a){return a;}, [0,4,3]);

2、fun.apply(obj,args)等價于obj.fun(args),這一步是重點,必須理解!
(function(a){return a;}).apply(0,[4,3])
(function(a){return a;}).call(0,4,3)

3、 到這步結果就很明顯了,a就是4,alert的結果就是4

這個題目迷惑的點就在于Function.prototype.call,理解好了,就清晰明了了!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 茶陵县| 赣州市| 井研县| 化隆| 阿合奇县| 鄢陵县| 黎城县| 新余市| 辉南县| 潜山县| 莱芜市| 高唐县| 平舆县| 沾化县| 临西县| 清流县| 托克逊县| 灵璧县| 肥乡县| 尉氏县| 元阳县| 杭州市| 双牌县| 浦县| 罗定市| 夹江县| 雷州市| 太和县| 伊吾县| 宜春市| 准格尔旗| 新源县| 桐乡市| 革吉县| 克东县| 罗田县| 成武县| 张家界市| 洪江市| 西丰县| 临漳县|