`
sohighthesky
  • 浏览: 35768 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

向前兼容

IE 
阅读更多
        /**
         * Converts object to a true array.
         */
        makeArray: function(o) {
            if (o === null || o === undefined) return [];
            if (S.isArray(o)) return o;

            // The strings and functions also have 'length'
            if (typeof o.length !== 'number' || typeof o === 'string' || S.isFunction(o)) {
                return [o];
            }

            // ie 不支持用 slice 转换 NodeList, 降级到普通方法
            if (o.item && S.UA.ie) {
                var ret = [], i = 0, len = o.length;
                for (; i < len; ++i) {
                    ret[i] = o[i];
                }
                return ret;
            }

            // array-like
            return AP.slice.call(o);
        }

以前看到类似功能的函数时总是不明白 为什么大家都要用判断一下然后还用slice(直接for效率更高,而且还省两行代码)
后来再群里问LC,简单的四个字"向前兼容"
后来想想有时候自己的思想总是被束缚着,向前兼容这个思想也经常会用到,但是之前每次看上面这个问题时,总是想着”效率“,于是就看不到其它的东西了
思考问题时不要总是朝一个方面想,换个方向,答案说不定就出来了
分享到:
评论

相关推荐

    介绍了向前兼容和向后兼容的概念

    ### 向前兼容与向后兼容的概念解析 在软件开发领域中,“向前兼容”与“向后兼容”是两个非常重要且容易被混淆的概念。本文将详细介绍这两个概念,并通过实例帮助读者更好地理解它们的区别。 #### 一、向前兼容...

    SQLServer2005_BC.msi SQLServer2005及以后版本 向前 兼容 DTS等功能

    本话题主要聚焦于SQL Server 2005及其后的版本,尤其是对于DTS(Data Transformation Services)功能的向前兼容性。 DTS是SQL Server早期版本中的一个关键组件,用于数据导入、导出以及转换任务。在SQL Server 2005...

    android-m-permissions-forward:Android“M”权限和向前兼容性

    旧版应用的 Android M 权限和向前兼容性一个示例应用程序,用于演示 Android M 中引入的新运行时权限模型介绍MyContacts 应用程序将查询 ContactsProvider 组件以检索所有存储的联系人。 它需要 READ_CONTACTS 权限...

    simple_aws:小型、简单且向前兼容的 AWS 通信库。 不再维护

    简单AWS 围绕各种 Amazon Web Service API 的精简、简单、向前兼容的 Ruby 包装器。生命尽头早在 2011 年我开始这个项目时,Ruby 中的 AWS 库的状态就很糟糕。 Amazon 的官方 SDK 已经很多年没有接触过了,而且 Fog ...

    office 2007 兼容包

    4. **向后兼容**:尽管主要目的是向前兼容新格式,但此兼容包也支持将旧格式的文件保存为新格式,以便与使用新版本Office的用户共享。 **FileFormatConverters.exe**:这是兼容包的主要安装程序,包含了用于转换...

    2003兼容2007、2010、2013

    尽管每个新版本通常会引入一些不向前兼容的特性,但Microsoft通常会确保基本的文件格式和核心功能在不同版本间能够相互操作,以方便用户交流和协作。 1. 文件格式兼容性: - **.docx、.xlsx、.pptx**:从2007版...

    如何解决IE兼容性问题

    Polyfill是一种向前兼容的方法,用于向旧版浏览器添加新特性。例如,可以使用Modernizr这样的库来检测浏览器是否支持某个特性,并在不支持的情况下自动加载Polyfill脚本来实现该特性。 #### 五、使用Filter属性 IE...

    ISO8859-1字符集与其他字符集兼容性测试

    UTF-8的优点在于其向前兼容性和空间效率,尤其是对于主要使用ASCII字符的文本。 GBK和GB2312是中国特定的字符集,主要用于简体中文。GB2312是GBK的前身,包含了6763个汉字和其他符号,而GBK扩展了GB2312,增加了更...

    tp3.1兼容php7核心包.zip

    同时,这个核心包也展示了社区对旧版本框架的支持和持续优化,确保了技术栈的稳定性和向前兼容性。在使用这个核心包时,开发者应该仔细阅读文档,按照指示进行操作,并进行适当的测试,以确保其在具体项目中的适用性...

    libQtSerialization:以向后和向前兼容的方式序列化数据。-开源

    libQtSerialization库是Qt扩展,它使以向前和向后兼容的方式序列化数据变得非常容易。 该库由两个方面组成:帮助您序列化数据的QWriter和帮助您反序列化数据的QReader。 作家直言不讳。 几乎所有您需要做的就是调用...

    基于服务质量的WiMAX前向兼容LTE上行调度算法.pdf

    针对这一问题,文章提出了一种基于服务质量(QoS)的WiMAX向前兼容LTE的上行调度算法。 【算法设计】 该算法的核心是通过多类映射规则来为WiMAX和LTE服务流提供公平且高效的资源分配。它依据服务流的优先级动态...

    解决IE6、IE7、IE8、Firefox兼容的两种方案

    对于现代Web开发而言,随着IE系列浏览器逐渐退出历史舞台,开发者更多地转向使用Polyfill和Shim等技术来确保代码的向前兼容性,同时减少对老旧浏览器的支持,专注于提升用户体验和性能优化。然而,在处理遗留项目或...

    Ext4文件系统

    首先Ext4是可以向前兼容的,也就是说Ext3文件系统可以挂载为Ext4文件系统使用,不过为了充分利用Ext4的优势,必须实现文件系统的迁移,以转换和利用新的Ext4格式。 Ext3文件系统可以在线转换为Ext4,但这样并不能...

    最新版Ucenter,修正不兼容php7.7,mysql_connect()不可用等问题

    为了向前兼容,Ucenter已经将所有依赖于mysql_connect()的代码替换为mysqli或PDO扩展的相应函数,如mysqli_connect()或PDO::__construct()。这些新函数提供了更好的性能、安全性和面向对象的接口,更适应现代PHP开发...

    REM-unit-polyfill-master.rar

    REM(Relative Em Unit)是CSS3中引入的一个长度单位,用于表示相对于根元素(通常是html...这个库是CSS3 REM单位向前兼容的重要工具,尤其对于需要在老旧浏览器中保持设计一致性的项目来说,它具有很高的实用价值。

    CSS Hack 经验分享

    除了处理当前浏览器的兼容性问题外,向前兼容(支持旧版浏览器)与向后兼容(适应未来浏览器的新特性)同样重要。向前兼容相对简单,主要是确保现有代码能在新版本浏览器中正常运行。而向后兼容则更加困难,因为它...

    软件测试与维护:11-acceptance-test.pdf

    向后兼容意味着新版本软件能与旧版本的数据或硬件协同工作,而向前兼容则保证用户能够使用未来版本的软件,而不必担心兼容问题。多版本测试是确保这些兼容性的关键步骤,需要对所有可能的软件组合进行测试。 可安装...

    Navicat_Keygen_Patch_By_DFoX5.3.7z

    Navicat Premium 是一个数据库开发工具,允许您从单个应用程序...2019.09.28日发布,该版本支持最新的 Navicat全系列12.1.23版本,向前兼容,如果自动升级安装后无法生效,可以删除navicat后,更换一个路径就可以用了。

    schema-registry-center-6.2.1.zip

    2. 版本控制:每个Schema都有版本号,新版本的Schema必须兼容旧版本,以确保向前兼容性。 3. 兼容性检查:在注册新Schema时,Registry会进行兼容性检查,防止不兼容的Schema进入系统。 4. 缓存:Registry可以缓存...

Global site tag (gtag.js) - Google Analytics