0
這是我的代碼:如何在不重寫Javascript中的其他實例的情況下創建函數的新實例?
function wasCalled() {
if (typeof (called) === "undefined") {
console.log("This is the first time this instance runs")
called = true
}
else {
console.log("this is not really a new instance")
}
}
a = new wasCalled()
b = new wasCalled()
它檢查是否函數的實例已經運行。我錯過了一些明顯的東西。它是什麼?
這裏有一個小提琴:http://jsfiddle.net/ekoo6pef/
檢查控制檯。
這是輸出:
This is the first time this instance runs
this is not really a new instance
我希望得到「這是第一次遇到這種情況下運行」的兩個電話。
感謝您的善意幫助。
然後不要創建'調用'變量?順便說一下那個叫變量是全球性的,如果你想它作爲實例的一部分,你應該使用'this.called',或使用'VAR called'如果你想把它當作一個局部變量 –
我要麼不理解你或者你不理解這個問題。我創建它以便查看變量是否被刷新爲新實例 –
爲什麼使用「被調用」變量?和一個if? 事情是,當你創建變量「調用」爲全局變量(因爲你沒有使用「var叫做」聲明),那麼它存儲下一次調用的狀態 –