您好,欢迎访问一九零五行业门户网

JavaScript常用脚本汇总(二)_javascript技巧

把javascript中的伪数组转换为真数组
在 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             ret[i] = (c[i]);
        }
        return ret;
    }
}
javascript设置主页功能
复制代码 代码如下:
javascript设置“设为首页”和“收藏页面”(兼容ie和火狐浏览器)
设为首页
javascript收藏功能
复制代码 代码如下:
demo
收藏本站
基于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
}
以上就是本文的全部内容了,希望大家能够喜欢。
其它类似信息

推荐信息