Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Chrome认为我的JavaScript是普通话_Javascript_Html_Google Chrome_Typescript - Fatal编程技术网

Chrome认为我的JavaScript是普通话

Chrome认为我的JavaScript是普通话,javascript,html,google-chrome,typescript,Javascript,Html,Google Chrome,Typescript,当我编译并运行我的typescript并在googlechrome中加载页面时,googlechrome认为我的javascript是普通话 这是我的.ts文件: class Student { fullName: string; constructor(public firstName, public middleInitial, public lastName) { this.fullName = firstName + " " + middleInitial + " " + las

当我编译并运行我的typescript并在googlechrome中加载页面时,googlechrome认为我的javascript是普通话

这是我的.ts文件:

class Student {
fullName: string;
constructor(public firstName, public middleInitial, public lastName) {
    this.fullName = firstName + " " + middleInitial + " " + lastName;
}
}


interface Person {
firstName: string;
lastName: string;
}


function greeter(person: Person) {
return "Hello, " + person.firstName + person.lastName;
}

var user = new Student("Mike", "A", "Harv");

document.body.innerHTML = greeter(user);  
这是我的.js文件:

var Student = (function () {
function Student(firstName, middleInitial, lastName) {
    this.firstName = firstName;
    this.middleInitial = middleInitial;
    this.lastName = lastName;
    this.fullName = firstName + " " + middleInitial + " " + lastName;
}
return Student;
}());
function greeter(person) {
return "Hello, " + person.firstName + person.lastName;
}
var user = new Student("Mike", "A", "Harv");
document.body.innerHTML = greeter(user);
这是我的.html文件:

<!DOCTYPE html>
<html>
<head><title>TypeScript Greeter</title></head>
<body>
    <script src="greeter.js"></script>
</body> 
</html>

打字迎宾员

编辑:我的.js文件的编码是UTF-8

我的js文件的十六进制转储


如果将utf-8(无bom)编码的greeter.js文件解码为UCS2-LE,您将看到中文字母。我试图说服Chrome将utf8编码的文件解码为ucs2le,但我没有成功。看起来,包括chrome在内的每个程序,只有在文件开头有正确的BOM表时才会使用UCS2-LE。以下字节将被解码为:

这些角色与屏幕截图上的角色相同


考虑到所有这些,我非常确定你的greeter.js文件编码被破坏了,它有UCS2 bom
FF FE
,javascript的utf8编码字节被追加。

我通过用bom编码UTF-8来保存我的js文件来解决这个问题

您可能有一些不可见的Unicode字符。您的文件存储在不同的字符集(编码)中。更多:与你的问题完全不同,考虑到
Student
没有实现
Person
,而你却把它传递给
greeter
…@TamasHegedus,我对TypeScript很精通,OP在问题中包括了他们的TypeScript,我有点惊讶。MikeMcCaughan抱歉,我的英语一定有问题。我的意思是包含的脚本类型正确,编译良好。只要类具有正确的属性,就不必显式地
实现接口。例如,若学生并没有名字,那个么调用
greeter(user)
将是一个编译时错误。如果显式实现Person,则会在学生类上显示编译时错误。在chrome中使用什么语言设置?它可能会受到默认语言的影响。@TamasHegedus我正在使用英语(美国)