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