--------------------------------------------下面代码有点看不懂 应该是写错了,callee是arguments的成员,这里的this应该调用不了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 函数怎么克隆啊??? 用上面的也不行啊~可以这样调用 例如:var a=function(){alert("ss")}var b=a.Clone()alert(b==a)//要弹出falseb()//要弹出ss上面的代码怎么改改? 克隆函数你试试这样:var a = function(){alert('')};var f = a.toString();// 这里把1头尾的function(){ 和 } 截掉var b = new Function(f);当然这是一个土方法 上述代码中提到的对arguments的快速处理的目的应该是解决在函数体中arugments虽然具有数组的特性但不是Array的实例这个问题:var test = function(){ alert(arguments.constructor == Array); //false说明不是Array的实例,所以在克隆函数中不会进到 case Array 的分支中}所以,为了解决在函书体中对 arguments.clone(),故加入了 if("function" == typeof this['callee']) return Array.apply(null, this);这样就理解的通了 因为arguments对象固有的性质,它具有arugments.callee,指向所在方法本身。而对arguments的克隆正是返回一个与自己相同的数组故return Array.apply(this) ,这个和 return new Array(this)基本上是一样的。 请帮忙从jquery加密的JS里吧网址提取出来 请问怎么获取span标签中的html元素的值? 请问用什么工具可以编辑ASF视频里的JS代码? js treeview问题........... 请问学习JavaScript编程之前需要掌握的基本知识大概有哪些,比如说需要的先修课程 javascript的一问题 请高手给个建议 EXT 请教 请问个正则题!答对马上给分! 请问一个简单问题 回事浏览器的问题么? 关于事件的问题,麻烦解决下
可以这样调用 例如:
var a=function(){alert("ss")}
var b=a.Clone()
alert(b==a)//要弹出false
b()//要弹出ss上面的代码怎么改改?
alert(arguments.constructor == Array); //false说明不是Array的实例,所以在克隆函数中不会进到 case Array 的分支中}所以,为了解决在函书体中对 arguments.clone(),故加入了 if("function" == typeof this['callee']) return Array.apply(null, this);
这样就理解的通了