json用闭包的话怎么调用当前json里的函数
varjson={a:function(){alert(2)},b:function(){//怎么调用a函数}()};...
var json={
a:function(){
alert(2)
},
b:function(){
//怎么调用a函数
}()
}; 展开
a:function(){
alert(2)
},
b:function(){
//怎么调用a函数
}()
}; 展开
1个回答
展开全部
你应该是写错了吧:
var json={
a:function(){ alert(2) },
b:function(){
alert(json)
}()
};
这个在定义的时候就执行了b,但是json的定义还没有结束,
你应该是这样子写:
var json={
a:function(){ alert(2) },
b:function(){
return this.a();
}//-删除了括号-
};
执行json.b(); 就可以alert(2)了
追问
那如果非要定义的时候调用呢,感觉面试题里出现过
追答
var json=function(){
a=function(){ alert(2) },
b=function(){
return this.a();
}();
}()
我觉得json在定义的时候执行是不行的,你换成函数就可以了。
或者说我修行不足,坐等大神!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询