1

我即将使用源内容跟踪器在基于 c++ Web 的 IDE上将我的 C++ 代码转换为 javascript我希望转换后的变量不仅是一个var,而且是一个类似 int 的东西,以便它可以检测分配的值是否有效

更新:知道javascript中的int和float无法区分使用typeof那么检测c ++ float变量是否具有有效的float值的最佳方法是什么?与检测 c++ int 变量是否具有有效的 int 值相同?

4

2 回答 2

3

JavaScript中没有int,只有number. 此外,JavaScript 中的变量不是强类型的。类型由分配的值定义。

如果要确定分配的值是否为数字,可以使用typeof exampleVar === 'number'.

也可以看看:

于 2013-08-29T21:19:07.113 回答
0

JavaScript 和 C++ 是非常不同的野兽。传统上,JavaScript 中的变量不是强类型的,这就是您可以这样做的原因:

var x = 5; // x is a number
x = 'foo'; // now x is a string
x = {};    // now an object
x = [];    // now an array (which is also an object)
x = false; // etc., etc.

在 C++ 中,如果您声明x为 an,int则编译器将不允许该代码。JavaScript 中没有这样的检查。

如果你真的想要类型安全,那么如果你使用Google 的 Closure Compiler 之类的东西编译你的 JavaScript ,就会有一些接近它的东西。这涉及使用特殊格式的注释来注释您的 JavaScript 代码,使编译器能够在一定程度上验证您的代码中输入的一致性。它远非完美,除了非常严肃的™ 项目外,我不会推荐它,因为它会给开发带来巨大的开销。

于 2013-08-29T21:28:01.327 回答