请求解释一下这个eval()函数的分析过程 为什么是先输出 z is 42 而不是 x is z is 42还有就是为什么会输出420? (也就是 x is 420) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码是按顺序执行的,在 console.log(‘x is', eval(str))里,先执行参数计算,也就是先执行了 eval,所以先执行了 str里的console.log(z is 42),最后返回x=420的值计算完参数后,再执行外部的console.log(‘x is', 420) eval的结果就是420,下面这个console.log输入了两个参数,解释器要先计算出参数的结果,就先输出了z is 42,然后再合成输出x is 420 eval()是你第二个console.log的参数,所有eval()会先执行得出个结果,再将结果作为参数,eval()优先于第二个console.log;eval()函数在执行的时候会输出其中的console.log,这就是为什么先输出z is 42 jQuery 弹出图片 JQuery iframe问题 ajax 读取聊天室 发现内存一直涨下去 ???? js 判断 window.opener ,window.opener.top ,window.top 是否存在 请求各位前辈推荐一本学习JavaScript的书籍!! Nodejs怎么获取上传文件的MD5? 关于CSDN论坛菜单问题..求解.. 动态赋值全局变量! 再送一百分、老问题、复选框选取 如何刷新所有弹出窗口 boostrap3.3.6 弹出框缓存清除 如何为innerHTML里面的input标签增加事件CSDN
console.log(‘x is', eval(str))
里,先执行参数计算,也就是先执行了 eval,所以先执行了 str里的console.log(z is 42),最后返回x=420的值计算完参数后,再执行外部的
console.log(‘x is', 420)