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的话,会有返回值???疑问,为什么会出现这种情况