所以这就是说我的fiat对象中有一个未定义的变量?

问题描述:

var fiat = { 
    make: fiat, 
    model: "500", 
    year: 1957, 
    color: "medium Blue", 
    passengers: 2, 
    convertible: false, 
    mileage: 88000, 
    started: false, 
    start: function() { 
    started = true; 
    }, 
    stop: function() { 
    started = false; 
    }, 
    drive: function() { 
    if (started) { 
     alert("Zoom Zoom!"); 
    } else { 
     alert("Car needs to be started first."); 
    } 
    } 

}; 
fiat.start(); 
fiat.drive(); 

所以它一直说一个变量没有定义。这就是它让我在书中写出来的方式。我也试着说,如果(fiat.started),但也没有效果。有没有其他的方式来写它?所以这就是说我的fiat对象中有一个未定义的变量?

+1

[在方法'start'和'stop'和'drive'中使用'this.started'。](https://jsfiddle.net/tusharj/z1a2g90x/) – Tushar

+0

“在书”什么书? – leDominatre

started未定义。这相当于写作foo = "bar"。通过使用var或将其附加到对象中的预定义started来定义它。

如果您想使其成为全局变量,请将var started;添加到代码的开头。

在你的情况下,通过调用对象属性的功能,取代startedstart()stop()this.started