Location对象的原型对象是什么?

时间:2013-01-04 15:35:56

标签: javascript prototype

location是窗口和文档的拥有属性。

window.hasOwnProperty("location")
true

document.hasOwnProperty("location")
true

但是当我尝试将Location的原型与Location.prototype进行比较时,我得到了Location未定义的错误。

虽然我可以在Location对象中看到Location构造函数。

位置的原型对象是什么?

理想情况下,我们应该能够看到Location.prototype和方法,如assign和其他两个。

Chrome bug? enter image description here

2 个答案:

答案 0 :(得分:4)

原型可能看不见,即使它已列出。

试试这个:

​var a = (function(){ // this is a closure protecting A
    var A = function(b){
        this.b = b;
    }
    return new A('test');
})();
console.log(a); // logs ▸A
console.log(A); // error, as A isn't defined

浏览器没有理由让Location可见。当然没有理由让它混乱全局命名空间。

答案 1 :(得分:0)

w3将位置对象称为“界面”,请参阅http://www.w3.org/html/wg/drafts/html/master/browsers.html#location 所以扩展它的原型可能没有任何想法。

为什么要扩展Location的原型? 有没有更好的方法来解决您的原产地问题?