国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript中callee與caller的用法和應用場景_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 20:56:19
文檔

javascript中callee與caller的用法和應用場景_javascript技巧

javascript中callee與caller的用法和應用場景_javascript技巧:caller : functionName.caller 返回調用者。 看看下面的函數,大家可以復制到VS中執行下 代碼如下: function caller() { if (caller.caller) { alert(caller.caller.toString()); } else { alert(函數直接執行);
推薦度:
導讀javascript中callee與caller的用法和應用場景_javascript技巧:caller : functionName.caller 返回調用者。 看看下面的函數,大家可以復制到VS中執行下 代碼如下: function caller() { if (caller.caller) { alert(caller.caller.toString()); } else { alert(函數直接執行);

caller :
functionName.caller 返回調用者。

看看下面的函數,大家可以復制到VS中執行下
代碼如下:
function caller() {
if (caller.caller) {
alert(caller.caller.toString());
} else {
alert("函數直接執行");
}
}
function handleCaller() {
caller();
}
handleCaller();
caller();

大家會發現第一個alert會彈出調用caller函數的調用者handleCaller,而第二個alert由于沒有在其他函數體內調用,所以caller為null,就執行了 alert("函數直接執行");


callee:


返回正被執行的 Function 對象,也就是所指定的 Function 對象的正文.
callee是arguments 的一個屬性成員,它表示對函數對象本身的引用,這有利于匿名

函數的遞歸或者保證函數的封裝性。 下面一段代碼先說明callee的用法,實例代碼摘自網上
代碼如下:
function calleeLengthDemo(arg1, arg2) {
alert(arguments.callee.toString());
if (arguments.length == arguments.callee.length) {
window.alert("驗證形參和實參長度正確!");
return;
} else {
alert("實參長度:" + arguments.length);
alert("形參長度: " + arguments.callee.length);
}
}
calleeLengthDemo(1);

第一個消息框彈出calleeLengthDemo函數本身,這說明callee就是函數本身對象的引用。callee還有個非常有用的應用就是用來判斷實際參數跟行參是否一致。上面的代碼第一個消息框會彈出實際參數的長度為1,形式參數也就是函數本身的參數長度為2.

應用場景:
callee的應用場景一般用于匿名函數
大家看下下面一段代碼 摘自網絡
代碼如下:
var fn=function(n){
if(n>0) return n+fn(n-1);
return 0;
}
alert(fn(10))

函數內部包含了對自身的引用,函數名僅僅是一個變量名,在函數內部調用即相當于調用
一個全局變量,不能很好的體現出是調用自身,這時使用callee會是一個比較好的方法
代碼如下:
var fn=(function(n){
if(n>0) return n+arguments.callee(n-1);
return 0;
})(10);
alert(fn)

這樣就讓代碼更加簡練。又防止了全局變量的污染。

caller的應用場景 主要用于察看函數本身被哪個函數調用。

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

文檔

javascript中callee與caller的用法和應用場景_javascript技巧

javascript中callee與caller的用法和應用場景_javascript技巧:caller : functionName.caller 返回調用者。 看看下面的函數,大家可以復制到VS中執行下 代碼如下: function caller() { if (caller.caller) { alert(caller.caller.toString()); } else { alert(函數直接執行);
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久www免费人成_看片美女图 | 影音先锋亚洲综合小说在线 | 日韩精品一区在线 | 免费国产高清视频 | 91精品啪在线观看国产线免费 | 欧美精品一区二区三区视频 | 精品久久一区二区三区 | 免费永久在线观看黄网 | 国内久久| 亚洲高清专区 | 亚洲日本一区二区三区高清在线 | 欧美日韩亚洲精品国产色 | 国产亚洲欧美另类一区二区三区 | heyzo国产| 特级一级全黄毛片免费 | 午夜视频久久久久一区 | 一级全黄毛片 | 国产伦精品一区二区三区视频小说 | 亚洲色图在线播放 | 国产一区免费在线观看 | 在线观看国产欧美 | 国产一区二区日韩欧美在线 | 国产精品99久久久久久www | 国产 欧美 在线 | 欧美性xxxxx 欧美视频亚洲视频 | 中文字幕在线不卡 | 亚洲国产成人久久一区久久 | 亚洲欧洲视频在线 | 亚洲1页 | 国产精选视频在线观看 | 国产伦精一区二区三区 | 一本大道香蕉视频在线观看 | 成人a毛片久久免费播放 | 国产免费不卡 | 欧美亚洲综合在线 | 在线国产毛片 | 热综合一本伊人久久精品 | 国产精品久久久久激情影院 | 亚洲国语在线视频手机在线 | 国产在线一区二区三区欧美 | 曰韩在线 |