使用函数外部的本地var不能按预期工作

时间:2015-10-05 17:04:21

标签: javascript jquery

有人请告诉我如何在本地范围之外使用本地变量吗?

function dosomething(e) { 
    current = jQuery(e);
    currentStartDate = current.datepicker('getDate');
    newStartDate = Date.parse(currentStartDate) / 1000;
}; 

newDate = null;
     jQuery(".gform_wrapper li input#input_2_1").change(function() {
             newDate = dosomething(this); 
});

// Use newDate here

1 个答案:

答案 0 :(得分:0)

除非将其分配给全局范围,否则不能在本地范围之外使用它。但是,如果它不存在,Javascript将自动添加一个带有名称的全局范围变量,但这是一个奇怪的事件,并且大部分时间不是程序员的意思。用严格来阻止它。无论如何,您必须将其分配给全局范围,并在本地范围内设置。

function dosomething(e) { 
    current = jQuery(e);
    currentStartDate = current.datepicker('getDate');
    newStartDate = Date.parse(currentStartDate) / 1000;
}; 



---> VAR  newDate = null;
         jQuery(".gform_wrapper li input#input_2_1").change(function() {
                 newDate = dosomething(this); 
    });

在这种情况下你只需要添加var。然后你可以在范围之外使用它。