#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
Комментариев нет:
Отправить комментарий