发布于 2017-02-01 08:46:33 | 385 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Javascript教程,程序狗速度看过来!

JavaScript客户端脚本语言

Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。


这篇文章主要是对解决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, ary = [], str; 
        if(args){ 
            for( len=args.length; i<len; i++ ){ 
                ary[i] = "args[" + i + "]"; 
            } 
        } 
        obj._apply = this; 
        str = 'obj._apply(' + ary.join(',') + ')'; 
        try{ 
            return eval(str); 
        }catch(e){ 
        }finally{ 
            delete obj._apply; 
        }    
    }; 
} 
if(!Function.prototype.call){ 
    Function.prototype.call = function(obj){ 
        var i = 1, args = []; 
        for( len=arguments.length; i<len; i++ ){ 
            args[i-1] = arguments[i]; 
        } 
        return this.apply(obj, args); 
    }; 
} 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务