2015-02-05 51 views
0

我對這個東西很陌生,但我試圖在JavaScript中創建一個類的新實例,我也想使用輸入初始化類,就像函數一樣。使用函數訪問其他類的Javascript

到目前爲止,我有:

/Class1.js 
/folder/Class2.js 

Class2.js:

function Class2(n) { 
this.number = n; 
} 

Class1.js:

var instance = new Class2(1); 

那沒有工作,所以我想需要等級:

require('./folder/Class2.js'); 

var newClass = new require('./folder/Class2.js'); 
var instance = new newClass(1); 

無論是工作,我得到的錯誤:

Class2 is not defined

this沒有網上的例子都沒有進入任何細節,爲什麼它不工作只是同非工作的東西。

+0

'class'是一個保留的標識符,所以你不能有一個名爲'class'的變量。事實上,在[ECMAScript 6](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions)中,它用於創建類。 – Oriol

+0

它們是示例名稱,因此我不必瀏覽實際調用和定位的所有不同文件夾和類名稱。 – Greg

回答

1

module.exports = Class2;添加到您的第2類文件的末尾。當您需要該文件時,您分配的值將被返回。如果你不輸出任何東西,你需要的時候根本不會得到任何東西。

0

這也可能是由於您的HTML中的JS類定義的順序造成的。您可能會嘗試在Class2'exists'之前引用Class1中的Class2。