Javascript意外标记'+=';

Javascript意外标记'+=';,javascript,constructor,Javascript,Constructor,我正在学习JS,我正在使用codepen.io运行几个示例并在那里进行练习。因此,我编写了下面的脚本,它使用构造函数表示法来添加Hotel对象。我还将checkAvailability功能添加到酒店属性中,以从总房间中减去已预订的房间。然后我创建了一个新变量来存储酒店的详细信息,这样我就可以打印出酒店和可用房间的名称。我收到一条错误消息,说“+=”是意外标记。有人知道为什么吗 多谢各位 function Hotel(name, rooms, booked) { this.name = nam

我正在学习JS,我正在使用codepen.io运行几个示例并在那里进行练习。因此,我编写了下面的脚本,它使用构造函数表示法来添加Hotel对象。我还将checkAvailability功能添加到酒店属性中,以从总房间中减去已预订的房间。然后我创建了一个新变量来存储酒店的详细信息,这样我就可以打印出酒店和可用房间的名称。我收到一条错误消息,说“+=”是意外标记。有人知道为什么吗

多谢各位

function Hotel(name, rooms, booked) {
  this.name = name;
  this.rooms = rooms;
  this.booked = booked;
  this.checkAvailability = function (){
    return this.rooms - this.booked;
  };
}
var alasiaHotel = new Hotel('Alasia', 50, 10);
var hotelDetails = alasiaHotel.name + ' rooms: ';
var hotelDetails += alasiaHotel.checkAvailability();
document.write(hotelDetails);

您不能在变量定义中定义
+=
,而且您似乎意外地定义了
hotelDetails
两次。如果从
hotelDetails+=
语句中删除
var
,它应该可以工作。

var hotelDetails+=
应该是
hotelDetails+=
。我觉得这种行为很奇怪。var x=1;var x+=1;当var x=x+1时给出和错误;看起来很好。有什么解释吗?sp00m的答案解决了这个问题。我应该从第二个hotelDetails中删除var。