0

WebGLを学びたくてJSで開発を始めています。私は何年もの間、Java、C++、C# などの強力な型付きクラスを使用してきました。しかし、JSにはクラスがなく、変数が型付けされていないため、JSに大きな問題が発生しています...

だから私はIDEを使っていくつかのコードを完成させようとしています。しかし、「クラス」を作成して、いくつかの IDE でそれを認識させることができません。NetBeans、Cloud9、Eclipse を試した: すべて同じ問題があります。

参考までに、これは私が使用しようとしているクラス(Matrix4f.js)です:

if (typeof(exports) === 'undefined') {
    global = typeof(window) !== 'undefined' ? window : this;
}
else {
    global = exports;
}

function Matrix4f(array){
    var mat4f = new Float32Array(array);

    mat4f.translationMatrix = function(x, y, z){
        return new Float32Array([
            1.0, 0.0, 0.0, 0.0,
            0.0, 1.0, 0.0, 0.0,
            0.0, 0.0, 1.0, 0.0,
            x,   y,   z,   1.0
        ]);
};

} 


Matrix4f.create = function(){
    return new Matrix4f([
            1.0, 0.0, 0.0, 0.0,
            0.0, 1.0, 0.0, 0.0,
            0.0, 0.0, 1.0, 0.0,
            0.0, 0.0, 0.0, 1.0
        ]);
};

Matrix4f.translationMatrix = function(x, y, z){
    return new Float32Array([
            1.0, 0.0, 0.0, 0.0,
            0.0, 1.0, 0.0, 0.0,
            0.0, 0.0, 1.0, 0.0,
            x,   y,   z,   1.0
        ]);
};

Matrix4f.scalingMatrix = function(x, y, z){
    return new Float32Array([
            x,   0.0, 0.0, 0.0,
            0.0, y,   0.0, 0.0,
            0.0, 0.0, z,   0.0,
            0.0, 0.0, 0.0, 1.0
        ]);
}; 

global.Matrix4f = Matrix4f;

そのため、Index.html でインポートを行い、他の JS ファイルで次のコードを使用しようとすると、IDE は「Matrix4f」が宣言されていない変数であると表示します

var mat4 = Matrix4f.create();
var mat4_2 = new Matrix4f([0.0]);

だから私は何か間違ったことをしていますか、これは JS を使用した IDE の制限ですか? また、この問題がない IDE はありますか?

私は「最高」を求めているのではなく、完全なコードを使用したいだけです...ただそれだけです! そして、ブラウザで使用しようとすると、正常に動作するため、コードに構文エラーはありません(と思います)。

とにかく、助けてくれてありがとう!

4

2 に答える 2

0

Visual Studio 2012 は、この種のコード補完を標準でサポートしています。davesters81 による回答では、TypeScript の適切な選択として言及されていますが、TypeScript がなくても、VS で適切なJavaScript インテリセンス サポートが得られます (市場で最高のものの 1 つ)。

証拠 (Matrix コードをコピーして site.js に貼り付けました):

ここに画像の説明を入力

于 2013-12-13T14:57:29.717 に答える
0

クラスと厳密に型指定されたメンバーを使用する場合は、TypeScript を試すことができます。これは本当に素晴らしい javascript のスーパーセットであり、Java と C# で慣れ親しんだすべての優れた機能を提供します。

http://www.typescriptlang.org/

一部のテキスト エディターおよび IDE 用のプラグインがいくつかあり、Visual Studio 2012 はそれを非常にうまくサポートしています。

于 2013-06-19T22:01:17.880 に答える