博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Js~(function(){})匿名自执行方法的作用
阅读量:6711 次
发布时间:2019-06-25

本文共 2418 字,大约阅读时间需要 8 分钟。

匿名自执行方法体(function(){})经常用在设计JS插件上面,它定义相关组件的行为,自动初始化相关属性,而且在页面中可以直接执行,你不需要手动执行它,它被自动被执行!

在设计你的匿名自执行方法体时,我们有几点需要注意,在这里大叔部总结了一下,请看下面说明

  • 将它的结果赋给一个对象
  • 如果它没有返回值,那希望使用它的内部对象,需要这个对象是公共的(即不可var)
  • 可以将它定义成一个自执行的属性体

具体介绍这三点

将它的结果赋给一个对象

var ar = (function () {            var PageMap = function () { console.log("初始化") };            PageMap.prototype = {                get: function (page) {                    return page;                },                set: function (page, value) {                    console.log("set");                },                has: function (page) {                    return false;                },                clear: function () {                    console.log("clear");                }            };            return PageMap;        })();        var a = new ar();        a.set(1, "OK");

如果它没有返回值,那希望使用它的内部对象,需要这个对象是公共的

(function (option) {            option = option || { id: 0, pages: [] };            var pages = [];            Maps = function () {                console.log("maps init...");            };            //扩展方法            Maps.prototype = {                keys: function () {                    return pages[id] != undefined;                },                get: function (id) {                    return pages[id];                },                set: function (value) {                    pages.splice(value);                    pages.push(value);                },                append: function (value) {                    pages.push(value);                },                each: function () {                    console.log("eache pages result");                    for (var item in pages)                        console.log(pages[item]);                }            };        })();        var arr = new Maps();        arr.append(1);        arr.append(2);        arr.append(3);        arr.each();

可以将它定义成一个自执行的属性体

var test = ({            // 这里你可以定义常量,设置其它值, 自动运行            width: 480,            height: 640,            //  当然也可以定义utility方法            getMax: function () {                return this.width + "x" + this.height;            },            // 初始化            init: function () {                console.log(this.getMax());                // 更多代码...            },            print: function () {                console.log(this.getMax());            }        });  // 这样就开始初始化咯        test.init();        test.print();

而对于以后我们的JS组件的设计,可以很好的利用它的这些特点,即自执行

 

转载地址:http://ziflo.baihongyu.com/

你可能感兴趣的文章
SpringMVC+Mybatis框架搭建
查看>>
第四十二讲:tapestry Ajax混合(mixins)周期性更新
查看>>
JVM——运行时数据区梳理
查看>>
Oracle E-Busine 学习笔记(一)
查看>>
cookies,sessionStorage 和 localStorage 的区别
查看>>
android中Tab设计中:tab中的listview最下面一部分被tab遮盖的解决
查看>>
CentOS下编译php时的一些典型错误及解决办法.
查看>>
Hg Mercurial版本管理介绍
查看>>
使用express创建node.js工程
查看>>
redis
查看>>
开源项目学习方法
查看>>
block的使用
查看>>
使用Toolbar自定义布局的时候左边右边总有一点空间无法使用
查看>>
Photoshop 常用快捷键
查看>>
外观模式
查看>>
Extjs 4 grid修改某一行style
查看>>
background-position设置无效问题解决
查看>>
对称加密算法-DES
查看>>
Android BroadcastReceiver
查看>>
我的友情链接
查看>>