2

我知道在 Javascript 中,我可以调用函数 self.close() 来关闭当前窗口。我想知道如果不是关闭我想提醒“foo”的窗口,这可能吗?

在这种情况下,我的代码看起来像

   function funky(){
alert("foo");
}

我可以在我的 html 中执行此操作吗

self.funky()

调用时髦?换句话说,我想在用户关闭浏览器之前提醒他们一条消息

4

3 回答 3

3

全局属性“self”只是window(在某些浏览器中)的别名。window因此,也可以通过“self”访问任何属性。

如果您声明一个全局函数,那么它也将成为 "self"/ 的一个属性window

于 2012-09-20T18:05:47.320 回答
0

self 和 window 是同一个对象

   self === window  // true
于 2012-09-20T18:09:53.850 回答
0

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();
于 2012-09-20T18:10:22.233 回答