我写了这个,但没有工作
javascript函数可以将自身传递给其他函数
我也可以访问调用函数中的变量吗?
function caller()
{
var variable=123;
calledfunction(this);
}
function calledfunction(caller)
{
console.log(caller.variable);
}
caller();
最佳答案
将赋值中的var变量
更改为this.variable
:
function caller()
{
this.variable=123;
calledfunction(this);
}
function calledfunction(caller)
{
console.log(caller.variable);
}
caller();
在这种情况下,caller
并没有真正生成新的实例/范围,因此this
实际上是全局的,这是不好的。最好创建一个新的空对象并使用它来保存数据,而不是使用 this
。
function caller()
{
var data = {};
data.variable=123;
calledfunction(data);
}
function calledfunction(values)
{
console.log(values.variable);
}
caller();
或者,在这种情况下,您可以通过将 calledfunction
放入 caller
中来使用闭包:
function caller()
{
var variable=123;
calledfunction();
function calledfunction()
{
console.log(variable);
}
}
caller();
关于javascript - 我可以将此函数传递给 JavaScript 中的另一个函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924220/