更新 jQuery 中的全局变量
update the global variable in jquery
如何
更新jQuery中的变量值?如何在函数中更新变量值时更新变量值?我在jQuery中检查了变量的范围,但我不明白。
<script>
$(document).ready(function(){
var s = 9;
function data()
{
var s = 11;
}
data();
alert(s);
});
</script>
我想要 11 个数据警报,但我得到了 9 个。 如果值在函数中更新,如何更新该值。 请帮帮我解决这个问题。
我想你的意思是 11 而不是 80,或者你没有正确解释它。
这里s
是全局变量,您可以在data
函数中修改其值。当您data
函数中使用var s
时,它会创建一个新的变量名称s
其范围仅限于该函数。这就是为什么你会得到 9 超出其范围的原因。
$(function(){
var s = 9;
function data()
{
s = 11; //removed var from here, if you use var here it will...
//create new variable whose scope will end outside this function.
}
data();
alert(s);
});
推荐阅读:
- 值、变量和文本
- JavaScript 中的 var 及其范围
首先,这不是关于jQuery的问题。"$(文档).ready"...代码中的包装器与问题无关。
其次,就像我在评论中所说的那样,我假设你问题中的"70"和"80"是错误的,你的意思是说"9"和"11"。
要回答您的问题,您需要在s = 11
之前删除var
。此代码应执行所需的操作:
var s = 9;
function data()
{
s = 11;
}
data();
alert(s);
当你添加"var"时,你告诉代码s
应该只存在于当前函数(data
)的范围内,并覆盖外部作用域中称为"s"的任何其他变量。如果没有"var",两个s
指的是同一个变量。
我建议研究"Javascript中的范围",并更多地了解"var"和变量范围是如何工作的。
嗨,
我认为你不能从这个脚本中获得 70 的警报。而且我们不能用这些值在警报中获得 80,从这个脚本中 u 将在警报框中得到 9,因为你将var s
定义为两次,一次是全局的,另一个是私有的,当你要发出警报时,脚本采用全局。您可以使用以下脚本在警报框中获取 11:
<script>
$(document).ready(function(){
var s = 9;
function data()
{
s = 11;
}
data();
alert(s);
});
</script>
相关文章:
- 如何从jQuery设置控制器或全局变量的属性
- 在jquery中设置多个全局变量的最佳方式
- jQuery全局变量is't工作
- jQuery:如何使用文字对象方法中的方法来获取全局变量
- 保留 JQuery Vars 用于另一个函数(全局变量?)
- 全局变量 - AJAX jQuery
- 如何在jquery中将xml解析数据获取为全局变量
- Selenium Web驱动程序访问Jquery中的Javascript全局变量
- jQuery-函数全局变量
- jquery 中的简单全局变量
- jquery嵌套函数中的全局变量
- 每个语句中的jQuery全局变量
- 要求JS'ing一个没有全局$变量的jQuery插件
- jQuery对象、不一致的全局变量和AJAX调用
- jQuery访问node.js全局变量
- Javascript 和 JQuery dom 全局变量范围
- 未分配 JavaScript/jQuery 全局变量
- 无法多次更新 jQuery 中 Ajax 调用的全局变量
- jQuery - 全局变量的问题
- 将.change函数中变量的值传递并更新到全局变量Jquery