<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • javascript中callee與caller的區(qū)別

    時(shí)間:2024-10-06 09:45:56 JavaScript 我要投稿
    • 相關(guān)推薦

    javascript中callee與caller的區(qū)別

      callee

      callee是對(duì)象的一個(gè)屬性,該屬性是一個(gè)指針,指向參數(shù)arguments對(duì)象的函數(shù)

      首先我們來(lái)寫(xiě)個(gè)階成函數(shù):

      function chen(x){if (x<=1) {return 1;} else{return x*chen(x-1);};};

      從這個(gè)函數(shù)中可以看出來(lái),用到了遞歸函數(shù),要是改變了函數(shù)名,里面的函數(shù)名也要隨著改變,這樣很不方便所以我們用callee來(lái)試試

      function chen(x){if (x<=1) {return 1;}else{return x*arguments.callee(x-1);};};

      我們來(lái)分析一下為什么這樣寫(xiě):根據(jù)callee的定義,可以看出來(lái)callee是arguments對(duì)象的一個(gè)屬性,指向arguments對(duì)象的函數(shù),這個(gè)函數(shù)就是chen(chen=arguments.callee),這樣解釋?xiě)?yīng)該可以理解了吧。

      caller

      caller是函數(shù)對(duì)象的一個(gè)屬性,該屬性保存著調(diào)用當(dāng)前函數(shù)的函數(shù)的引用(指向當(dāng)前函數(shù)的直接父函數(shù))

      先來(lái)個(gè)例子吧

      function a(){b();};function b(){alert(b.caller);};a(); //結(jié)果就是彈出函數(shù)a和內(nèi)容

      我們來(lái)解釋一下吧,首先函數(shù)b的屬性caller調(diào)用當(dāng)前函數(shù)b的函數(shù)引用a(就是指向當(dāng)前函數(shù)b的父函數(shù)a),所以結(jié)果就是彈出 function a(){ b();};

      那么了解了caller和callee,那么可以不可以將二者結(jié)合在一起來(lái)使用呢

      function b(){alert(b.caller);};

      從這個(gè)代碼可以看出b函數(shù)中調(diào)用了b函數(shù)名,這樣當(dāng)函數(shù)名改變時(shí)就很不方便,我們需要替換里面的那個(gè)b

      前面我們知道用什么方法可以指向當(dāng)前對(duì)象,下面我們就來(lái)修改一下:

      (function a(){b();})();function b(){alert(arguments.callee.caller);};

      從代碼中可以看出我們用arguments.callee代替了b函數(shù),所以解決了一下麻煩。。。。。

      以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

    【javascript中callee與caller的區(qū)別】相關(guān)文章:

    JavaScript中的with關(guān)鍵字07-24

    在Java中執(zhí)行JavaScript代碼07-14

    Javascript中typeof 用法歸納09-27

    抽象語(yǔ)法樹(shù)在JavaScript中的應(yīng)用08-18

    JavaScript中的三種對(duì)象10-24

    perl- javascript中class的機(jī)制05-03

    JavaScript類定義原型方法的兩種實(shí)現(xiàn)的區(qū)別07-11

    JavaScript中push(),join() 函數(shù)實(shí)例詳解09-05

    詳解JavaScript中的splice()使用方法08-20

    javascript中for/in循環(huán)以及常見(jiàn)的使用技巧06-24

    主站蜘蛛池模板: 国产精品亚洲高清一区二区| 人妻AV一区二区三区精品| 亚洲精品成人区在线观看| 午夜精品美女自拍福到在线| 精品无人区一区二区三区| 日韩精品无码免费视频| 国内精品久久久久久久coent | 国产欧美在线观看精品一区二区| 精品亚洲综合久久中文字幕| 囯产精品一品二区三区| 精品一区二区三区自拍图片区| 亚洲日韩精品无码专区网址| 麻豆国内精品久久久久久| 国产乱子伦精品免费视频| 88国产精品欧美一区二区三区| 国产日韩欧美精品| 国产精品久久久久久搜索| 99精品国产在热久久| 国产精品免费AV片在线观看| 久久99精品久久久久久久久久| 欧美精品hdvideosex4k| 全球AV集中精品导航福利| 日韩精品视频一区二区三区| 中文字幕精品无码久久久久久3D日动漫| 欧美精品福利视频一区二区三区久久久精品 | 99久久精品这里只有精品| 91国内揄拍国内精品对白不卡 | 国产成人精品久久二区二区| 国产亚洲精品岁国产微拍精品| 精品无码无人网站免费视频| 精品免费人成视频app| 国产精品区一区二区三在线播放| 国产欧美日韩精品丝袜高跟鞋 | 欧洲精品码一区二区三区免费看| 日韩欧美一区二区三区中文精品| 亚洲а∨天堂久久精品9966| 亚洲日韩精品无码一区二区三区| 无码人妻精品一区二区| 国内精品久久久人妻中文字幕| www.亚洲精品.com| 久久成人国产精品二三区|