代码如下:
- JScript code
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);//访问不了 }
- HTML code
<input type="button" id="btn_test" style="width:120px;height:30px" value="测试" onclick="jst()" />
在LIB内,直接new function(),然后其暴露出来能被访问到,可是为何不行呢?如上代码,直接访问request2会报错,reqeust1正常!
------解决方案--------------------
request2已经是一个object了
alert(LIB.request2._name);
如果可以的话 你在带控制台的浏览器中
console.log(LIB)
就明白了