还是函数劫持。。

Posted 洛河

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了还是函数劫持。。相关的知识,希望对你有一定的参考价值。

阅读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虽然不能在函数外直接拿到参数,但是可以通过这种伪装函数拿到参数再去执行原函数,从而实现函数劫持。

以上是关于还是函数劫持。。的主要内容,如果未能解决你的问题,请参考以下文章