我有
function Outer(x, y){
var X = x;
this.x = x;
$('#div1').find('input[type=checkbox]').each(function(index, values){
$(values).text(x); //x is undefined
$(values).text(X); //X is undefined
});
}
如何将值传递给内部函数?
答案 0 :(得分:3)
首先:所有JavaScript函数都可以访问在其父作用域上定义的变量。有关详情,请参阅here。
第二:'this'在你使用它时并不是指'本身',它指的是相关函数的调用网站。
所以在你的情况下,你需要做的就是
function Outer(x, y) {
$('#div1').find('input[type=checkbox]').each(function(index, values){
$(values).text(x);
});
}
然后调用Outer,其值为x和y
Outer(2, 3);
答案 1 :(得分:1)
简单地使用x
:
function Outer(x, y){
$('#div1').find('input[type=checkbox]').each(function(index, values){
$(values).text(x);
});
}
因为内部函数可以访问外部函数的范围。
如果x
为undefined
,那么您将undefined
传递给Outer
。