![](/img/trans.png)
[英]Can I pass "this" as a parameter to another function in javascript
[英]Can I pass this function to another function in Javascript?
我写了这个,但是没用
javascript函数可以将自身传递给其他函数吗
我还可以在调用者函数中访问变量吗?
function caller()
{
var variable=123;
calledfunction(this);
}
function calledfunction(caller)
{
console.log(caller.variable);
}
caller();
将赋值中的var variable
更改为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
calledfunction
放在caller
calledfunction
来使用闭包:
function caller()
{
var variable=123;
calledfunction();
function calledfunction()
{
console.log(variable);
}
}
caller();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.