2015-01-26 38 views
1

JavaScript的单证statesStarting with JavaScript 1.5, you can use ISO 8859-1 or Unicode letters such as å and ü in identifiers.JavaScript变量名ISO 8859-1或Unicode

所以,我想这一点:

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

    var ü = 'tom'; 

    console.log(ü); 

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

控制台返回:Uncaught SyntaxError: Unexpected token ILLEGAL

我在浏览器中是环境:Chrome 40

为什么这是一个错误?

+0

它可以在我的镀铬40 – zerkms 2015-01-26 22:00:26

+0

罚款正常,对我来说很好。 – 2015-01-26 22:09:37

+0

好的,我更新了代码以包含HTML。仍然得到相同的错误。 – 2015-01-26 22:15:30

回答

5

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

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

+0

谢谢。这是诀窍,是问题所在。我添加了UTF-8编码。你从哪里得到这个信息,关于'cp1252和必要的meta标签'?只是好奇,以便将来我能更好地解决问题。 – 2015-01-26 22:29:23

+2

@samyismyhero文本文件的编码在很大程度上是任意的,没有一个头以无条件的方式指定它,它的解释是开放的。 ''标签是HTML如何做的。 XML也有类似的技巧。 – tadman 2015-01-26 22:39:56

+0

有道理。谢谢! – 2015-01-26 22:41:41