在 JavaScript 中, 函数中的隐藏变量 arguments 和用 getElementsByTagName 获得的元素集合(NodeList)都不是真正的数组,不能使用 push 等方法,在有这种需要的时候只能先转换为真正的数组。
对于 arguments,可以使用 Array.prototype.slice.call(arguments); 来达到转换的目的,但对于 NodeList 则不行了,其在 IE8 及以下将会报错,只能说其 JS 引擎有所。
因此,如果需要把 NodeList 转换为真正的数组,则需要做下兼容处理。
代码如下:
function realArray(c) {
try {
return Array.prototype.slice.call(c);
} catch (e) {
var ret = [], i = 0, len = c.length;
for (; i < len; i++) {
ret[i] = (c[i]);
}
return ret;
}
}
JavaScript设置主页功能
代码如下:
JavaScript收藏功能
代码如下:
基于JQuery的,你可以根据自己的需求来修改。
javascript检测元素是否支持某个属性代码
代码如下:
function elementSupportsAttribute(element, attribute) {
var test = document.createElement(element);
if (attribute in test) {
return true;
} else {
return false;
}
};
用法:
代码如下:
if (elementSupportsAttribute("textarea", "placeholder") {
} else {
// fallback
}
创建和使用命名空间
代码如下:
var GLOBAL = {};
GLOBAL.namespace = function(str){
var arr = str.split('.'),o = GLOBAL;
for(k=(arr[0]=="GLOBAL")?1:0;k
o[arr[k]]=o[arr[k]]||{};
o=o[arr[k]];
}
}
使用方式
代码如下:
GLOBAL.namespace("Lang");
GLOBAL.Lang.test = function(){
//todo
}
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务