以下内容为原创,转载请注明出处!  

        今天做js插件的时候遇见一个问题:就是通过用户所传字符串来调用和字符串同名函数,python里面叫做反射,我不清楚js是不是也叫反射,不管他叫什么了,或许你会想用switch case该种方式来实现,但当函数很多的时候,那case什么时候是个头啊。。。后面在网上查了下资料,发现js有个函数叫做eval。我们就用他来实现该功能。。。。

定义和用法

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

function bb(){
    alert(3333)
}
function cc(){
    return 22
}
eval("bb()") //打印3333
alert(eval("bb()"))//打印3333,打印undefined
alert(eval("cc()"))//打印22

通过上面会发现,eval接受返回值,当没有返回值的时候输出undefined