来自Javascript教科书的示例代码给出意外错误

时间:2013-11-27 17:32:17

标签: javascript

前言 - 与问题无关 首先,我是Javascript的菜鸟,我正在学习它。我已经阅读了很多Eloquent Javascript,但最终发现它对我的水平来说太先进了。我被Nicholas Zakas建议开始阅读Web开发人员的专业Javascript。

问题 现在我试图尝试运行我在这里包含的ObjectTypeExample04.htm:

function displayInfo(args) {
    var output = “”;
    if (typeof args.name == “string”){
        output += “Name: “ + args.name + “\n”;
    }
    if (typeof args.age == “number”) {
        output += “Age: “ + args.age + “\n”;
    }
    alert(output);
}

displayInfo({
    name: “Nicholas”,
    age: 29
});

displayInfo({
    name: “Greg”
});

根据我的理解,它只会打印调用displayInfo中定义的对象,它会通过在该函数中附加输出变量来实现。

我不知道为什么我会收到此错误

  

异常:SyntaxError:非法字符

在JavaScript代码运行器中运行时(不知道技术名称)。但基本上我尝试使用JSFiddle没有运气,我不明白什么是错的,因为我将它复制并粘贴在教科书中。

3 个答案:

答案 0 :(得分:5)

将“”符号替换为标准“引号”并再次尝试。

答案 1 :(得分:1)

您正在使用LEFT DOUBLE QUOTATION MARK)和RIGHT DOUBLE QUOTATION MARK),您应该使用QUOTATION MARK")(或APOSTROPHE'))。

这通常是由使用文字处理器编写代码引起的,该文字处理器会自动使用印刷引号而不是常规文本编辑器替换直引号。

答案 2 :(得分:0)

用常规双引号替换“智能引号”:

function displayInfo(args) {
  var output = "";
  if (typeof args.name == "string"){
    output += "Name: " + args.name + "\n";
  }
  if (typeof args.age == "number") {
    output += "Age: " + args.age + "\n";
  }
  alert(output);
}
displayInfo({
  name: "Nicholas",
  age: 29
});
displayInfo({
  name: "Greg"
});