• js基本操作小类库


    function addEvent(obj,type,fn){
        if(obj.addEventListener){
            obj.addEventListener(type,fn,false);
        }else if(obj.attachEvent){
            obj.attachEvent('on'+type,function(){
                fn.call(this);
            });
        }
    }
    
    function removeEvent(obj,type,fn){
        if(obj.removeEventListener){
            obj.removeEventListener(type,fn,false);
        }else if(obj.detachEvent){
            obj.detachEvent('on'+type,fn);
        }
    }
    
    function preDef(evt){
        var e = evt || window.event;
        if(e.preventDefault){
            e.preventDefault();
        }else{
            e.returnValue = false;
        }
    }
    
    //跨浏览器获取目标对象
    function getTarget(evt){
        if(evt.target){
            return evt.target;
        }else if(window.event.srcElement){
            return window.event.srcElement;
        }
    }
    
    //跨浏览器获取字符编码
    function getCharCode(evt){
        var e = evt || window.event;
        if(typeof e.charCode == 'number'){
            return e.charCode;
        }else{
            return e.keyCode;
        }
    }


    //inherit()返回了一个继承自原型对象p的属性的新对象
    //这里使用ECMAScript 5 中的Object.create()函数(如果存在的话)
    //如果不存在Object.create(),则退化使用其他方法;
    function inherit(p){
    if(p == null) throw TypeError();    //p是一个对象,但不能是null
    if(Object.create){     //如果Object.create()存在
    return Object.create(p);     //直接使用它
    }
    var t = typeof p;     //否则进行进一步检测
    if(t !== 'object' && t != 'function') throw TypeError();
    function f(){};     //定义一个空构造函数
    f.prototype = p;     //将其原型属性设置为p
    return new f();
    }
  • 相关阅读:
    04-树7 二叉搜索树的操作集
    04-树6 Complete Binary Search Tree
    04-树5 Root of AVL Tree
    04-树4 是否同一棵二叉搜索树
    05-树8 File Transfer
    05-树7 堆中的路径
    二叉树的非递归遍历(先序、中序、后序和层序遍历)
    队列的定义与操作——顺序存储和链式存储
    Maven项目的核心pom.xml解释(转)
    eclipse安装插件的三种方式
  • 原文地址:https://www.cnblogs.com/oceanden/p/3937848.html
Copyright © 2020-2023  润新知