如何在jQuery Slider函数中创建全局变量

How to create a global var inside jQuery Slider function

本文关键字:创建 全局变量 函数 Slider jQuery      更新时间:2023-09-26

我的脚本中有一个滑动条:

var uniquePrice;
$( "#slider-secondary" ).slider({
  range: "min",
  value: 0,
  min: 0,
  max: 50,
  slide: function( event, ui ) {
    $( "#amount-secondary" ).val( ui.value );
            uniquePrice = ui.value * 1500;
  }
});
console.log(uniquePrice);

并且我需要在滑块函数之外的代码中进一步使用uniquePrice变量。它不工作- console.log(uniquePrice);"定义"说。

我做错了什么?

注:当然,我在函数之前定义了全局变量,对不起,我忘了在这里包含

console.log()将在该函数设置该变量之前被调用。js将:

  • 声明变量
  • 然后设置滑块
  • console.log()

在幻灯片开始之前这个变量是未定义的

必须在函数外部定义变量。

var uniquePrice;
$( "#slider-secondary" ).slider({
      range: "min",
      value: 0,
      min: 0,
      max: 50,
      slide: function( event, ui ) {
          $( "#amount-secondary" ).val( ui.value );
          uniquePrice = ui.value * 1500;
          console.log(uniquePrice);
      }
});

如果你想让变量在函数之外,你可以这样做:

var uniquePrice;
$( "#slider-secondary" ).slider({
      range: "min",
      value: 0,
      min: 0,
      max: 50,
      slide: function( event, ui ) {
          $( "#amount-secondary" ).val( ui.value );
          uniquePrice = ui.value * 1500;
          doLog();
      }
});
function doLog(){
    console.log(uniquePrice);
}

edit:将console.log添加到slider函数

我想我在某个地方读到,如果你忘记把'var'前面的变量的名称,它被声明为一个全局变量。请确认或否认;)

注:如果完全删除第一行会发生什么?你会得到什么样的错误?