【问题标题】:How do I use a variable declared in function in another function? [duplicate]如何在另一个函数中使用函数中声明的变量? [复制]
【发布时间】:2017-10-27 17:43:27
【问题描述】:

如何在另一个函数中使用函数中声明的变量。

当用户单击带有 step4 类的按钮时,我需要声明抵押限制、抵押最大和抵押启动

$(".step4").click(function() {
   var mortgageLimit = parseInt(document.getElementById("property_value").value) * .80;
   var mortgageMax = parseInt(mortgageLimit * 1000);
   var mortgageStart = mortgageMax * .5;
});

然后我想使用mortgageMax 和mortgageStart 作为我正在使用的滑块的最小值和最大值

var thirdSlider = document.getElementById("estimated_mortgage_value");
noUiSlider.create(thirdSlider, {
    'start': ["220000"],
    'connect': 'lower',
    'format': wNumb({
        decimals: 0,
        thousand: ',',
     }),
     'range': {
         'min': [mortgageStart],
         'max': [mortgageMax]
     },
     'step': 10000
});

我不断收到“未捕获的 ReferenceError:未定义mortgageStart”错误。我试过将mortgageStart和mortgageMax声明为全局变量,但是我需要用户点击时声明的变量,所以变量需要在$(".step4").click(function() {

【问题讨论】:

  • 提问前请先google你的标题
  • 如果您在全局范围内声明变量,您可以在任何给定时间在任何函数中访问它们,但如果您确实需要在函数中声明它们,那么您无疑必须调用另一个函数并在声明它们后在函数调用中传递它们,例如:NextFunction(mortgageLimit,mortgageMax,mortgageStart)

标签: javascript jquery


【解决方案1】:

先在全局范围内声明变量。

var mortgageMax;
var mortgageStart;
var mortgageLimit;

$(".step4").click(function() {
   mortgageLimit = parseInt(document.getElementById("property_value").value) * .80;
   mortgageMax = parseInt(mortgageLimit * 1000);
   mortgageStart = mortgageMax * .5;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 2015-09-29
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多