如何在JavaScript中以整数形式传递版本号

How to pass a version number as an integer in JavaScript

本文关键字:版本号 整数 JavaScript      更新时间:2023-09-26

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

我正在Jasmine中编写一个单元测试,我想传递一个应用程序版本号来断言,但是当我试图传递一个整数(如4.0.2)时,测试失败了。

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

正如注释所指出的,4.0.2不是整数
无论如何,遵循这个:如何做版本号?,版本号通常不仅仅是一个简单的整数。

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

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

这可以使用分割函数从字符串"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));

请注意,上面的代码只是一个示例,而不是应该采用的方式,这完全取决于您的应用程序代码。特别是,你可能想一起比较版本,这意味着你需要基于字典顺序的比较函数:如何使用js比较软件版本号?(仅编号)