JavaScript ISO 8859-1 或 Unicode 中的变量名称
JavaScript variable name in ISO 8859-1 or Unicode
JavaScript 文档 states:Starting 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 的字节序列是 ü
,这是一个非法变量名,因为 ¼
不是字母。
JavaScript 文档 states:Starting 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 的字节序列是 ü
,这是一个非法变量名,因为 ¼
不是字母。