如何在JavaScript中将版本号作为整数传递

时间:2016-05-06 07:18:22

标签: javascript integer

如何在Javascript中将长版本号作为整数传递?

我在Jasmine中编写单元测试,我想传递一个应用程序版本号来断言,但是当我尝试传递4.0.2这样的整数时,测试失败。

似乎整数可能不会超过一个小数。如何解决这个问题?你必须做某种转换吗?

1 个答案:

答案 0 :(得分:1)

正如评论所指出的,4.0.2不是整数...
无论如何,在此之后:How to do version numbers?,版本号通常更多是一个简单的整数。

通常做的是拥有一个保存版本号的结构:

var currentVersion = {
  major : 4,
  minor: 0,
  release: 2,
  // build : undefined 
};

这可以使用split函数从字符串"4.0.2"构建:

(function(outputVersion, inputString) {
  "use strict";

  var splitted = myString.split('.');
  outputVersion.major = splitted.length > 0 ? splitted[0]: undefined;
  outputVersion.minor = splitted.length > 1 ? splitted[1]: undefined;
  // so on for other properties
}(window.applicationVersion, myString));

请注意,上面的代码只是一个示例,而不是它应该完成的方式,这一切都取决于您的应用程序代码。特别是,您可能希望将版本一起比较,这意味着您将需要基于词典顺序的比较函数:How to compare software version number using js? (only number)