0
var counter = function(){
var n = 0;
return {
inc: function() {++n},
reset: function(){n=0}
}
}
counter.inc() //1,2 and so on\
我看到上面的代碼在初學者教程的某處。寫多個函數有什麼不好?像對象內組功能的優點
function reset(){}
function inc(){}
它污染了全球範圍。通過這種方式,您可以使用適當的設計模式,在這種情況下,封裝將全局訪問中的「var n」隱藏起來。這就像在C++或PHP等其他OO語言中使用私有成員一樣。 – Ultimater
注意:如你所寫,這些功能是無用的,因爲沒有辦法訪問計數器的值。你可能需要一個getCount方法或其他東西。 –
您的示例代碼不起作用,您需要調用'counter()'來創建對象。 – Bergi