“this"在私有函数内部调用时,指的是窗口
"this" refers to window when called inside a private function
我还在想"这个"。这里我在函数sayFoo
中使用"this"。
当我从sayFoo()中记录它时,我很惊讶"this"是窗口。
关于上下文,我有什么不理解的地方?
myCoolThing = {
foo: "1",
doSomething: function() {
sayFoo();
function sayFoo() {
console.log(this.foo);
}
}
}
myCoolThing.doSomething(); // Errors with "foo" undefined
当您调用sayFoo
时,它被调用而不将对象作为上下文。只有作为对象属性的函数才能以上下文作为父对象调用。
myCoolThing = {
foo: "1",
doSomething: function() {
sayFoo.call(this);
function sayFoo() {
console.log(this.foo);
}
}
}
关于上下文的更多信息。
function .prototype.call()简单地调用this
设置为调用它的第一个参数的函数(在这种情况下,是对象,因为这是this
在函数中作为对象的属性)。
相关文章:
- 允许父窗口在其不同域的子iframe上调用函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 从另一个dojo模板窗口小部件调用dojo模板小部件中的函数
- 剑道窗口还原在最小化然后还原时不调用调整大小事件
- HackReactor,编码窗口现在可以访问一个名为“”的对象;招生;使用名为“;showApp”;.调用此方法时不带任
- 动态弹出窗口'通过调用一个永远运行并返回's每个周期后的数据
- onclick启动打开弹出窗口的javascript-不确定函数调用
- 模式窗口不会从Javascript调用中显示
- 如何在php echo中添加代码,使其在调用时成为弹出窗口
- 为什么jQuery可以从内部调用窗口,却要将窗口发送给自己
- 在调用窗口模糊(浏览器失去焦点)时避免元素模糊处理程序
- 如何在 JavaScript 中调用窗口对象的用户定义函数
- 试图调用窗口底部的警报进行分页
- 调用窗口对象初始化(页面中动态包含iframe)
- 在jquery方法中调用窗口大小调整函数
- JQuery加载,通知调用窗口
- javascript调用窗口对象上带有params的函数
- 在函数中调用窗口对象
- 调用窗口.IE中的close抛出null或未找到对象错误
- Jquery.min.js本地拷贝没有调用窗口加载函数