eval()和Function

来源:互联网 发布:移动4g网络优化是干嘛 编辑:程序博客网 时间:2024/05/22 10:44

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:

  1. 一种为使用eval()函数。
  2. 使用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把字符串转成代码之后,直接就执行了。