0

我正在关注 Codecademy 上的教程,它说

意外的标记 {

请问这里的错误是什么?

这是我需要做的

编写一个 if 语句来检查手提箱是否具有 shorts 属性。

如果您的 if 语句计算结果为 true,则打印 shorts 属性的值。

如果您的 if 语句计算结果为 false,请将 shorts 属性设置为您希望使用点表示法的任何值。然后打印 shorts 属性的值。

var suitcase = {
    shirt: "Hawaiian"
};
if (suitcase.hasOwnProperty("shorts") {
        console.log(suitcase.shorts)
    } else if (suitcase.hasOwnProperty != ("shorts")) {
        suitcase = {
            shorts: "tailormade"
        };
        console.log(suitcase.shorts);
    }
}
4

3 回答 3

4
var suitcase = {
     shirt: "Hawaiian"
     };

     if(suitcase.hasOwnProperty("shorts")){

      console.log(suitcase.shorts);


     }else if(!suitcase.hasOwnProperty("shorts")){

     suitcase = { shorts: "tailormade"};
      console.log(suitcase.shorts);


    }

改变的事情:

 if(suitcase.hasOwnProperty("shorts"){

缺少括号

 if(suitcase.hasOwnProperty("shorts")){

和这个:

}else if(suitcase.hasOwnProperty!=("shorts")){

移到!=前面!

}else if(!suitcase.hasOwnProperty("shorts")){

请注意,您可以只说else,不需要else if. 我还删除了最后一个右括号,并在第一个console.log. 而且由于您console.log(suitcase.shorts);在这两个地方都在做,所以只需将其从条件句中移出即可。

所以我们可以进一步将此代码简化为:

var suitcase = {
     shirt: "Hawaiian"
     };
 if(!suitcase.hasOwnProperty("shorts")){
     suitcase = { shorts: "tailormade"};
    }
console.log(suitcase.shorts);
于 2013-07-13T06:48:24.533 回答
1

您的代码行:

if(suitcase.hasOwnProperty("shorts"){

缺少 1 个括号来关闭 if 语句。它应该是:

if(suitcase.hasOwnProperty("shorts")){

您在粘贴的代码的最后还有一个额外的结束大括号。

于 2013-07-13T06:48:32.680 回答
1

您的if陈述缺少)- 每当您收到“意外的东西”错误时,请始终计算括号。它有助于使用支持括号匹配的编辑器,例如 Notepad++。

于 2013-07-13T06:48:35.690 回答