在相同範圍內傳遞一個對象是否會花費任何可觀的延遲?考慮下面的選項1和選項2。在第一個選項中,我只是直接使用對象。選項2是封裝的更好的做法,但是讓我們說,無論如何,我都在相同的範圍內執行 - 這是否更慢(假設有數百個屬性的巨大數組對象)?在相同的範圍內傳遞一個對象以使其功能變慢?
var sampleObject = {id:2, objString = 'something'};
選項1:
function addPropToObject(){
sampleObject.someNewProp = 'lalala'
}
選項2:
function addPropToObject(obj){
obj.someNewProp = 'lalala'
}
addPropToObject(sampleObject);
AngularJs標籤只是存在的情況下是有區別的,如果函數是:
$scope.adPropToObject = function(){....
雖然imo根本不重要。如果你能想到更好的標題,請隨意更改標題。
這取決於實現,但是如果該變量已經在相同的作用域中可用,那麼在將其作爲參數傳遞時沒有多大用處。 – adeneo
我明白(如問題所述),這更像是一個假設性問題。 – VSO
訪問外部作用域中變量的運行時成本非常小,在現代運行時中可能爲零。這絕對不值得擔心。 – Pointy