为什么在safari中定义了两次警报?
Safari 5.1.7(7534.57.2)
window.hasOwnProperty('alert'); //true
var w = Object.getPrototypeOf(window);
w.hasOwnProperty('alert'); //true
其他浏览器:Chrome 24.0.1312.52 m,FireFox 18.0,IE 9.0.8112.16421CO,Opera 12.12 1707
window.hasOwnProperty('alert'); //false
var w = Object.getPrototypeOf(window);
w.hasOwnProperty('alert'); //true
答案 0 :(得分:0)
这意味着在Safari中,他们将警报设置为原型和窗口实例上的函数。
function Window() {
this.alert = function() { //code here };
}
Window.prototype.alert = function() { //code here };
而在其他浏览器中,他们只会完成原型声明。