2015-01-26 21 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