谁调我:arguments.callee.caller

摘要: 某知名互联网公司的一道JS笔试题:有函数a,b,c,c可能是在a或b内调用的,怎么知道?马上就想到了arguments.callee.caller,实际上有许多值得商榷的地方。如function a(){ c(); //()调用 //c.apply(null);//apply调用 //c.call... 阅读全文
posted @ 2011-03-22 09:32 snandy 阅读(4112) 评论(4) 推荐(3) 编辑

解决IE低版本不支持call和apply问题

摘要: Function.prototype的apply和call是在1999年发布的ECMA262 Edition3中才加入的(1998年发布ECMA262 Edition2)。在此前的的浏览器如IE5.01(JScript 5.0)中是没有apply和call的。因此会带来一些兼容性问题,以下是修复方式:if(!Function.prototype.apply){ Function.prototype.apply = function(obj, args){ obj = obj == undefined ? window : Object(obj);//obj可以是js基本类型 var i = 0 阅读全文
posted @ 2011-03-22 08:33 snandy 阅读(3061) 评论(6) 推荐(3) 编辑

解决Firefox下outerHTML不支持问题

摘要: 代码很简单,如下:var pro = window.HTMLElement.prototype;pro.__defineGetter__("outerHTML", function(){ var str = "<" + this.tagName; var a = this.attributes; for(var i = 0, len = a.length; i < len; i++){ if(a[i].specified){ str += " " + a[i].name + '="' + a[i] 阅读全文
posted @ 2011-03-22 08:15 snandy 阅读(711) 评论(0) 推荐(1) 编辑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示