gpt4 book ai didi

javascript - 如何使这个javascript工作?

转载 作者:数据小太阳 更新时间:2023-10-29 05:47:05 26 4
gpt4 key购买 nike

我正在尝试制作递归匿名函数。

函数如下:

(function (i) {
console.log(i);
if (i < 5) this(i + 1)
})(0)

我知道“this”是窗口对象。有没有办法调用该函数?

最佳答案

arguments.callee可以使用属性。

(function(i){console.log(i);if(i<5)arguments.callee(i+1)})(0)

另一种实现相同功能的方法是通过命名函数。在范围之外,名称将不可用:

(function tmp(i){console.log(i);if(i<5)tmp(i+1)})(0); //OK, runs well
alert(typeof tmp); // Undefined


注意使用 arguments.callee属性在严格模式下被禁止:

"use strict";
(function(){arguments.callee})();

抛出:

TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them

关于javascript - 如何使这个javascript工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com