Prefácio
O chamado "número da versão semântica" significa que a semântica é refletida no número da versão, ou que o próprio número da versão é significativo e não é mais um número aleatório. Esta especificação fornece uma explicação relativamente rigorosa do significado de cada número no número da versão. Obviamente, a maioria do conteúdo ainda segue os acordos do setor que mencionamos anteriormente, por isso é fácil para os desenvolvedores com a conscientização do número da versão aceitar essa especificação.
No desenvolvimento de terceiros de aplicativos móveis, geralmente encontramos alguns problemas que causam diferenças ou suporte da API JS SDK ou JS devido a versões diferentes. Para o front-end móvel, no desenvolvimento real de terceiros, algum processamento de lógica de negócios especial pode ser necessário com base no número da versão do aplicativo.
Número da versão semântica
O número geral da versão semântica geralmente é definido da seguinte forma:
Major_version_number.minor_version_number [.revision_number [.build_number]] número da versão principal. Número de subversão [.
O delimitador é geralmente usado.
Método de comparação de número de versão semântica
Dessa forma, podemos comparar números de versão, aqui está um método aproximado:
/** * Versão da versão VersãoCompare * @param {string} versão atual currver. * @param {string} Promover versão de comparação. * @return {boolean} false A versão atual é menor que a versão de comparação retorna true. * * Use * versãoCompare ("6.3", "5.2.5"); // false. * VersionCompare ("6.1", "6.1"); // false. * VersionCompare ("6.1.5", "6.2"); // verdadeiro. */var versãocompare = function (currver, promoveu) {currver = currver || "0.0.0"; Promotevever = Promotever || "0.0.0"; if (currver == promotor) retornar false; var currVerArr = currver.split ("."); var prometarArr = promover.split ("."); var len = math.max (currVerr.Length, prometarr.length); for (var i = 0; i <len; i ++) {var proval = ~~ prometarr [i], curval = ~~ currVerArr [i]; if (proval <curval) {return false; } else if (proval> curval) {return true; }} retornar false;};Também é muito fácil de usar:
VersionCompare ("6.3", "5.2.5"); // false.versioncompare ("6.1", "6.1"); // false.versioncompare ("6.1.5", "6.2"); // verdadeiro.O que você precisa observar aqui é que, de acordo com minha própria lógica de negócios, a versão atual é menor que a versão de comparação retorna true. Você pode modificar o código de acordo com a lógica da sua empresa.
Por exemplo, se queremos obter o número de versão do WeChat, podemos escrever assim:
var wechatinfo = navegator.userAgent.match (/microMessenger // ([/d /. ]+)/ i); var currver = wechatinfo [1]; if (versãoCompare (currver, "6.2.5")) {// sua lógica de negócios}Perceber:
O tempo é apressado, esse método é apenas um método comum. Ele não fornece um método para comparar apenas a versão principal ou sub-versão, mas compare o número final da versão.
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que seja de ajuda para estudar ou trabalhar de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar.