嗨,堆栈溢出的人。我是这里的新手,我想尝试我的第一个问题,这只是出于学习目的。现在,我正在用JavaScript中的关键字this的概念进行思考。我不希望在这里的人向我解释“这个”的完整概念,我只会以其他人学习它的方式来做:Google,MDN,YouTube,VSCode和Chrome开发者工具。
我只是想知道什么,我找不到任何引用:
“ this”似乎总是引用作为方法调用对象的对象,其中包含关键字“ this”。
let testObject = {};
testObject.name = "Dennis";
testObject.sayName = function() {
console.log("Hi, I\'m "+this.name);
}
testObject.sayName(); //prints: "Hi I'm Dennis", so this=testObject.
console.log("Hi, I\'m "+ this) //prints: "Hi, I'm [object Window]" so this=Window
也许有些人知道为什么console.log(this)不能简单地打印控制台对象?因为.log()只是控制台对象的方法,对吧?这有任何意义吗? :D
非常感谢!