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

本文共 2458 字,大约阅读时间需要 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组件的设计,可以很好的利用它的这些特点,即自执行

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
Revel运行APP出现的路径问题
查看>>
VSCODE C/C++配置
查看>>
POJ 2188线段树求逆序对
查看>>
android studio :cannot resolve symbol R
查看>>
vi 整行 多行 复制与粘贴
查看>>
Window_Bat_Scripts—检测特定网段未使用的IP地址
查看>>
深入理解计算机系统(第三版) csapp 第三章部分答案
查看>>
Windows 的GUID
查看>>
Git详解之三 Git分支
查看>>
简单工厂
查看>>
编程笔记 2017-08-11
查看>>
paper 20 :color moments
查看>>
paper 101:图像融合算法及视觉艺术应用
查看>>
绘图笔记
查看>>
MySQL replace into 用法(insert into 的增强版)
查看>>
CMP-5013A Architectures and Operating Systems
查看>>
html5,单击文字自动获得焦点
查看>>
Android Volley
查看>>
科技发烧友之单反佳能700d中高端
查看>>