函数执行问题

  var arr=[(function(){
                alert('0');
                })];
    
    alert(arr[0]());//为什么执行后会弹出两次,第二次的undefined是什么?
阅读 2.1k
2 个回答

这个其实应该弹出undefined 应为你alert()的是函数结果 结果为undefined 。 只不过在函数结果运行出来之前 函数本身弹出了alert(0)的弹窗,所以先弹0 再弹undefined,共两次

1)arr[0]();执行结果 alert(‘0’);第1次弹出
2)每个函数执行后都会有一个返回值,如果没有明示的使用return语句返回值,就返回undefined
3)alert(arr[0]()的返回值); 第2次弹出

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题