gpt4 book ai didi

javascript - "Implied Global variables"有哪些问题?

转载 作者:可可西里 更新时间:2023-11-01 01:50:23 25 4
gpt4 key购买 nike

JavaScript: The Good Parts 将这些类型的声明定义为错误的:

foo = value;

这本书说“JavaScript 使被遗忘的变量成为全局变量的策略创造了很难发现的错误。”

除了典型全局变量的通常危险之外,这些隐含的全局变量还有哪些问题?

最佳答案

正如关于 this answer 的评论中所讨论的那样, 设置某些值可能会产生意想不到的后果。

在 Javascript 中,这更有可能是因为设置全局变量实际上意味着设置 window 对象的属性。例如:

function foo (input) {
top = 45;
return top * input;
}
foo(5);

这将返回 NaN,因为您无法设置 window.top 并且乘以 window 对象不起作用。将其更改为 var top = 45 即可。

您无法更改的其他值包括 document。此外,还有其他全局变量,设置后会做一些令人兴奋的事情。例如,设置 window.status 会更新浏览器的状态栏值,而 window.location 会转到新位置。

最后,如果你更新一些值,你可能会失去一些功能。例如,如果您将 window.frames 设置为字符串,则您不能使用 window.frames[0] 访问框架。

关于javascript - "Implied Global variables"有哪些问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909578/

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