0

我开始使用 JS 进行开发,因为我想学习 WebGL。多年来,我一直在使用强类型类,如 Java、C++ 和 C#。但是现在我在使用 JS 时遇到了很大的问题,因为它没有类和变量,没有输入......

所以我正在尝试使用 IDE 来帮助我完成一些代码等。但是我无法创建一个“类”并使其在多个 IDE 上被识别为它。Tryied 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 智能感知支持(市场上最好的之一)。

证据(我将矩阵代码复制粘贴到 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 回答