在讀singalR.js源碼時發現了它裏面的一個format方法:
format: function () { /// <summary>Usage: format("Hi {0}, you are {1}!", "Foo", 100) </summary> var s = arguments[0]; for (var i = 0; i < arguments.length - 1; i++) { s = s.replace("{" + i + "}", arguments[i + 1]); } return s; },
然後發現,format function裏面並沒有參數,還是直接用arguments接收,後來學習了一下,發現arguments方法很強大,他能直接被調用,不管傳遞幾個參數,他都能接收到,上邊的方法就實現了.NET 裏面 string.Format()方法。以後做參數判斷,可以用arguments.length判斷傳遞的參數數量是不是正確的。
最後,定義變量名不要爲arguments,這就好比保留字,所以還是不要衝突的好。上述代碼可以作爲工具類裏的一個方法了,簡單粗暴實用。