利用闭包实现私有成员的单体(Singleton),访问内部成员时出现的差别,不知道为何

asimplefire 2012-07-24 08:48:26
代码如下:

var LIB = function () {
var _request1 = function () {
this._name = "alert request1 name!";
this._id = "alert request1 id!";
};
var _request2 = new function () {
this._name = "alert request2 name!";
this._id = "alert request2 id!";
};
return {
request1: _request1,
request2: _request2
};
} ();
function jst() {
var tt1 = new LIB.request1();//正常
//var tt2 =LIB.request2();//这里会报错
alert(tt1._name);//正常
//alert(tt2._name);//访问不了
}


<input type="button" id="btn_test" style="width:120px;height:30px" value="测试" onclick="jst()" />

在LIB内,直接new function(),然后其暴露出来能被访问到,可是为何不行呢?如上代码,直接访问request2会报错,reqeust1正常!
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2012-07-25
  • 打赏
  • 举报
回复
request2已经是一个object了

alert(LIB.request2._name);

如果可以的话 你在带控制台的浏览器中
console.log(LIB)
就明白了
asimplefire 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

request2已经是一个object了

alert(LIB.request2._name);

如果可以的话 你在带控制台的浏览器中
console.log(LIB)
就明白了
[/Quote]
谢谢,明白了!

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧