国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - arguments.callee

瀏覽:109日期:2023-09-25 11:06:06

問題描述

function f (){ return arguments.callee;}f();

這里的return有什么作用呢?

問題解答

回答1:

arguments.callee 就是這個函數(shù),好像 ES6 已經(jīng)不推薦用了。

題目的代碼等同于

function f (){ return f;}回答2:

返回函數(shù)體本身

回答3:

如果你想知道你這段代碼的用途以及arguments.callee的作用可以先跟著我修改兩次你的代碼,看看效果,并自己總結一下,再接著看那個大概的解釋

方法一

增加一行代碼:alert(1); 并在調(diào)用的fn()后面再添加一個括號[ 改為fn()() ],最終如:

function f(){ alert(1); return arguments.callee();}f()();方法二

增加一行代碼:alert(1);,并將arguments.callee;改為arguments.callee();,最終如下:

function f(){ alert(1); return arguments.callee();}f();解釋

arguments 是JS里面一個內(nèi)置對象,存在于任何函數(shù)[ function ]中,而callee則是arguments對象中的一個方法指向調(diào)用它的這個函數(shù)本體,這里就是說它就相當于是f,調(diào)用callee等同于你又調(diào)用了一次f,其實callee多數(shù)情況是在匿名函數(shù)內(nèi)部使用,如:

(function(){alert(1);return arguments.callee(); })()關于return

這里的return就是返回整個函數(shù)本身·f通過上面的解釋你可以知道這里的arguments.callee就等同于f,如:

function f(){ alert(1); return arguments.callee;}f();↑↓等價于function f(){ alert(1); return function f(){ alert(1); };}f();回答4:

嚴格模式下報錯。 不推薦使用這個。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 陆川县| 遵义市| 松江区| 潞城市| 达拉特旗| 平江县| 岳普湖县| 保定市| 博湖县| 保定市| 奇台县| 宣汉县| 孝昌县| 秦皇岛市| 武胜县| 同德县| 广东省| 耿马| 定南县| 潮州市| 宜君县| 邢台市| 东海县| 海宁市| 吉首市| 汕尾市| 璧山县| 天等县| 内黄县| 闽清县| 和顺县| 惠州市| 兰溪市| 城口县| 二连浩特市| 肥东县| 吉隆县| 奇台县| 辽阳市| 苍山县| 沂南县|