一个javascript面试题解析

var length = 10;
        function fn(){
            console.log(this.length);
        }

        var obj = {
            length: 5,
            method: function (fn) {
                fn();   //                 10

                // 实际上,最终的结果:获取的是 实参的个数!
                arguments[0](); //// 结果:3

                // 此时,就是作为对象的方法来调用的,所以,此时,
                // 函数内部的this就指向了当前的对象!
                // 最终获取到的就是:arguments.length,获取的是实参的个数
          // arguments是函数内部一个属性,表示函数实际参数的伪数组
            }
        };
        obj.method(fn, 123, true);
原文地址:https://www.cnblogs.com/lsy0403/p/5877312.html