我的脚本中有一个滑块:
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 var。并且它不起作用 - console.log(uniquePrice);说“未定义”。
我做错了什么?
P.S。当然我在函数之前定义了全局变量,抱歉忘记包含在这里。
答案 0 :(得分:1)
你必须在函数之外定义变量。
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);
}
编辑:将console.log添加到滑块功能
答案 1 :(得分:1)
在该函数设置该变量之前,将调用console.log()。 js将:
因此,直到幻灯片发生变量将是未定义的
答案 2 :(得分:0)
我想我在某处读到,如果你忘记将变量名称的'var'放在其前面,它就会被声明为全局变量。请确认或否认;)
P.S。如果你完全删除#1行怎么办?你得到什么样的错误?