首页 > 其他 > 详细

还是函数劫持。。

时间:2018-01-23 14:59:52      阅读:147      评论:0      收藏:0      [点我收藏+]

阅读depd源码有感:

            var fn = function(a, b, c) {
                return a + b + c;
            }
            var args = createArgumentsString(fn.length)

            function createArgumentsString(arity) {
                var str = ‘‘

                for(var i = 0; i < arity; i++) {
                    str += ‘, arg‘ + i
                }

                return str.substr(2)
            }
            console.log(args);
            var deprecatedfn = eval(‘(function (‘ + args + ‘) {\n‘ +
                ‘"use strict"\n‘ +
                ‘return fn.apply(this, arguments)\n‘ +
                ‘})‘)
            console.log(deprecatedfn(1,5,3));

js虽然不能在函数外直接拿到参数,但是可以通过这种伪装函数拿到参数再去执行原函数,从而实现函数劫持。

还是函数劫持。。

原文:https://www.cnblogs.com/chyblog/p/8335744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!