Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript变量是保留字的名称_Javascript - Fatal编程技术网

Javascript变量是保留字的名称

Javascript变量是保留字的名称,javascript,Javascript,我发现自己,出于一些与本文无关但涉及机器生成代码的原因,需要创建名称为Javascript保留字的变量 例如,对于对象文字,如果键是无效标识符,则引用它们: var o = { validIdentifier: 1, "not a valid identifier": 2 }; 有没有类似的技术适用于简单的变量引用 对规范的深入研究表明,过去存在一种机制,通过滥用Unicode转义实现了这一点: f\u0075nction = 7; 然而,这似乎难以置信的可疑,而且显然正在迅速消失(尽管我最

我发现自己,出于一些与本文无关但涉及机器生成代码的原因,需要创建名称为Javascript保留字的变量

例如,对于对象文字,如果键是无效标识符,则引用它们:

var o = { validIdentifier: 1, "not a valid identifier": 2 };
有没有类似的技术适用于简单的变量引用

对规范的深入研究表明,过去存在一种机制,通过滥用Unicode转义实现了这一点:

f\u0075nction = 7;
然而,这似乎难以置信的可疑,而且显然正在迅速消失(尽管我最近的Chrome似乎仍然支持它)。有更现代的等价物吗

有更现代的等价物吗

否。保留字不能用作变量名。你可以用看起来像这些词的名字,但仅此而已

从:

保留字是不能用作标识符的标识符名称


仅供参考,保留字可以用作属性名称,即使没有引号:

var o = { function: 1 };

变量名不能是保留字

你总是可以做坏事,比如:

window["function"] = 'foo';
console.log(window.function);
> foo
您仍然无法使用裸保留引用它,因为它是保留的


机器生成的代码意味着任何生成代码的东西都被破坏。

如果它们是对象键,你可以随意调用它们(甚至是保留名称),而不需要引用它们

var o = { function: 'a' }

console.log(o.function) // a

关于最后一个问题:我的错误,我测试错误。关于前者:仍然希望一些奇怪的现象会从规范的某个模糊的角落爬出来……你为什么要这样做?“因为太不相关而无法进入这里”可能不像你想象的那样不相关。