javascript对象,这段代码可能有什么问题?

时间:2013-07-13 06:44:25

标签: javascript

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

  

意外令牌{

这里有什么错误?

这就是我需要做的事情

  

写一个if语句,检查手提箱是否有短裤属性。

     

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

     

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

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

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

您的代码行:

if(suitcase.hasOwnProperty("shorts"){

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

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

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

答案 2 :(得分:1)

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