gpt4 book ai didi

javascript - 在 Javascript 中使用 var 声明变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:13 26 4
gpt4 key购买 nike

我正在努力解决(我认为是)范围界定问题。这是我的代码示例:

$(document).ready(function() {

var counter = 0;

function scrollTweets() {
counter ++;
// rest of code
}

...

)}; // end of document ready

当我在 Chrome 的 Javascript 控制台中查找变量 counter 时,它返回“ReferencedError”。但是,当我从上面的代码中删除 var 并在控制台中键入 counter 时,它会返回值。这是为什么?

我认为理解这个简单的概念将使我能够解决在开发过程中似乎突然出现的问题。这只是 Chrome 的范围界定问题吗?我是否不必要地将所有内容包装在 $(document).ready“函数”中?

最佳答案

var 将变量 counter 锁定在任何词法范围内——这意味着它在当前 block 、方法等中可用,并且可以附加到 closed -在范围内(即闭包),就像您对 scrollTweets 所做的那样。所以 counter 仅在 ready 回调和任何围绕它的闭包中可用,这就是为什么您无法从控制台访问它的原因。

当您拿走 var 时,counter 实际上是全局的,这就是您可以在这种情况下访问它的原因。

关于javascript - 在 Javascript 中使用 var 声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com