簡體   English   中英

為什么我不能創建window的新實例?

[英]Why I can't create new instance of window?

為什么我不能創建window的新實例。

當我嘗試:

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關鍵字的作用是創建一個新對象並將其設置為構造函數的上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM