var the_unevaled_answer = "2+4";var the_evaled_answer = eval(the_unevaled_answer+3); eval(the_unevaled_answer+3); => eval("2+4"+3);=> eval("2+4"+"3")=>eval("2+43")=>45

解决方案 »

  1.   

    eval("2+4"+"3")
    这步解释下,是不是可以分解为
    eval(2+"4"+"3")
    eval(2加上"4"连接"3")
    是这样理解的么?
    在js里,var a;a是一个隐性的变量,所以当遇到+时,可以认为是 加号,或连接符我这题是不是说: “连接符”的优先级要高于“加号” ,虽然都是相同的+
      

  2.   

    var the_unevaled_answer = "2+4";
    //var the_evaled_answer = eval(the_unevaled_answer+3);
    alert(the_unevaled_answer+3);
    结果是2+43
    这样你就明白了吧,eval()里面的+是字符串连接符,不是加号
    ""里面的+, 就是加号了
      

  3.   

    eval()里面的+是字符串连接符,不是加号 
    ""里面的+, 就是加号了学习了