87,918
社区成员
发帖
与我相关
我的任务
分享
(function ()
{
var a = 5, b = new Array();
})();
(function ()
{
var i = 5;
var add = function () {
i++;
}
var sub = function () {
i--;
}
})();
(function ()
{
var i = 5;
add = function () {
i++;
}
sub = function () {
i--;
}
})();
(function () {
var a = 5, b = new Array();
gets = function() {
return a
}
})();
gets();
想取得a,b有些方法很简单的,记住js的覆盖,后声明的起作用。
var outa,outb;
(function () {
var a = 5, b = new Array();
outa=a;
outb=b;
gets = function() {
return a
}
})();
gets();
不就可以了么,你调用的时候会调用你后面的那个方法,outa,outb已经有值了,因为他覆盖了前面的。
js毕竟是客户端的东西想你怎么操作都可以。var func = getObject();
var gets = function() {
return a;
}
func.append(gets);
当然getObject和append都是虚构的,但是按这个逻辑能否实现获取私有成员呢?(function () {
var a = 5, b = new Array();
gets = function() {
return a
}
})();
gets();