JavaScript ISO 8859-1 或 Unicode 中的变量名称

JavaScript variable name in ISO 8859-1 or Unicode

JavaScript 文档 statesStarting with JavaScript 1.5, you can use ISO 8859-1 or Unicode letters such as å and ü in identifiers.

所以我试了一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>JavaScript index</title>
    <script>

    var ü = 'tom';

    console.log( ü );

    </script>
</head>
</html>

控制台 returns 一个:Uncaught SyntaxError: Unexpected token ILLEGAL

是我在浏览器环境中:Chrome40

为什么这是一个错误?

您没有向浏览器指明 HTML 文件使用何种编码进行解析。您应该在 <head> 的开头添加一个 <meta charset="..."/> 元素,让它知道您将其保存为哪种编码。 (我建议使用 UTF-8。)

根据错误,我怀疑您将文件保存为 UTF-8,但如果没有 meta 元素,浏览器会任意猜测该文件位于 Windows 代码页 1252(西欧)中。编码为UTF-8的字符ü是字节序列0xC3,0xBC。错误解码为 cp1252 的字节序列是 ü,这是一个非法变量名,因为 ¼ 不是字母。