Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-全局变量_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-全局变量

Javascript jQuery-全局变量,javascript,jquery,Javascript,Jquery,我试图在不同的函数中使用变量,我想设置全局变量。有办法吗 我想要这样的东西: $('.bar1').animate({'height':'10' + "%"},1500, function() { var bar1_height = $(".bar1").height() * 0.5; }); 然后在其他地方使用变量bar\u height。在函数之外声明bar\u height var bar1_height; $('.bar1').animate({'height':'10

我试图在不同的函数中使用变量,我想设置全局变量。有办法吗

我想要这样的东西:

$('.bar1').animate({'height':'10' + "%"},1500, function() {  
    var bar1_height = $(".bar1").height() * 0.5;  
});

然后在其他地方使用变量
bar\u height

在函数之外声明
bar\u height

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {
    bar1_height = $(".bar1").height() * 0.5;
});
这将允许您全局访问它(即在功能内部和外部)

发件人:

当您在任何函数之外声明变量时,它被称为 全局变量,因为它可用于 当前文件。在函数中声明变量时,它是 称为局部变量,因为它仅在该变量中可用 功能

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {
    bar1_height = $(".bar1").height() * 0.5;
});

在您的功能范围之外声明
bar\u height

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {
    bar1_height = $(".bar1").height() * 0.5;
});
这将允许您全局访问它(即在功能内部和外部)

发件人:

当您在任何函数之外声明变量时,它被称为 全局变量,因为它可用于 当前文件。在函数中声明变量时,它是 称为局部变量,因为它仅在该变量中可用 功能

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {
    bar1_height = $(".bar1").height() * 0.5;
});
完成了

还是一种更理想的方式

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {  
    bar1_height = $(".bar1").height() * 0.5;  
});
完成了

还是一种更理想的方式

var bar1_height;
$('.bar1').animate({'height':'10' + "%"},1500, function() {  
    bar1_height = $(".bar1").height() * 0.5;  
});
javascript最糟糕的一个方面是。只需删除
var
关键字,即可使变量成为全局变量:

$('.bar1').animate({'height':'10' + "%"},1500, function() {  
   bar1_height = $(".bar1").height() * 0.5;  
});
但这是可以考虑的。例如:

var getAddress = function(street, city, country) {
    location = street + ', ' + city + ', ' + country;
    return location;
}
getAddress('Holborn', 'London', 'England');
你能认出那只可怕的虫子吗

你真的应该在尽可能狭窄的范围内声明你的变量,否则你会得到一堆混乱的全局变量。如果在函数内外都需要变量,只需在外部范围内声明它(正如其他答案所述):

(这里神秘的外部功能是防止变量成为真正的全局变量。)

我发现了解关于可变范围的最佳实践非常有用

javascript最糟糕的一个方面是。只需删除
var
关键字,即可使变量成为全局变量:

$('.bar1').animate({'height':'10' + "%"},1500, function() {  
   bar1_height = $(".bar1").height() * 0.5;  
});
但这是可以考虑的。例如:

var getAddress = function(street, city, country) {
    location = street + ', ' + city + ', ' + country;
    return location;
}
getAddress('Holborn', 'London', 'England');
你能认出那只可怕的虫子吗

你真的应该在尽可能狭窄的范围内声明你的变量,否则你会得到一堆混乱的全局变量。如果在函数内外都需要变量,只需在外部范围内声明它(正如其他答案所述):

(这里神秘的外部功能是防止变量成为真正的全局变量。)


我发现了解关于可变范围的最佳实践非常有用

虽然这确实是一个全局变量(好吧,属性真的),但它通常也不是解决这个问题的理想方法…@pst-我知道,但OP说他想要一个全局变量,这肯定是全局变量。OP对JavaScript的经验也较少。提供有助于做出明智决策的其他信息:)投票赞成,尽管解释差异会使这成为一个更好的答案。另外,请看RichardTowers的回答。虽然这确实是一个全局变量(好吧,属性真的),但它通常也不是解决这个问题的理想方法…@pst-我知道,但OP说他想要一个全局变量,这肯定是全局变量。OP对JavaScript的经验也较少。提供有助于做出明智决策的其他信息:)投票赞成,尽管解释差异会使这成为一个更好的答案。另外,请参阅RichardTowers的答案。我已经尝试过检索值
$('.test').text(bar12_高度)它给了我“undefined%”,而没有看到其余的相关代码。还有,你是说bar1_高度还是bar12_高度?这是代码的其余部分,我不知道我做错了什么两件事。1) 您应该在animate调用中从
var bar1\u height
中删除var,因为这实际上会重新声明它。2) 用于指定值的代码是正确的,但它是在动画完成之前执行的。像这样向内移动:好的,但我想在函数的外侧使用变量bar1_height。。。我想在代码后期使用该值,你明白我的意思吗?我尝试过检索值
$('.test')。text(bar12_高度)它给了我“undefined%”,而没有看到其余的相关代码。还有,你是说bar1_高度还是bar12_高度?这是代码的其余部分,我不知道我做错了什么两件事。1) 您应该在animate调用中从
var bar1\u height
中删除var,因为这实际上会重新声明它。2) 用于指定值的代码是正确的,但它是在动画完成之前执行的。像这样向内移动:好的,但我想在函数的外侧使用变量bar1_height。。。我想在代码后期使用这个值,你明白我的意思吗?