相关疑难解决方法(0)

什么时候JavaScript的eval()不是邪恶的?

我正在编写一些JavaScript代码来解析用户输入的函数(用于类似电子表格的功能).解析了公式后,我可以将其转换为JavaScript并eval()在其上运行以产生结果.

但是,eval()如果我可以避免它,我总是回避使用,因为它是邪恶的(而且,无论是对还是错,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会被用户改变).

那么,什么时候可以使用它?

javascript coding-style eval

253
推荐指数
9
解决办法
8万
查看次数

RegExp的序列化

所以,我有兴趣发现JSON.stringify将RegExp简化为空对象 - 文字(小提琴):

JSON.stringify(/^[0-9]+$/) // "{}"
Run Code Online (Sandbox Code Playgroud)

这种行为有望吗?我意识到RegExp是一个没有要序列化属性的对象.也就是说,日期也是对象; 但JSON.stringify()设法产生一个有意义的字符串:

JSON.stringify(new Date) // "2014-07-03T13:42:47.905Z"
Run Code Online (Sandbox Code Playgroud)

我希望JSON能够通过使用给予RegExp相同的考虑.JSON.stringify

javascript json stringify

28
推荐指数
5
解决办法
1万
查看次数

我可以在JSON中存储RegExp和Function吗?

鉴于这样的块:

var foo = {"regexp":/^http:\/\//,
           "fun":function(){},
}
Run Code Online (Sandbox Code Playgroud)

将它存储在JSON中的正确方法是什么?

javascript regex serialization json anonymous-function

22
推荐指数
5
解决办法
3万
查看次数