文章詳情頁
javascript - Leaking arguments
瀏覽:131日期:2023-03-31 15:59:32
問題描述
誰可以幫忙解釋一哈 Leaking arguments 的概念
<script>Benchmark.prototype.setup = function() { function otherFunc(a, b) { return a + b; } function withArguments(x) { var a = arguments; return otherFunc.apply(x, Array.prototype.slice.call(a, 1)); } function withCopy(x) { var a = []; var i, len = arguments.length; for (i = 1; i < len; i += 1) { a[i - 1] = arguments[i]; } return otherFunc.apply(x, a); }
問題解答
回答1:傳遞arguments給任何方法被稱為leaking arguments
不幸的是,傳遞arguments給任何參數,將導致Chrome和Node中使用的V8引擎跳過對其的優化,這也將使性能相當慢。
withArguments 不會被V8優化,withCopy 那種 建議線上環境使用,雖然啰嗦。
標簽:
JavaScript
相關文章:
1. windows - asp.net連接上mysql之后如何調用?比如下面的登錄驗證功能怎么實現2. 剛放到服務器的項目出現這中錯誤,有高手指點嗎3. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決4. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?5. mysql - 面試題:如何把login_log表轉換成last_login表?6. javascript - nodejs實現異步時遇到的一個問題7. javascript - 為什么嵌套的Promise不能按預期捕獲Exception?8. javascript - 編程,算法的問題9. css - 手機qq打開網頁無法使用文件上傳功能?10. java - HTTPS雙向認證基礎上有無必要再進行加簽驗簽?
排行榜
