• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    JavaScript中call和apply方法的區(qū)別實例分析

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:10:36
    文檔

    JavaScript中call和apply方法的區(qū)別實例分析

    JavaScript中call和apply方法的區(qū)別實例分析:本文實例分析了JavaScript中call和apply方法的區(qū)別。分享給大家供大家參考,具體如下: 這兩個方法不經(jīng)常用,但是在某些特殊場合中是非常有用的,下面主要說下它們的區(qū)別: 1、首先,JavaScript是一門面向?qū)ο蟮恼Z言,也就是說它有this的概念。而且Jav
    推薦度:
    導(dǎo)讀JavaScript中call和apply方法的區(qū)別實例分析:本文實例分析了JavaScript中call和apply方法的區(qū)別。分享給大家供大家參考,具體如下: 這兩個方法不經(jīng)常用,但是在某些特殊場合中是非常有用的,下面主要說下它們的區(qū)別: 1、首先,JavaScript是一門面向?qū)ο蟮恼Z言,也就是說它有this的概念。而且Jav

    本文實例分析了JavaScript中call和apply方法的區(qū)別。分享給大家供大家參考,具體如下:

    這兩個方法不經(jīng)常用,但是在某些特殊場合中是非常有用的,下面主要說下它們的區(qū)別:

    1、首先,JavaScript是一門面向?qū)ο蟮恼Z言,也就是說它有this的概念。而且JavaScript是一門動態(tài)類型語言,為什么說它是動態(tài)類型語言呢?因為JavaScript在編譯時沒有類型檢查的過程,不會去檢查創(chuàng)建的對象類型,也不會去檢查傳遞的參數(shù)類型,所以它的變量類型在運行期間是可以改變的。

    2、要知道callapply都是為了改變某個函數(shù)運行時的上下文(context)而存在的,也就是為了改變函數(shù),也可以說是對象(函數(shù)本身就是對象)內(nèi)部this的指向而存在的。

    3、二者區(qū)別為:傳參數(shù)的方式不一樣,如下:

    func.call(this, arg1, arg2);
    func.apply(this, [arg1, arg2]);
    
    

    上面也很清楚了,call傳參數(shù)時,明確知道時幾個參數(shù)或者參數(shù)較少時,比如arg1、arg2,挨個傳就是了;

    apply第二個參數(shù)必須為一個數(shù)組,即將參數(shù)放進數(shù)組中即可。

    4、實例

    (function(){
     Array.prototype.push.call(arguments, 4);//arguments借用Array.prototype.push方法
     console.log( arguments ); //
    輸出: [1, 2, 3, 4] })(1, 2, 3); var currying = function(fn){ var args = []; return function(){ if( arguments.length === 0){ return fn.apply( this, args); } else{ [].push.apply( args, arguments); return arguments.callee; //callee已棄用 } } }; var cost = (function(){ var money = 0; return function(0{ for(var i = 0,l - arguments.length;i<l;i++){ money += arguments[i]; } return money; } })();

    調(diào)用:

    var cost_ = currying(cost); //將cost轉(zhuǎn)化成curring函數(shù)
    cost_(1); cost_(2); alert(cost_()); //
    輸出:3

    解釋:通過currying(柯里化)的轉(zhuǎn)化,在cost_中傳入?yún)?shù)時,未能得到值,而是將值存儲起來,直到當(dāng)無參數(shù)傳入時,輸出結(jié)果。

    更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

    希望本文所述對大家JavaScript程序設(shè)計有所幫助。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    JavaScript中call和apply方法的區(qū)別實例分析

    JavaScript中call和apply方法的區(qū)別實例分析:本文實例分析了JavaScript中call和apply方法的區(qū)別。分享給大家供大家參考,具體如下: 這兩個方法不經(jīng)常用,但是在某些特殊場合中是非常有用的,下面主要說下它們的區(qū)別: 1、首先,JavaScript是一門面向?qū)ο蟮恼Z言,也就是說它有this的概念。而且Jav
    推薦度:
    標(biāo)簽: 方法 區(qū)別 call
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品女同一区二区久久| 亚洲精品tv久久久久久久久| 日本Aⅴ大伊香蕉精品视频 | 国产精品五月天强力打造| 久久亚洲私人国产精品| 欧美日韩精品一区二区三区不卡| 四虎影永久在线观看精品| 久久国产热精品波多野结衣AV| 欧美精品黑人粗大欧| 国产精品v欧美精品v日韩| 国产精品一久久香蕉国产线看观看| 亚洲精品动漫人成3d在线| 国产精品亚洲αv天堂无码| 久久国产精品成人免费| 黑人巨大精品欧美| 乱精品一区字幕二区| 亚洲精品国偷自产在线| 欧美在线精品一区二区三区| 国产精品欧美亚洲韩国日本久久 | 亚洲国产精品无码av| 久久www免费人成精品香蕉| 88国产精品无码一区二区三区 | 精品精品国产国产| 99久久精品国产一区二区| 国产精品福利网站导航| 国产精品v片在线观看不卡| 精品无码日韩一区二区三区不卡| 午夜精品久久久久久久| 亚洲av日韩av天堂影片精品| 一本一本久久a久久综合精品蜜桃 一本一道精品欧美中文字幕 | 91精品在线播放| 国产精品视频一区二区三区四 | 欧美日韩精品一区二区三区| 国产精品电影网| 麻豆精品久久久一区二区| 久久精品国产91久久麻豆自制 | 无码人妻精品一区二区蜜桃AV| 久久久久人妻一区精品果冻| 精品久久久久久99人妻| 精品伦精品一区二区三区视频 | 国产偷窥熟女高潮精品视频|