我正在寻找一种方法将this
绑定到每个function
。
我还试图创建一个执行上下文(包装器);对于包含<script>
- 标签
以下是我想要的例子..
示例:
//Added "this" to each function: "this_"
//Inside <script src='external_source_link'></script>
function a() { alert(this) }
a(); //result: "this_"
我需要一种方法来动态检测创建的任何函数。在此之前(创建函数)我应该有可能向函数或函数体添加一些东西(参数和参数)
function a() { } //my dynamically manipulation: a = a.bind("this_");
这不是一个包装{ }
,因为我还使用<script>
从外部资源加载脚本 - 标签
<script src="external_source_link"></script>
所以也许是Funtion.prototype
...
答案 0 :(得分:0)
如果我理解得很清楚,proxy
需要this
。
如果你想要,你可以这样做:
function caller(){
proxy(this,callee, "hello");
}
function callee(testStr){
console.log("this: ", this);
console.log("testStr: ", testStr);
}
function proxy(thisToBind, fnToCall){
var args = arguments;
if (args.length > 2) {
delete args[0];
delete args[1];
}
else {
args = undefined;
}
fnToCall.call(thisToBind, args);
}
caller();
如果你想全局覆盖原始Function.prototype.constructor
(对于所有功能)我恐怕你不能。但请查看Mozilla reference