$ var Node = function(){ this.someval = 0; }
undefined
$ var node = new Node();
undefined
$ node.someval
0
$ Node.next_id = 0
0
$ Node.prototype.constructor = function() { this.someval = Node.next_id++; }
function() { this.someval = Node.next_id++; }
$ var node2 = new Node();
undefined
$ node2.someval
0
$ var node3 = new Node();
undefined
$ node3.someval
0
爲什麼next_id ++按預期工作?我期待next_id隨着每次調用new Node()
而增加,從而爲每個節點分配一個新的id。在Javascript中分配唯一標識號
設置「原型」對象的「構造函數」屬性不會做你看起來想象的那樣。 – Pointy
'Node.prototype.constructor = function(){this.someval = Node.next_id ++; }'不會自動改變'Node'。 –
我看到了,所以我不得不說var Node = function(){this.someval = Node.next_id ++; } – lowerkey