JavaScript 构造函数的输出返回为 'undefined'
JavaScript output from constructor function comes back as 'undefined'
当我将参数传递到 console.log()
内部的 setGear()
时,结果返回 undefined
,这是为什么?结果应该是我传入的数字。
var Bike = function() {
var gear = 2; // private var set to an arbitrary number
this.setGear = function(change) { // public method
gear = change;
};
this.getGear = function() { // public method
return gear;
};
};
var myBike = new Bike();
console.log(myBike.setGear(4)); // returns undefined, should return 4
console.log(myBike.setGear(3)); // returns undefined, should return 3
console.log(myBike.setGear(1)); // returns undefined, should return 1
this.setGear = function(change) { // public method
gear = change;
};
不应该return 4.
this.setGear = function(change) { // public method
gear = change;
return gear;
};
应该做
如果你设置了myBike.setGear,你应该调用myBike.getGear函数来return档位;
myBike.setGear(4);
console.log(myBike.getGear);
当我将参数传递到 console.log()
内部的 setGear()
时,结果返回 undefined
,这是为什么?结果应该是我传入的数字。
var Bike = function() {
var gear = 2; // private var set to an arbitrary number
this.setGear = function(change) { // public method
gear = change;
};
this.getGear = function() { // public method
return gear;
};
};
var myBike = new Bike();
console.log(myBike.setGear(4)); // returns undefined, should return 4
console.log(myBike.setGear(3)); // returns undefined, should return 3
console.log(myBike.setGear(1)); // returns undefined, should return 1
this.setGear = function(change) { // public method
gear = change;
};
不应该return 4.
this.setGear = function(change) { // public method
gear = change;
return gear;
};
应该做
如果你设置了myBike.setGear,你应该调用myBike.getGear函数来return档位;
myBike.setGear(4);
console.log(myBike.getGear);