Javascript 如何从内部传递变量单击函数将外部变量设置为零
我有一个名为progress的变量,如下所示 单击下图中的图像时,我希望进度设置为0;我在下面试Javascript 如何从内部传递变量单击函数将外部变量设置为零,javascript,Javascript,我有一个名为progress的变量,如下所示 单击下图中的图像时,我希望进度设置为0;我在下面试 var progress = 10; var progress2 = $(".close2 img").click(function() { // if user clicks the reset button (Start Over) then var progress = 0; //console.log(progress); return progress; }); 但它失败了。。
var progress = 10;
var progress2 = $(".close2 img").click(function() {
// if user clicks the reset button (Start Over) then
var progress = 0;
//console.log(progress);
return progress;
});
但它失败了。。范围内的进度设置为零。但是在外面我很难通过它……有人能帮我找出我犯的错误吗?就这么做吧
$(".close2 img").click(function() {
progress = 0;
//console.log(progress);
return progress;
});
当您使用var时,您正在函数内创建一个变量(具有相同的名称)
PD:正如@adeneo所说,试图捕获jQuery侦听器的输出是无用的。progress2的声明将始终是一个DOM元素数组
以这个函数为例
var true_body=jQuery('body').click(function() { return true; });
似乎真体总是将true
作为其值。事实是,身体是真的
[…这里的所有正文内容…]
就这样做吧
$(".close2 img").click(function() {
progress = 0;
//console.log(progress);
return progress;
});
当您使用var时,您正在函数内创建一个变量(具有相同的名称)
PD:正如@adeneo所说,试图捕获jQuery侦听器的输出是无用的。progress2的声明将始终是一个DOM元素数组
以这个函数为例
var true_body=jQuery('body').click(function() { return true; });
似乎真体总是将true
作为其值。事实是,身体是真的
[…此处的所有正文内容…]
您正在将局部变量进度
设置为0,而外部进度
保持不变。从var progress=0中删除var
不声明新变量。您正在将局部变量进度
设置为0,而外部进度
保持不变。从var progress=0中删除var
代码>不声明新变量。您的代码正在声明一个新的进度变量,该变量位于单击处理程序的作用域中。您可以从封闭范围访问进度变量,如下所示:
var progress = 10;
$(".close2 img").click(function() {
progress = 0;
});
您的代码正在声明一个新的进度变量,该变量位于单击处理程序的作用域的本地。您可以从封闭范围访问进度变量,如下所示:
var progress = 10;
$(".close2 img").click(function() {
progress = 0;
});
不能从click函数返回,progress2是一个包含image元素的jQuery对象?极好的point@adeneo不能从click函数返回,progress2是一个包含image元素的jQuery对象?极好的point@adeneo说返回值是一个DOM元素数组有点误导。实际上,它是一个jQuery对象,对于任何有用的“click”应用程序,它总是包装一个或多个DOM元素。但是返回的对象不是DOM元素数组……没错,它不是真正的数组,因为它继承了jQuery的方法,但它的行为类似于数组,因为您可以使用jQuery(选择器)[0]访问原始DOM元素。如果说返回值是DOM元素数组,那就有点误导了。实际上,它是一个jQuery对象,对于任何有用的“click”应用程序,它总是包装一个或多个DOM元素。但是返回的对象不是DOM元素的数组……没错,它不是真正的数组,因为它继承了jQuery的方法,但它的行为类似于数组,因为您可以使用jQuery(选择器)[0]实际访问原始DOM元素。