|
|
1
26
Javascript实际上没有命名常量或对象的不可变属性的概念。(请注意,我这里不是说ES5。)
你可以用一个简单的
当然,您的代码可以使用该常量,尽管它不是真正的“常量”,因为该值可以更改(换句话说,属性会更新)。
编辑
-这是一个古老问题的古老答案。在2019年
|
|
|
2
29
正如“Pointy”如此小心地指出的,ECMAscript没有这样的特性。然而, JavaScript does :
当然,如果你写代码放在web上运行在web浏览器中,这可能对你没有多大帮助。:-) |
|
|
3
13
一切都是全球性的,除非
也没有常数。您只需声明它们而不必
如果要确保全局范围,可以将其放入
你可以在任何范围内这样做。然后可以在函数或闭包中声明常量,不过我不建议这样做。 |
|
|
4
7
你可以像这样使用getter和setter:
如果要使用通用函数执行此操作:
|
|
|
5
4
如果您只关心支持较新的浏览器(或者使用像Babel这样的transpiler来支持较旧的浏览器),那么可以执行以下操作:
这是一种比尝试实现全局常量更干净的方法,特别是当您有多个JavaScript文件要在中使用常量时。 |
|
|
6
3
如果要确保值不能更改,请使用函数。 所以,不要:
使用:
|
|
|
7
2
对这个问题的直接回答是否定的。如果ECMA/JS能够轻松地进行函数式编程,那么它确实会有帮助。我用来解决这个问题的一个可行的方法是在全局范围内声明一个const并使用一个包装函数参见下面的示例: :)
:) 当面向对象编程是炒作的时候,我班上的一个孩子告诉C老师C不是面向对象的,老师说他在C和C++之前就已经做过C语言的面向对象编程了。同样,您可以用Javascript进行函数式编程,但难度要大得多。这就像在C中做面向对象编程时更容易在C++中完成。 |
|
|
8
0
记录在案。
所以,如果常量是在{}内定义的,那么它是局部的,否则,它是全局的。 |
|
|
glor · 如何在报价单中的r中使用全局变量 8 年前 |
|
|
Mabadai · 将一个int数组复制到另一个C++ 8 年前 |
|
infinite · 即使没有声明也在使用全局定义 8 年前 |
|
|
Rakesh · 全局变量值不反映在函数之间 8 年前 |
|
|
oneMoreDeveloper · Javascript全局数组声明 8 年前 |
|
|
Klayd Pro · 在c中使用本地指针调用并返回函数 8 年前 |
|
|
Rob Matthews · 为模拟信用卡应用程序颁发简单的唯一ID 8 年前 |