call实现代码
Function.prototype.newCall = function(){
var ctx = arguments[0] || window
ctx.dx = this
var args = []
for(var i=1; i<arguments.length; i++){
args.push('arguments['+ i +']')
}
var result = eval('ctx.dx('+args.join(',')+')')
delete ctx.dx
return result
}
apply实现代码
Function.prototype.newApply = function(ctx, arr){
var ctx = ctx || window
ctx.dx = this
if(arr){
var args = []
for(var i=0; i<arguments.length; i++){
args.push('arguments['+ i +']')
}
var result = eval('ctx.dx('+args.join(',')+')')
delete ctx.dx
return result
}else{
ctx.dx()
delete ctx.dx
return result
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。