默认

[已回复] 关于RainbowChat-Web 中 JS 模块编写的设计模式疑问

查看数: 17758 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-01-14 19:53

正文摘要:

var RBChatRosterUI = (function () {     // 构造器(相当于java里的构造方法)     var Cache2 = function (argument){         // 好友列表数据模型 ...

评论

Elimentli 发表于 2 年前
感谢,又学习新知识了!
JackJiang 发表于 2 年前
这其实是几种JS编码技巧放一起了。

1)(function () {  })(); 这其实是自执行的匿名函数写法,看起来有点怪,但这是js里很惯用的写法。具体你看看这个帖子:https://www.cnblogs.com/ooplus/p/5468338.html

2)Cache2.prototype.xxx = function(){
       //do something
    };   这其实面向对象的写法,目的是新建一个类,具体你学习一下这个链接:http://www.ruanyifeng.com/blog/2 ... _encapsulation.html

第1)2)两种写法放一起,就是将第2)种中定义的类,new后,return给了这个匿名函数,而这个匿名函数的返回值又赋给了 “var RBChatRosterUI = 匿名自执行函数”这样的全局变量。从而实现了一个不污染全局的全展对象实例。

返回顶部