高手们都放假了吗?小妹请教个问题。

lovewangya 2010-02-04 08:22:32

str = "function qq(a,b){return a*b}";

/*
我想请问大家如何把字符串函数转换为真正的函数,并可以调用,

例如把str字符串转换为真正的函数之后然后下面的alert则弹出6
alert(qq(2,3));
*/
...全文
258 29 打赏 收藏 举报
写回复
29 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dh20156 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ltnrain 的回复:]
妹子,你头像上面的手是谁的啊~
[/Quote]
观察仔细 ^_^
xiuyouxu 2010-02-05
  • 打赏
  • 举报
回复
up
foolbirdflyfirst 2010-02-05
  • 打赏
  • 举报
回复
var str = "function qq(a,b){return a*b}";
var fn = new Function("return "+str)();
alert(fn(2,3))//6;
luohuayh 2010-02-05
  • 打赏
  • 举报
回复
能回答的都让人回答了,凑个热闹
lm531142331 2010-02-05
  • 打赏
  • 举报
回复
eval可以的把
浴火_凤凰 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free_wind22 的回复:]
用eval函数

JScript code
str="function qq(a,b){return a*b}";
eval(str);
alert(qq(2,3));
[/Quote]
完全同意啊。
  • 打赏
  • 举报
回复
eval 好东东
yingzhilian2008 2010-02-05
  • 打赏
  • 举报
回复
eval
jeremyxuzz 2010-02-05
  • 打赏
  • 举报
回复
测试了一下,
用eval应该是不行的。
lp19890601 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sohighthesky 的回复:]
引用 6 楼 objector 的回复:


有新意,你的回答让我想起来Douglas不用eval而自己写类库解析JSON了~ 究竟谁更快更安全呢。。。

杯具,就算是match提出来还是不如eval

JScript codevar str="function qq(a,b){return a*b}";var len=10000,d1=new Date(),d2;var matcher=str.match(/^function\s+(\w+)\(([^\)]*)\){([\s\S]*)}$/);for(var i=0;i<len;i++){

window[matcher[1]]=Function.apply(null,matcher.slice(2));
}
document.write("Function:"+(new Date()-d1));
document.write("<br/>"+qq(2,3))
d2=new Date()for(var i=0;i<len;i++){
eval(str);
}
document.write("<br/>"+qq(2,3))
document.write("eval:"+(new Date()-d2));
[/Quote]

可以试试这个
zhousq00 2010-02-05
  • 打赏
  • 举报
回复
我学习了
草根醉秋意 2010-02-05
  • 打赏
  • 举报
回复
妹子,你头像上面的手是谁的啊~
jeremyxuzz 2010-02-05
  • 打赏
  • 举报
回复
str = "function qq(a,b){return a*b}";
-
(eval(str))(3,4);
hwoarangzk 2010-02-05
  • 打赏
  • 举报
回复
eval(),LZ应该看看这个函数,能动态创建可执行的js代码,好用!
yaoBoss 2010-02-05
  • 打赏
  • 举报
回复
楼上的炫技了 不错
liuliang1232005 2010-02-05
  • 打赏
  • 举报
回复
var str="function qq(a,b){return a*b}";
eval(str);
alert(qq(2,3));

eval可以的

但是还有一种就是用match写出函数 个人认为match 安全性要好一些
freespacezjx 2010-02-05
  • 打赏
  • 举报
回复
人挺多,围观~
blueweiwei 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ltnrain 的回复:]
妹子,你头像上面的手是谁的啊~
[/Quote]
老兄眼力甚好,贫僧佩服!佩服!
yzm365487848 2010-02-05
  • 打赏
  • 举报
回复
围观。
笨笨牛 2010-02-05
  • 打赏
  • 举报
回复
学习了
加载更多回复(9)
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-02-04 08:22
社区公告
暂无公告