'的奇迹;这';关键词JavaScript

'的奇迹;这';关键词JavaScript,javascript,this,Javascript,This,输出:窗口对象 “this”是否与作为财产“fn”对象的“obj”无关 但是如果我像下面这样声明 var obj = {}; obj.fn = function() { return this; } 输出是。。。对象对象对象 它们不一样吗?您的两个示例都将返回对象本身,控制台日志为this,在全局范围内读取this时记录窗口对象: var obj = { fn: function() { console.log(this); }

输出:窗口对象
“this”是否与作为财产“fn”对象的“obj”无关

但是如果我像下面这样声明

var obj = {};
obj.fn = function() {
    return this;
    }
输出是。。。对象对象对象

它们不一样吗?

您的两个示例都将返回对象本身,控制台日志为
this
,在全局范围内读取
this
时记录窗口对象:

var obj = { 
    fn: function() { 
        console.log(this);
       }
    }

将始终采用包含范围的值

您的两个示例都将返回对象本身,控制台日志为
,在全局范围内读取
时记录窗口对象:

var obj = { 
    fn: function() { 
        console.log(this);
       }
    }

将始终采用包含范围的值

您如何执行第一个示例?您是在做
obj.fn()
还是其他事情?您是如何执行第一个示例的?你在做什么?