Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ISO 8859-1或Unicode中的JavaScript变量名_Javascript_Variables_Unicode_Iso - Fatal编程技术网

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

ISO 8859-1或Unicode中的JavaScript变量名,javascript,variables,unicode,iso,Javascript,Variables,Unicode,Iso,JavaScript文档:从JavaScript 1.5开始,您可以使用ISO 8859-1或Unicode字母,如标识符中的å和ü。 所以我试了一下: <!DOCTYPE html> <html lang="en"> <head> <title>JavaScript index</title> <script> var ü = 'tom'; console.log( ü );

JavaScript文档:
从JavaScript 1.5开始,您可以使用ISO 8859-1或Unicode字母,如标识符中的å和ü。

所以我试了一下:

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

    var ü = 'tom';

    console.log( ü );

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

JavaScript索引
varü=‘tom’;
console.log(ü);
控制台返回一个:
Uncaught语法错误:意外令牌非法

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


为什么这是一个错误?

您没有向浏览器指示要用什么编码来解析HTML文件。您应该在
的开头添加
元素,让它知道您将其保存为什么编码。(我建议使用UTF-8。)


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

您没有向浏览器指示要解析HTML文件的编码。您应该在
的开头添加
元素,让它知道您将其保存为什么编码。(我建议使用UTF-8。)


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

在我的chrome 40中可以正常工作,对我来说也可以。好的,我更新了代码以包含HTML。仍然得到相同的错误。它在我的chrome浏览器中运行良好。同样,对我来说运行良好。好的,我更新了代码以包含HTML。仍然得到相同的错误。谢谢。这就是问题所在。我添加了UTF-8编码。关于
cp1252和元标记的必要包含,您是从哪里获得这些信息的?只是好奇,以便将来我能更好地解决问题。@samyismyhero文本文件的编码在很大程度上是任意的,没有以无条件方式指定它的头,它是可以解释的。
标记是HTML的工作方式。XML也有类似的技巧,代码页1252是运行在英语或其他西欧语言环境中的浏览器最常见的猜测编码。当你多次看到UTF-8被误解为西欧莫吉贝克时,它们是显而易见的。其他的结果是可能的,因为浏览器如何在缺少字符集指示符的情况下猜测编码的故事确实是一个漫长而复杂的故事。谢谢。这就是问题所在。我添加了UTF-8编码。关于
cp1252和元标记的必要包含,您是从哪里获得这些信息的?只是好奇,以便将来我能更好地解决问题。@samyismyhero文本文件的编码在很大程度上是任意的,没有以无条件方式指定它的头,它是可以解释的。
标记是HTML的工作方式。XML也有类似的技巧,代码页1252是运行在英语或其他西欧语言环境中的浏览器最常见的猜测编码。当你多次看到UTF-8被误解为西欧莫吉贝克时,它们是显而易见的。其他的结果是可能的,因为浏览器如何在缺少字符集指示符的情况下猜测编码的故事确实是一个漫长而复杂的故事。