使用IFEE封装一个属于自己的工具函数

首先,创建一个闭包函数,把window对象通过参数的形式传递到闭包函数里面

(function(g){

         function MyUtil(){

         }//这是一个构造函数,通过它来构造对象。把所有的常用的方法添加到它的原型上

         MyUtil.prototype.cj = function(n){

                  return document.createElement(n);

         }//给构造函数的原型上添加了一个方法cj,用来创建新的标签。

         MyUtil.prototype.hqid = function(n){

              var result = document.getElementById(n)

             return result;

          }//给原型上添加一个通过id获取标签的方法。

         MyUtil.prototype.hqcn = function(n){

              return document.getElementsByClassName(n);

         }//给原型上添加一个通过className获取标签的方法。

        //下面是给原型添加处理ajax对象兼容性问题的代码

        MyUtil.prototype.createXHR = function createXHR(){

               if(typeof XMLHttpRequest !="undefined"){

                       return new XMLHttpRequest();

               }else if(typeof ActiveXObject !="undefined"){

                      if(typeof arguments.callee.activeXSring != "string"){

                                var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"];

                                for (var i = 0;i

                                      try{

                                             new ActiveXObject(versions[i]);

                                            arguments.callee.activeXString = versions[i]

                                      }catch(e){

                                      }

                              }

                       }

                       return new ActiveXObject(arguments.callee.activeXSring);

                }else{

                       throw new Error("无法正常创建ajax对象");

               }

          }//处理贾克斯对象兼容性问题的方法添加完毕。

    var mTool = new MyUtil();//通过构造函数创建一个对象

    g.tool = mTool;把对象赋给全局对象tool

})(window);


把以上代码用一个专门的js文件保存起来,在编程时引用到html文本中就可以通过调用tool.cj(),tool.使用里面的方法了

你可能感兴趣的:(使用IFEE封装一个属于自己的工具函数)