繁体   English   中英

为什么我的变量没有在 JavaScript 中声明

[英]Why Is My Variable Not Declaring In JavaScript

如果我们写:
window['anime'] = 'one punch man'

然后我们可以简单地访问:
console.log(anime)

但如果我们这样做:
window['%'] = 'symbol'

那么这给出了一个语法错误:
console.log(%)

为什么会这样?

快速通读一下( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types ),它是关于 JavaScript 有效标识符的。 本质上, %不是有效的,因此是错误的。

你可以做window['percent'] , window['PERCENT'] , window['_PERCENT'] , window['$percent']等,只要你遵守规则。

从网站:

您可以使用变量作为应用程序中值的符号名称。 变量的名称,称为标识符,符合一定的规则。

JavaScript 标识符必须以字母、下划线 (_) 或美元符号 ($) 开头。 后续字符也可以是数字 (0–9)。

由于 JavaScript 区分大小写,因此字母包括字符“A”到“Z”(大写)以及“a”到“z”(小写)。

您可以在标识符中使用大多数 ISO 8859-1 或 Unicode 字母,例如 å 和 ü。 (有关更多详细信息,请参阅此博客文章。)您还可以使用 Unicode 转义序列作为标识符中的字符。

合法名称的一些示例是 Number_hits、temp99、$credit 和 _name。

在 JavaScript 中,您不能将变量名声明为%因为它只能包含字母、数字、下划线和美元符号(但不能以数字开头)。

因此,当您执行window['anime'] = 'one punch man' ,将自动创建一个全局anime变量。
但是,当您执行window['%'] = 'symbol'%不会发生相同的情况,因为它不遵循上述规则。

% 在 JS 中用作余数运算符,因此不能用作变量名或访问值。

本文提供了有关在 JS 中可以或不可以用作变量名的更多信息: https : //mathiasbynens.be/notes/javascript-identifiers-es6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM