Я нашел простое решение здесь , используя closure
из @ Xotic750
Но можно ли запустить функцию без круглых скобок? Е.Г. :
var increment = new Increment()
console.log('value: ' + increment) // value: 1
console.log('value: ' + increment) // value: 2
console.log('value: ' + increment) // value: 3
При каждом запуске функции я получаю функцию в виде [object Object]
в console.log
вместо value
:
var Increment = (function(n) {
return function() {
n += 1;
return n;
}
}(0));
var increment = new Increment();
console.log('value: ' + increment) // value: [object Object]
console.log('value: ' + increment) // value: [object Object]
console.log('value: ' + increment) // value: [object Object]