为什么我不能创建一个新的窗口实例。
当我尝试:
var mywin = new window();
它抛出:
TypeError: object is not a function
我猜 window 是一个静态对象,有什么方法可以将静态对象转换为动态对象,以便我可以执行以下操作:
window.prototype.something = 'value';
有人可以对此有所了解吗?
为什么我不能创建一个新的窗口实例。
当我尝试:
var mywin = new window();
它抛出:
TypeError: object is not a function
我猜 window 是一个静态对象,有什么方法可以将静态对象转换为动态对象,以便我可以执行以下操作:
window.prototype.something = 'value';
有人可以对此有所了解吗?
window
是 Javascript 中表示全局上下文的特殊对象。它是Window
该类的一个实例,但您不能创建该类的实例,因为它对解释器具有特殊意义。
(如果您只想创建一个窗口,可以使用该window.open()
函数来完成。)
window
不是类,它是对当前Window
对象的引用。
一个Window
对象代表浏览器中的一个窗口,因此您不能只创建它的一个实例。您使用该open
方法打开一个新窗口,从而创建一个新Window
实例:
var mywin = window.open('http://www.guffa.com', '_blank');
_blank
目标使调用open
实际上打开一个新窗口,而不是在当前窗口中打开一个页面。
Window
不是一个类,它是一个接口,所以它没有原型。您可以使用属性扩展当前窗口,但这只会影响该实例,而不是所有实例:
window.something = 'value';
错误消息是不言自明的!window 不是函数,只能在函数前使用new
关键字,然后这个函数称为构造函数。关键字的作用是new
创建一个新对象并将其设置为构造函数的上下文。