Когда я передаю параметр в setGear()
внутри console.log()
, результаты возвращаются undefined
, почему это? Результат должен быть число я передаю в.Выход JavaScript из функции конструктора возвращается как «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
'setGear' не возвращает ничего, поэтому' undefined' является возвращаемым значением по умолчанию. –
сеттер не должен ничего возвращать, геттер должен ... – epascarello
@epascarello --- точно! Возможно, я должен был сделать это ясно до публикации, и мой вопрос не был бы проголосован. Этот код выполняется из упражнения Free Code Camp, который предположительно иллюстрирует функцию конструктора. Я не вижу смысла возвращаться из '' '' getGear() '' ', но это то, что они предоставили. Я просто хотел увидеть результаты в node.js. –