JavaScript权威指南关于eval()字符串返回的问题

    var strLong1 = 'var x = 1;var y = 2;';
    var strLong2 = 'var x = 1;x++;';
    var strLong3 = 'var x = 1;y = 2;'
    console.log(eval(strLong1),x,y);
    //undefined,1,2
    //最后一个表达式或语句没有语句或返回值,则最终返回undefined
    console.log(eval(strLong2),x);
    //1,2
    //表达式或语句有返回值,返回字符串中最后一个表达式或语句的值
    console.log(eval(strLong3),x,y);
    //2,1,2
    //最后一条不加var的话,会有返回值???疑问,为什么会出现这种情况

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