JS:对象调方法1
阅读原文时间:2023年07月08日阅读:4

找调用者

1、如果有this,就先看this在哪个函数中,就是离this最近的function,没有就是window

2、找到函数后,辨别哪个是调用者

例1:

点击查看代码

function fn(){
            consolo.log(this)
        }

        fn() 

打印:

Window {window: Window, self: Window, document: document, name: '', location: Location, …}

表明调用者不是fn(),fn()只是代表了这个函数,真正的调用者是window。

例2:

点击查看代码

var obj={
            name:"fa",
            son:{
                name:"sn",
                say:function(){
                    console.log(this);
                }
            }

        }
        console.log(obj.son);

        var a=obj.son.say;
        a(); 

打印:
{name: 'sn', say: ƒ}

Window {window: Window, self: Window, document: document, name: '', location: Location, …}

第一个是对象调成员;

第二个是对象调方法。