可以动态构建一个函数。
为啥要这么做?
我还真的就有这么一个需求。原因是,我
有一个查找函数,根据输入条件的不同进行查找。从一大堆数据里面进行查找。
为了提高点性能,我想根据输入条件,预先在循环外部构造好函数,在循环里面直接调用这个函数。否则的话,循环里面充斥着各种判断,每一轮循环都要判断。所以,需要动态构造函数,将判断提取到循环外。
javascript还真支持。原理主要是可以将字符串转成语句。
var f = new Function('say',"alert(say);");//第一个参数,是构建出来的动态函数的参数;第二个参数,是函数体
/*
*相当于
var f = function(say){
alert(say);
};
*/
f('hello world!');//运行结果,弹出对话框:hello world!
千古江山,英雄无觅,孙仲谋处。舞榭歌台,风流总被,雨打风吹去。斜阳草树,寻常巷陌,人道寄奴曾住。
想当年,金戈铁马,气吞万里如虎。 元嘉草草,封狼居胥,赢得仓皇北顾。四十三年,望中犹记,烽火扬州路。可堪回首,佛狸祠下,一片神鸦社鼓。凭谁问:廉颇老矣,尚能饭否?