JavaScript:克隆一个函数

7 浏览
0 Comments

JavaScript:克隆一个函数

在JavaScript中,克隆一个函数(包括或不包括其属性)的最快方法是什么?

我想到了两个选项:eval(func.toString())function() { return func.apply(..) }。但我担心eval的性能问题,而且包装会让堆栈变得更糟,如果应用于已经包装的函数或者大量应用时,可能会降低性能。

new Function(args, body)看起来不错,但我该如何在JavaScript中可靠地将现有函数拆分为参数和函数体,而不使用JS解析器?

更新:

我的意思是能够执行以下操作:

var funcB = funcA.clone(); //其中clone()是我的扩展
funcB.newField = {...};    //不影响funcA

0