gpt4 book ai didi

javascript - 可行的 JavaScript 变量名

转载 作者:行者123 更新时间:2023-11-29 17:27:32 25 4
gpt4 key购买 nike

这是一个由两部分组成的问题:一般问题和具体问题。

对于一般情况:我经常发现自己想知道什么构成了 JavaScript 中可行的变量名?我知道有些“词”不能用作 JavaScript 中的变量;但是我还没有遇到过不可行的变量名列表,或者创建变量名时要应用的规则。如果我不确定,我通常会谨慎行事并使用晦涩难懂的名字。

很高兴确切地知道什么可以用作 JavaScript 变量,什么不能使用。

有什么建议吗?

具体而言:我想知道是否可以在我的 JavaScript 中使用 href 作为变量名?它是可行的还是保留的?


事后思考:也许我可以将这个问题扩展到也包含 JavaScript 函数名称。哪些名称是可行的,哪些是保留的?如果这两个问题相关,我将编辑以同时询问这两个问题。

注意:我不是在问哪些字符可以用在 JavaScript 变量中;这个问题已经回答了here .

最佳答案

嗯,实际上,您可以使用任何类型的名称作为变量名。

不是通过名称来引用变量,而是通过数组索引来引用它,因为 JS 中的所有对象属性都可以通过索引*访问,而且全局变量只是 window 对象的简单属性.

*字符串索引实际上可以包含任何类型的字符序列

因此问题可能更像是“我应该使用保留字作为变量名吗?”常识会告诉你不应该,除非这样的名称实际上与构造相关并且你找不到合适的替代品。

window['function'] = 2;
window['if'] = 4;
window['var'] = 8;
alert(window['function'] + window['if'] + window['var']);

警告!

保留字不同于原生功能。尽管在许多情况下您可以将用作保留关键字的名称用作变量,但实际上可以覆盖 native 功能。例如 Sarris 先生上面提到的 Node ,(这是一个 native 函数而不是保留关键字),你实际上可以通过执行 window['Node'] = myNewThing; 来覆盖它。这已在某些情况下用于实现“包装器”或“修补程序”功能,但不能保证以跨浏览器的方式工作(例如;MSIE 的控制台对象)。

关于javascript - 可行的 JavaScript 变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391490/

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