博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归、闭包、私有变量、特权方法、单例、模块模式(module pattern)
阅读量:7045 次
发布时间:2019-06-28

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

hot3.png

//使用命名函数表达式实现递归var factorial = (function f(num) {    if (num <= 1) {        return 1;    } else {        return num * f(num - 1);    }});//用作块级作用域(私有作用域)的匿名函数(function(){    var now = new Date();    if (now.getMonth() == 0 && now.getDate() == 1) {        alert("Happy new year!");    }})();//使用构造函数模式实现特权方法的定义function MyObject() {    var privateVariable = 10;//私有属性    function privateFunction() {//私有函数        return false;    }    //特权方法    this.publicMethod = function() {        }}//使用静态私有变量实现特权方法(function(){    var privateVariable = 10;//私有属性    function privateFunction() {//私有函数        return false;    }    //MyObject初始化未经声明是全局变量     MyObject = function() {};    MyObject.prototype.publicMethod = function() {};})();
/*如果必须创建一个对象并以某些数据对其进行初始化,同时还要公开一下能够访问这些私有属性的方法,那么就可以使用模块模式。*/var application = function() {    var components = new Array();    components.push(new BaseComponent());    return {        getComponentCount : function() {            return components.length;        },        registerComponent : function(component) {            if (typeof component == "object") {                components.push(component);            }        }    };}

转载于:https://my.oschina.net/quidditch/blog/307619

你可能感兴趣的文章
5G:开启英特尔增长的良性循环的钥匙
查看>>
Android的兼容性问题剖析
查看>>
Yahoo!雅虎董事会或将在今天敲定最终竞购报价
查看>>
龙尚科技借力中国移动布局物联网“大连接”
查看>>
域名选择的六大技巧
查看>>
法国研究:日本太阳能超越德国,居全球第二
查看>>
大数据时代,合作才能有效提升资源配置和使用效率
查看>>
当碎片化遇到集成化,CRM该何去何从
查看>>
IBM CEO向特朗普发公开信:支持税改 为促进就业建言
查看>>
Mission Impossible - 说说攻破Chrome究竟有多难
查看>>
他们黑了推特CEO的推特账号 只是为了证明自己
查看>>
解读Java环境变量配置
查看>>
在线可信联盟:IoT安全与全球变暖一样 形势严峻需要共担责任
查看>>
约8937亿元:台积电创下台湾企业市值最高纪录
查看>>
Bitbucket引入了强制双因素认证和IP白名单特性
查看>>
SDN控制器测试工具面世 RYU性能测试报告发布
查看>>
英国四高校携手开展智能传感器系统研究
查看>>
Oracle 12.2新特性掌上手册 - 第三卷 Core Improvements
查看>>
2017年人们对数据中心速度的需求有所增加
查看>>
【过程改进】总结大中小型项目的git流程
查看>>