0
我有一些場景,我需要傳遞值類型作爲參考而不改變處理函數。Javascript,值類型作爲參考
例數值類型(VAR極限)
var limit = 0; // Need to be the reference type var multiCallback = new MultiCallback(limit, function(){}); for (element in myObject) { limit++; element.DoSomething(multiCallback.callback); } function MultiCallback(limit, func) { var calls = 0; function callback() { if (++calls == limit) { func(); } } return { callback : callback } }
Examble功能類型
var resizeCallback = function(){}; $(window).resize(resizeCallback); function showPage() { resizeCallback = resizePage(); } function showLoader() { resizeCallback = resizeLoader(); }
是有一個解決方案
你不能(*不改變的處理功能* ...)。 JavaScript中的數字和字符串是不可變的。 – Matt
[在Javascript中通過引用傳遞變量]的可能重複(http://stackoverflow.com/questions/7744611/pass-variables-by-reference-in-javascript) –