• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    邪恶的eval和new Function使用介绍

    代码:

    复制代码 代码如下:

    // 友善提醒:为了你的手指安全,请在Chrome下运行
    'alert("hello")'.replace(/.+/, eval);
    'alert("hello")'.replace(/.+/, function(m){new Function(m)();});

    var i = 0; eval(new Array(101).join('alert(++i);'));
    var i = 0; new Function(new Array(101).join('alert(++i);'))();


    解释:
    1、string.replace(regexp, replacement): replacement可以是function. In this case, the function is invoked for each match, and the string it returns is used as the replacement text.

    2、new Function(argument_names..., body): 注意参数中的body. 这样,用new Function('body')()
    , 也可以像eval一样动态执行代码。

    3、array.join(separator): 这个最简单,不多说。在这里,巧妙的用来解决了一个无聊问题:写段代码,运行后打印出从1到100的整数,不允许使用循环、跳转和递归。

    这些代码可以干什么?可以肯定的是可以干很多猥琐的事。具体是啥呢,自己想啰。

    您可能感兴趣的文章:
    • javascript使用eval或者new Function进行语法检查
    • 详解new function(){}和function(){}() 区别分析
    • function, new function, new Function之间的区别
    • Eval and new funciton not the same thing
    上一篇:vbs获取当前时间日期的代码
    下一篇:WScript.Shell对象SpecialFolders属性未公开文档分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    邪恶的eval和new Function使用介绍 邪恶,的,eval,和,new,Function,