javascript - Leaking arguments
問(wèn)題描述
誰(shuí)可以幫忙解釋一哈 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); }
問(wèn)題解答
回答1:傳遞arguments給任何方法被稱為leaking arguments
不幸的是,傳遞arguments給任何參數(shù),將導(dǎo)致Chrome和Node中使用的V8引擎跳過(guò)對(duì)其的優(yōu)化,這也將使性能相當(dāng)慢。
withArguments 不會(huì)被V8優(yōu)化,withCopy 那種 建議線上環(huán)境使用,雖然啰嗦。
相關(guān)文章:
1. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問(wèn)?2. html5和Flash對(duì)抗是什么情況?3. java - Web開(kāi)發(fā) - POI導(dǎo)出帶有下拉框的Excel和解決下拉中數(shù)組過(guò)多而產(chǎn)生的異常4. node.js - vue怎么部署到網(wǎng)站里5. docker綁定了nginx端口 外部訪問(wèn)不到6. phpadmin的數(shù)據(jù)庫(kù),可以設(shè)置自動(dòng)變化時(shí)間的變量嗎?就是不需要接收時(shí)間數(shù)據(jù),自動(dòng)變化7. vue.js - nginx反向代理location順序問(wèn)題8. Echart X坐標(biāo)軸名稱放在左邊與Y坐標(biāo)抽刻度重疊,如何解決?9. vue ajax請(qǐng)求回來(lái)的數(shù)據(jù)沒(méi)有渲染到頁(yè)面10. java - 關(guān)于aop在controller不起用的問(wèn)題
