我只是想知道是否有可能更改其内部的功能主体自己的原型。像这样:
Function.prototype.replace(newFun)
{
this = newFun;
}
我在分配错误时收到无效的左侧。 我希望实现以下目标:
var fun1 = function(x, y)
{
return x+y;
}
fun1.replace(Function(["x", "y"], "return x*y;"));
在javascript中可以吗?我该怎么办?
答案 0 :(得分:1)
在Javascript中,函数都是Function objects。
可以使用 arguments.callee 动态获取对其体内当前函数的引用。
不幸的是,Function对象没有setter方法。他们是不变的。您需要创建自己的可变函数类,它包含一个包含函数的可修改属性。