向前兼容
程序员文章站
2022-04-05 10:34:43
...
/**
* 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效率更高,而且还省两行代码)
后来再群里问[url=http://www.cnblogs.com/bluedream2009/]LC[/url],简单的四个字"向前兼容"
后来想想有时候自己的思想总是被束缚着,向前兼容这个思想也经常会用到,但是之前每次看上面这个问题时,总是想着”效率“,于是就看不到其它的东西了
[color=red]思考问题时不要总是朝一个方面想,换个方向,答案说不定就出来了[/color]
推荐阅读
-
兼容firefox,chrome的网页灰度效果
-
php生成缩略图 兼容性比较好的PHP生成缩略图的代码
-
有关浏览器兼容样式问题_html/css_WEB-ITnose
-
div+css布局时的浏览器兼容问题_html/css_WEB-ITnose
-
善用抓包软件fiddler解决discuz中图片上传浏览器兼容性问题
-
经常遇到的浏览器兼容性问题_html/css_WEB-ITnose
-
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
-
CSS实现背景透明,文字不透明(各浏览器兼容)_html/css_WEB-ITnose
-
python兼容VBA的用法详解
-
javascript - jQuery('#cancel').removeAttr('disabled');这句话IE不能兼容,你能给出兼容IE系列,FF,chrome的程序?