Javascript代码收集

1.模仿jquery each

原文地址

    function each(obj, fn){
        var i;
        if(Object.prototype.toString.call(obj) === '[object Array]'){
            for(i = 0, length = obj.length; i < length; i++){
                fn.call(obj[i], i, obj[i]);
            }
        }
        else if(typeof obj === 'object'){
            for(i in obj){
                if(obj.hasOwnProperty(i)){
                   fn.call(obj[i], i, obj[i]);
                }
            }
        }
        else{
            return false;
        }
    }
View Code

2.this, constructor, prototype例子

原文地址

var Tinker = function(){
        this.elements = [];
    
    };
        Tinker.fn = Tinker.prototype = {
            constructor: Tinker,
            extend: function(obj){
                var p;
                for(p in obj){
                    this.constructor.prototype[p] = obj[p];//此处若看明白了, 那么前面的就理解了
                }
            }
        
        }
        Tinker.fn.extend({
           get: function(){
                var length = arguments.length,
                i = 0;
               for(; i < length; i++){
                   this.elements.push(arguments[i]); //此处若看明白了, 那么前面的就理解了
               }
               return this;//此处若看明白了, 那么前面的就理解了
           },
           each: function(fn){
                var i = 0,
                    length = this.elements.length;
                for(; i < length; i++){
                    fn.call(this.elements[i], i, this.elements[i]);
                }
                return this;//此处若看明白了, 那么前面的就理解了
           }
            
        });
View Code

3.根据userAgent判断是否手机

原文地址

if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
if(window.location.href.indexOf("?mobile")<0){
try{
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
//移动端
}else if(/iPad/i.test(navigator.userAgent)){
//这里对ipad做了处理
}else{
//移动端
}
}catch(e){}
}
}else{
//pc端
}


var ISWP = !!(navigator.userAgent.match(/Windows\sPhone/i));
View Code

 

posted @ 2013-07-19 16:37  忧忧夏天  阅读(357)  评论(0编辑  收藏  举报