面试题关于this的指向问题

    xiaoxiao2025-02-14  12

    阅读下面程序给出结果:

    <script> var length= 10; function fn(){ console.log(this.length); } var obj ={ length:5, method:function(fn ){ fn();//函数调用的方式 this指向的是window fn.call(obj); //对象.方法 属于方法调用 this指向的是对象 相当于:obj.fn() arguments[0](); // 方法调用: argument[0]() ==> fn() ;this指向的是argument =>arguments.length } }; obj.method(fn); // 10 5 1 </script>

    总结:

    This指向如何分析

    分析this是属于哪个函数这个函数调用模式是哪一种

    函数调用模式:

    函数调用模式:函数名()==>> window方法调用模式:对象.方法()==>> 调用方法的对象(obj.fn() / obj[“fn”]() ).[注意啊:以后看见点语法、中括号语法,就是属于方法调用的模式,例如:arr[0]( )==>arr.0()指向的是arr]构造函数模式==>>指向实例对象 上下文模式/借用模式 (call/apply):this指向是动态的
    最新回复(0)