现在的位置: 首页 > 综合 > 正文

js匿名函数以及使用匿名函数编写插件

2016年12月20日 ⁄ 综合 ⁄ 共 1132字 ⁄ 字号 评论关闭

js匿名函数以及js插件的编写:

注:该文章使用的最常用的匿名函数方式,还有其他方式

说明:js的匿名函数一般的文档中很少讲到,但是它确是js中很重要的知识,

尤其是在js插件编写方面占有重要地位。

1、window是全局的所以调用时候可以直接使用

(function(window){
      var info={
          getInfo:function(){
              alert("you are a good boy!");
          },
          getOff:function(){
              alert("off");
          }
      }
      window.info=info;
      //return info;
})(window);

调用:info.getInfo()或者window.info.getInfo();

说明:由于浏览器本身就有window对象,因此调用的时候可以直接使用

window.匿名函数中的对象.相应的方法,当然window也可以省略。如果

浏览器中本身没有该对象则不能使用上面原理,情况如下:

2、var ggg=(function(){
      var info={
          getInfo:function(){
              alert("you are a good boy!");
          },
          getOff:function(){
              alert("off");
          }
      }
    //注意这种方式必须带返回值否则不能取到里面的属性和方法
      return info;
  })();

调用:ggg.getInfo()

说明:如果我们直接使用

(function(){

 //字定义的方法或变量

})()

默认为window调用;我们也可以像2中直接将匿名函数赋给一个变量

但是注意,使用这种方式调用匿名函数中的对象或属性时候,函数里

面本身要返回相应返回值,否则外面使用变量点的方式无法调用。

3、调用区别(自己尝试):

//==========
/*
//调用一
(function(document,name,wt){
    alert("gb======="+name+wt);
})(document,"shengzhen","I am here where are you !")
//1、括号你面引号里面的内容表示传递的参数,可以直接在匿名函数中使用
//2、document对象浏览器自带
*/
/*
//调用二
(function(ggg,name,wt){
    alert("gb======="+name+wt);
})(ggg,"shengzhen","I am here where are you !")
//ggg是自定义的
*/
//调用三
(function(name,wt){
    //默认为winow调用
    //alert(this+"gb=======");
    alert(name+wt);
})("shengzhen","I am here where are you !")
//默认为window调用

抱歉!评论已关闭.