location是窗口和文档的拥有属性。
window.hasOwnProperty("location")
true
document.hasOwnProperty("location")
true
但是当我尝试将Location的原型与Location.prototype进行比较时,我得到了Location未定义的错误。
虽然我可以在Location对象中看到Location构造函数。
位置的原型对象是什么?
理想情况下,我们应该能够看到Location.prototype和方法,如assign和其他两个。
Chrome bug?
答案 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的原型? 有没有更好的方法来解决您的原产地问题?