源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

邪恶的eval和new Function使用介绍

  • 时间:2022-09-07 23:40 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:邪恶的eval和new Function使用介绍
代码:
[u]复制代码[/u] 代码如下:
// 友善提醒:为了你的手指安全,请在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的整数,不允许使用循环、跳转和递归。 这些代码可以干什么?可以肯定的是可以干很多猥琐的事。具体是啥呢,自己想啰。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部