以下声明有效,
var \u0061 =2; // a = 2;
但是下面的声明会给出错误,
var \u00A5 = 2; // suppose to be ¥ = 2;
代码点0xA5
在BMP平面中,为什么会出现此错误?
答案 0 :(得分:2)
这与您的转义序列无关,这很好。与¥
相比,a
不是有效的标识符。 identifier需要以$
,_
,“任何具有Unicode属性”ID_Start“”的Unicode代码点开头,或者其中一个的转义序列以前的。作为货币符号的¥不是这样的特征。
答案 1 :(得分:0)
您正在做的事情相当于:
var a = 2;
var ¥ = 2;
¥
不是JavaScript中变量的有效字符。见What characters are valid for JavaScript variable names?