我知道Javascript的對象是通過對函數的引用副本傳遞的。Javascript - 通過引用傳遞返回修改的對象
從這個意義上講,如果我有一個修改對象的函數,我是否應該返回對象並覆蓋原始對象?
即,這
function inc(obj)
{
obj.count++;
}
obj = {count : 0, topic : 'Something'};
inc(obj);
VS此:
function inc(obj)
{
obj.count++;
return obj;
}
obj = {count : 0, topic : 'Something'};
obj = inc(obj);
哪一個更好,爲什麼?
如果你已經知道JS複製了一個引用,以便你的函數在原始對象上運行,那麼爲什麼你認爲它會有所作爲?你的問題似乎任意。這就像說:「我知道1 + 2會產生與2 + 1相同的結果,所以我應該使用哪個順序?」* –
「更好」?按什麼標準? – RobG