我需要創造一個對象每次有人點擊一個按鈕:創建一個對象一次,然後再使用它會導致對象不是一個函數錯誤
var button = document.getElementsByTagName('button')[0];
button.onclick = function() {
new testobj(args);
}
function testObj(args) {
}
testObj.protoype.method = function() {
//...
}
但似乎浪費保持每次創建新對象按鈕被單擊(主要是因爲該對象只是接收一個值並對其執行操作並返回)。我想知道是否有一種方式來創建上首次對象單擊該按鈕,然後在隨後的點擊只需再次運行該對象以某種方式......
所以,我想這一點:
var testobj;
function test(thing) {
var self = this;
if(!testobj) {
testobj = new thing(thing);
} else {
testobj(thing);
}
} ;
這只是分配的事情對象到testobj VAR第一次測試()運行......之後,我只是嘗試再次調用testobj ......但我得到一個對象不是一個函數錯誤錯誤。這裏完整的測試http://jsfiddle.net/pstbj/1/
我明白爲什麼我會收到錯誤,因爲testobj是一個對象而不是函數。有沒有什麼辦法可以讓這個工作像我想的那樣...所以我只創建一個對象。
或者可能創建一個新對象並不是那麼糟......我在想象不需要不停地創建對象是不好的做法嗎?我想我需要緩存對象...