JS为什么这个exec返回null呢?test都返回true了?而exec为null?

JavaScript028

JS为什么这个exec返回null呢?test都返回true了?而exec为null?,第1张

如果你是先执行test(),然后再执行exec(),那么就确实如你所说,test()返回true,而exec则返回null,因为这是算作两次查询,test()查询了一次,然后exec就是第二次查询了,这时候已经没有查询结果了,所以返回null。

如果不执行test(),直接exec(),你就会发现有返回结果了!

所以,正常情况下不要把test()和exec()联用,如果出于测试目的,那么测试后要把test()删掉!

一、execjs不支持eval函数的运行,需要更换eval为return

二、execjs的call必须调用函数,可以在需要调用的js外添加function run(){}

三、execjs调用的函数内部只能运行一个函数