41

alert()和功能有什么区别window.alert()?它似乎工作相同。

4

2 回答 2

49

因为window是全局对象,你可以alert通过它的简写来调用一个:alert( 'Hello!' );或者通过专门引用全局对象:window.alert( 'Hello!' );

他们是一样的。

于 2012-11-19T18:33:33.517 回答
32

它们通常是相同的,但是,如果在您的范围内,请参见示例,警报函数被重新定义,那么警报和 window.alert 将不是同一个函数。

(function () {
    function alert(test) {
        document.write(test);
    }

    alert("hello page");
   window.alert("hello world");
})()

希望这个例子比我的解释更能说明这个问题。

您还可以使用变量隐藏函数名称并在调用它时获取错误。

(function () {
    var alert;
    alert("Why don't you work, silly function?");
})()
于 2012-11-19T18:39:28.743 回答