zoukankan      html  css  js  c++  java
  • eval() / Function()

     1 var o1 = new function(){
     2         return "晶晶";
     3     };
     4     console.log("o1",JSON.stringify(o1));
     5 
     6 
     7     var o2 = new function(){
     8         this.name = "nick";
     9     };
    10     console.log("o2",JSON.stringify(o2));
    11 
    12 
    13     var o3 = new function(){
    14         this.name = "xian";
    15         return "gege";
    16     };
    17     console.log("o3",JSON.stringify(o3));

    一. function(){}  / new function(){}的区别。

    二. eval / new Function /(function(){})()

    console.log(typeof un);
        console.log(typeof deux);
        console.log(typeof trois);
    
        var jsstring = "var un = 1; console.log(un);";
        eval(jsstring);//1
    
        jsstring = "var deux = 2;console.log(deux);";
        new Function(jsstring)();// 2
    
        jsstring = "var trois = 3; console.log(trois);";
        (function(){
            eval(jsstring); // 3
        })()    
    
        console.log(typeof un); // number
        console.log(typeof deux); // undefined
        console.log(typeof trois);// undefined

    eval("var arr = [12,3,4];console.log(arr);");// eval() 跟 new Function() 传入字符串

    console.log(arr); // [12,3,4];   eval()可以访问和修改它外部的变量,这是Function做不来的!

     1 (function(){
     2         var local = 1;
     3         eval("local = 2; console.log(local)");// 2
     4         console.log(local);// 2
     5     })();
     6 
     7     
     8 
     9     (function(){
    10         var local = 1;
    11         Function("console.log(typeof local);")();// undefined
    12     })();
    13 
    14 
    15     (function(){
    16         var local = 1;
    17         eval("console.log(local)");// 1
    18         console.log(local);// 1
    19     })();
    20 
    21     (function(){
    22         var local = 1;
    23         Function("console.log(" + local + ");")();// 1
    24     })();

      

    eval() 与 JSON数据格式- 需要加上() 将代码块转为表达式 

  • 相关阅读:
    SPOJ NDIV
    SPOJ ETF
    SPOJ DIVSUM
    头文件--持续更新
    SPOJ FRQPRIME
    SPOJ FUNPROB
    SPOJ HAMSTER1
    观光
    最短路计数
    拯救大兵瑞恩
  • 原文地址:https://www.cnblogs.com/chuyu/p/3461909.html
Copyright © 2011-2022 走看看