首页 > web前端 > js教程 > JavaScript常用脚本汇总(二)_javascript技巧

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

WBOY
发布: 2016-05-16 16:11:07
原创
1260 人浏览过

把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
}

以上就是本文的全部内容了,希望大家能够喜欢。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板