JavaScript:克隆一个函数
- 论坛
- JavaScript:克隆一个函数
7 浏览
JavaScript:克隆一个函数
在JavaScript中,克隆一个函数(包括或不包括其属性)的最快方法是什么?
我想到了两个选项:eval(func.toString())
和function() { return func.apply(..) }
。但我担心eval的性能问题,而且包装会让堆栈变得更糟,如果应用于已经包装的函数或者大量应用时,可能会降低性能。
new Function(args, body)
看起来不错,但我该如何在JavaScript中可靠地将现有函数拆分为参数和函数体,而不使用JS解析器?
更新:
我的意思是能够执行以下操作:
var funcB = funcA.clone(); //其中clone()是我的扩展 funcB.newField = {...}; //不影响funcA