我定義的對象是這樣的:的Javascript同時創造「不是構造函數」異常物體
function Project(Attributes, ProjectWidth, ProjectHeight)
{
this.ProjectHeight = ProjectHeight;
this.ProjectWidth = ProjectWidth;
this.ProjectScale = this.GetProjectScale();
this.Attributes = Attributes;
this.currentLayout = '';
this.CreateLayoutArray = function()
{....}
}
我然後嘗試創建和實例是這樣的:
var newProj = new Project(a,b,c);
但這execption拋出:
Project is not a constructor
什麼可能是錯誤的?我搜索了很多,但仍然無法弄清楚我做錯了什麼。
出於好奇,該瀏覽器給予該「項目是不是一個構造器」的消息? – 2012-04-11 13:54:51
作爲一個不相關的邊節點,一般JavaScript風格指南建議僅在構造函數中使用大寫字母來啓動變量標識符:「Project」沒問題,但「ProjectHeight」中的首要資本暗示它也應該是構造函數。如果你使用「projectHeight」代替,你的代碼對其他人更易讀。 (事實上,如果其他海報是正確的,並且你已經在其他地方定義了一個Project變量,那麼使用前置 - 大寫 - 僅供構造器使用的規則將使你不會再犯這個錯誤。) – apsillers 2012-04-11 13:55:37
@DaggNabbit Opera does(12.15) – PeerBr 2013-06-20 17:39:48