【发布时间】:2019-05-28 18:09:38
【问题描述】:
我希望能够在函数内定义一个全局范围内的常量。对于普通变量,可以通过在函数外部定义它并在函数内部设置它的值来实现,如下所示:
var carType;
function carType(){
carType = 'Reliant Robin';
}
但是你不能在不设置值的情况下定义全局变量,所以这不适用于常量,有什么办法可以解决这个问题吗?
【问题讨论】:
-
你可以在全局对象上设置一个不可配置的属性,但这仍然是代码的味道。
-
const carType;是非法语法。 -
@PatrickRoberts 我知道,“但是你不能在不设置值的情况下定义全局变量,因此程序将在第一行失败”。我在问有没有办法解决这个问题
-
如果你在定义之前声明了一个变量,根据定义它不是一个常量,所以你的请求没有意义。
-
简短的回答是否定的——你不能在使用函数内的声明或使用
eval的全局范围。我调查了this answer 的评估案例关于范围。
标签: javascript node.js function constants