2013-02-04 38 views
1

我正在創建一個基於node.js的網站,我要求用戶填充大量細節的表單,因此它們中的每一個都成爲參數。JavaScript中傳遞參數的代價(node.js)

我寫代碼的方式是我不斷地將這些參數從一個函數傳遞給另一個函數。我認爲這些參數至少需要4個函數,因爲我的代碼對單獨的模型和控制器感到厭煩。

我的問題是在JavaScript中傳遞這麼多參數的成本是多少。他們會傳遞我的參數作爲一些引用/指針或整個對象將被複制。我真的不希望整個對象被複制,因爲一些參數可能包含大量的文本或數字信息。

是否有任何有關此信息的來源?谷歌的前5個結果沒有產生有用的結果。

+4

** 1。**爲什麼你會爲此擔心?您的應用程序是否以一種簡單明瞭的方式實施,速度很慢? ** 2。** Javascript對象作爲對象句柄在方法之間傳遞。對象本身不被複制。 – millimoose

+0

謝謝。我擔心,因爲這是我網站最常見的路徑。而對象的大小可能非常大。 (images/text) – Saurabh

+0

「最常見的路徑」並不重要。 「佔用很多總執行時間」的確如此。在任何執行少量網絡/磁盤IO的應用程序中,前者不是後者的良好代理。 – millimoose

回答

3

對象不被複制。從語義上講,複製這些對象的引用,但在內部引用,直到您更改它們纔會發生(請參閱http://en.wikipedia.org/wiki/Copy-on-write)。

由於沒有類型檢查或檢查所需的參數,所以在javascript中傳遞的參數本身非常便宜。