[英]How can I help Google's Closure Compiler optimize my JavaScript code?
[英]How can I set type of arguments in JavaScript for Google closure compiler?
如你所知,java腳本的每個函數都有一個名為'arguments'的變量,它包含傳遞給函數的所有參數。
請考慮以下代碼示例:
String.prototype.format = function(pattern){
var args = arguments.slice(1);
// other implementations are removed...
}
在這種情況下,Google Closure Compiler告訴我參數沒有方法切片。
事實上,它有一個方法名稱切片,但Google Closure Compiler無法確定參數數組的類型。
但在運行時代碼運行正常
如何定義Google Closure Compiler的參數類型?
什么是最佳做法?
我已經測試了幾種方法,但沒有一種方法適合我。
沒有這個,我們的項目將無法正確編譯,所以我們需要這個,謝謝
謝謝
arguments
不是一個數組(它是一個類似數組的對象),因此它不包含方法slice
。 您可以嘗試: var args = [].slice.call(arguments,1);
換句話說,為arguments
Array.slice
調用Array.slice
-method來創建一個真正的Array
。 要在瀏覽器控制台中測試運行此代碼:
function foo(){
console.log([].slice.call(arguments,1));
}
foo(1,2,3); //=> logs [2,3]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.