gpt4 book ai didi

javascript - 是否可以在不使用外壳的情况下将变量设置为等于函数?

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:55 24 4
gpt4 key购买 nike

在 JavaScript 中,你可以像这样设置一个变量等于一个方法:

variable = function () { alert("My name is bob"); };

或者像这样:

function SayMyName() {
alert("My name is bob");
}
variable = SayMyName;

你也可以像这样用参数包含一个函数:

function SayMyName(name) {
alert("My name is "+ name);
}
variable = function () { SayMyName("bob"); };

但尝试以下列方式存储变量将调用函数,而不是将其存储为变量:

function SayMyName(name) {
alert("My name is "+ name);
}
variable = SayMyName("bob");

以前有一种聪明的方法可以通过使用 [callee][1] 来解决这个问题,但是 callee 已经贬值并且不能在大多数现代浏览器上工作。

有什么方法可以使用封装将变量设置为等于带参数的函数?

最佳答案

你不能为此使用嵌套的匿名函数吗?

var variable = function(name) {
return function() {
alert('My name is ' + name);
};
};

调用它会产生您想要的结果:

var test = variable('bob');
test(); // Alerts "My name is bob"

关于javascript - 是否可以在不使用外壳的情况下将变量设置为等于函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882903/

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