#javascript
Доброго времени суток.
Есть конструктор. Нужно, чтобы экземпляр от него возвращал инкремент.
Как это можно и лучше реализовать?
'use strict'
function Count() {
// Здесь правильный код
}
var newCount = new Count();
alert(newCount); // 1
alert(newCount); // 2
alert(newCount + newCount); // 7
Ответы
Ответ 1
Конструктор не может возвращать примитивные типы. Поэтому формально ответ на вопрос: никак. Но можно воспользоваться возможностью определения для объектов функций toString и valueOf, которые вызываются автоматически при приведениях к различным типам, например: function Count() { var val = 0; this.valueOf = this.toString = function() { return ++val; }; } var newCount = new Count(); document.write(newCount); // 1 document.write(newCount); // 2 document.write(newCount + newCount); // 7
Комментариев нет:
Отправить комментарий