为什么这段代码执行会返回undefined

var x=[1,2,3];
var y=[2,3,5,6];
alert(typeof((function(){if(x.length>y.length) return y})()));

想不通为什么

阅读 2.5k
3 个回答

条件不对哦

typeof((function(){if(x.length<y.length) return y})())
"object"

你把后面的()去掉就会返回function

你这样肯定会返回undefined,没意义。

var x=[1,2,3];
var y=[2,3,5,6];
alert(typeof((function(){
  if(x.length > y.length){
    return y;
  }
  return undefined;
})()));

代码写这么乱,自己为难自己么?

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