json用闭包的话怎么调用当前json里的函数

varjson={a:function(){alert(2)},b:function(){//怎么调用a函数}()};... var json={
a:function(){
alert(2)
},
b:function(){
//怎么调用a函数
}()
};
展开
 我来答
love海15211
2015-03-24 · TA获得超过152个赞
知道答主
回答量:38
采纳率:0%
帮助的人:50.5万
展开全部

你应该是写错了吧:

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在定义的时候执行是不行的,你换成函数就可以了。

或者说我修行不足,坐等大神!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式