zoukankan      html  css  js  c++  java
  • 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 (中国标准时间)
    

      

  • 相关阅读:
    10.22(day11) Object类 异常
    10.19(day10)
    10.18(day9)内部类 抽象类 接口
    10.17(day8) Static关键字 包的使用 访问修饰符的权限 设计模式
    paho-mqtt error1: incorrect protocol version解决方法
    Python进阶-pickle/eval/exec
    关联分析算法Apriori和FP-Growth
    LOF聚类分析
    Python进阶-迭代器和生成器
    Linux常见坑
  • 原文地址:https://www.cnblogs.com/bigberg/p/9294158.html
Copyright © 2011-2022 走看看