JavaScript--eval

一、eval()函数

   eval函数是强大的数码转换引擎,字符串经eval转换后得到一个javascript对象。如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

  js的数据类型为弱类型,可以在定义的时候指定数据类型,也可以在运算过程中强制数据类型转换。一个对象经过eval转换后数据类型不确定,在相加过程中自动与其他数据类型一致。 

var a = eval('5')
a
5
#等效 var a=5

var b = eval("'5'")
b
"5"
# 等效 var b="5"

test_list
"[1,2,3,4]"
var t_list = eval(test_list)
t_list
(4) [1, 2, 3, 4]

# 等效 t_list = [1,2,3,4]

  eval参数也可以是js语句 

eval("m_list=[1,2,3,4,5];for(var i in m_list){console.log(m_list[i]);}")
1
2
3
4
5

  

  eval应用

  如果有个json数据要处理:  

{“id”:1,”name”:”zhangsan”,”age”:30,”address”:”hz”}

# 如果直接获取值
function(returnedData,status){
     
      var people = returnedData;
      alert(people);
      var id = people.id;
      var name = people.name;
      var age = people.age;
      var addres
      var address = people.address;
}    

如上这样写得话,取到的returnedData是一个字符串而不是一个对象,所以下面取不到对象的属性

如果将

var people = eval(“(“+returnedData+”)”);

即可将people转换成一个对象,也就取得对象的属性了

  

二、Date时间 

  2.1 创建时间对象

#  创建时间对象

var date = new Date()  // 创建新的时间对象

  2.2 获取时间

# 获取日期
date.getDate()
11

# 获取分钟
date.getMinutes()
48

  2.3 修改时间  

date
Wed Jul 11 2018 14:00:05 GMT+0800 (中国标准时间)
var n = date.getMinutes() + 5
undefined
n
5
date.setMinutes(n)
1531289105655
date
Wed Jul 11 2018 14:05:05 GMT+0800 (中国标准时间)

  

原文地址:https://www.cnblogs.com/bigberg/p/9294158.html