一个javascript面试题解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个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);

 

以上是关于一个javascript面试题解析的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript高级JavaScript的运行原理:V8引擎,JS代码执行原理,作用域和作用域链面试题

浏览器和Node的事件循环

浏览器和Node的事件循环

一道关于JavaScript解析器错误的面试题

一道关于JavaScript解析器错误的面试题

高频面试题:JavaScript事件循环机制解析