eval()和Function
2017-10-30 23:28
246 查看
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:
一种为使用eval()函数。
使用Function对象来进行返回解析。
eval()
1.函数接受一个参数string,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。否则执行string语句。如果执行结果是一个值则返回此值,否则返回undefined。
2.使用eval来解析JSON格式字符串的时候,因为json是以“{}”的方式开始以及结束的,在js中会将{}解析为代码块,而不是对象字面量。加()括起来就不会将{}解析为代码块,而是表达式。
Function
它的典型应用就是在JQUERY中的AJAX方法下的success等对于返回数据data的解析 (查资料时看到这句对于ajax知识点又有点忘记,要复习)
eval()和Function
共同点:都可以将字符串转换成js代码
不同点:
一种为使用eval()函数。
使用Function对象来进行返回解析。
eval()
1.函数接受一个参数string,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。否则执行string语句。如果执行结果是一个值则返回此值,否则返回undefined。
2.使用eval来解析JSON格式字符串的时候,因为json是以“{}”的方式开始以及结束的,在js中会将{}解析为代码块,而不是对象字面量。加()括起来就不会将{}解析为代码块,而是表达式。
Function
它的典型应用就是在JQUERY中的AJAX方法下的success等对于返回数据data的解析 (查资料时看到这句对于ajax知识点又有点忘记,要复习)
eval()和Function
共同点:都可以将字符串转换成js代码
不同点:
1. Function创建出来的是函数,并不会直接调用,只有当手动去调用创建函数时才执行。 2. eval把字符串转成代码之后,直接就执行了。
相关文章推荐
- 解密eval(function(p,a,c,k,e,d)的代码
- 执行php表达式字符串,相比于eval,create_function也许是个更好的选择……
- Function的一些结论与eval函数.
- eval(function(p,a,c,k,e,d))系列解密javascript程序
- Tip: execute ad-hoc JavaScript through eval function
- Tip: execute ad-hoc JavaScript through eval function
- 轻松解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
- IE 当eval遇上function的处理
- IE下,当eval遇上function
- with配合eval可改变function[[scope]]
- 用eval不如用Function
- eval(function(p,a,c,k,e,d) 加密破解和格式化JS代码最新算法
- eval(function(p,a,c,k,e,d)系列加解密javascript程序
- eval(function(p,a,c,k,e,d)系列javascript脚本的解密程序
- JavaScript eval() Function
- IE 当eval遇上function的处理
- eval(function(p,a,c,k,e,d)系列解密javascript程序
- 如何解析被压缩过的Js文件?eval(function(p,a,c,k,e,d){.....,{}))
- Tip: execute ad-hoc JavaScript through eval function
- Matlab出现On Startup: Error using eval undefined function 'workspacefunc' for input arguments of type