我知道在 Javascript 中,我可以调用函数 self.close() 来关闭当前窗口。我想知道如果不是关闭我想提醒“foo”的窗口,这可能吗?
在这种情况下,我的代码看起来像
function funky(){
alert("foo");
}
我可以在我的 html 中执行此操作吗
self.funky()
调用时髦?换句话说,我想在用户关闭浏览器之前提醒他们一条消息
我知道在 Javascript 中,我可以调用函数 self.close() 来关闭当前窗口。我想知道如果不是关闭我想提醒“foo”的窗口,这可能吗?
在这种情况下,我的代码看起来像
function funky(){
alert("foo");
}
我可以在我的 html 中执行此操作吗
self.funky()
调用时髦?换句话说,我想在用户关闭浏览器之前提醒他们一条消息
全局属性“self”只是window
(在某些浏览器中)的别名。window
因此,也可以通过“self”访问任何属性。
如果您声明一个全局函数,那么它也将成为 "self"/ 的一个属性window
。
self 和 window 是同一个对象
self === window // true
self
除了它最初设置为 reference 之外没有什么特别之处window
。同样,在全局上下文中this
也指window
. 在函数中,this
将被定义为函数的上下文,并且self
通常用于保存上下文:
function Foo() {
var self;
self = this;
setTimeout(function () {
self.bar(); //here `self` references the Foo instance
}, 1000);
}
Foo.prototype = {
bar: function () {
self.console.log('bar!'); //here `self` references `window`
}
}
new Foo();