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 (中国标准时间)