Prefacio
El llamado "número de versión semántica" significa que la semántica se refleja en el número de versión, o que el número de versión en sí es significativo y ya no es un número aleatorio. Esta especificación proporciona una explicación relativamente estricta del significado de cada número en el número de versión. Por supuesto, la mayor parte del contenido todavía sigue los acuerdos de la industria que mencionamos antes, por lo que es fácil para los desarrolladores con conciencia del número de versión aceptar esta especificación.
En el desarrollo externo de aplicaciones móviles, a menudo encontramos algunos problemas que causan diferencias o soporte de la API JS SDK o JS debido a diferentes versiones. Para el front-end móvil, en el desarrollo real de terceros, se puede requerir un procesamiento de lógica empresarial especial en función del número de versión de la aplicación.
Número de versión semántica
El número de versión semántica general generalmente se define de la siguiente manera:
Major_version_number.minor_version_number [.REVision_number [.Build_Number]] Número de versión principal. Número de subversión [.
El delimitador generalmente se usa.
Método de comparación de números de versión semántica
De esta manera, podemos comparar números de versión, aquí hay un método aproximado:
/** * Comparación de la versión VersionCompare * @param {String} Currver Versión actual. * @param {String} Versión de comparación promotor. * @return {boolean} Falso La versión actual es más pequeña que la versión de comparación devuelve verdadero. * * Use * VersionCompare ("6.3", "5.2.5"); // FALSO. * VersionCompare ("6.1", "6.1"); // FALSO. * VersionCompare ("6.1.5", "6.2"); // verdadero. */var versionCompare = function (Currver, promoTever) {Currver = Currver || "0.0.0"; PromoTever = PromoTever || "0.0.0"; if (Currver == PromoTever) return false; var Currverarr = Currver.split ("."); var promoTeverarr = promotever.split ("."); var len = math.max (Currverarr.length, promoteverarr.length); for (var i = 0; i <len; i ++) {var proval = ~~ promoteleverarr [i], curval = ~~ Currverarr [i]; if (proval <curval) {return false; } else if (proval> curval) {return true; }} return false;};También es muy fácil de usar:
VersionCompare ("6.3", "5.2.5"); // false.versionCompare ("6.1", "6.1"); // false.versionCompare ("6.1.5", "6.2"); // verdadero.Lo que debe tener en cuenta aquí es que, según mi propia lógica comercial, la versión actual es más pequeña que la versión de comparación devuelve verdadera. Puede modificar el código de acuerdo con la lógica de su negocio.
Por ejemplo, si queremos obtener el número de versión de WeChat, podemos escribirla así:
var weChatinfo = navigator.useragent.match (/micromessenger // ([/d /.font>+)/ i); var currver = wechatinfo [1]; if (versionCompare (Currver, "6.2.5")) {// su lógica comercial}Aviso:
El tiempo se apresura, este método es solo un método común. No proporciona un método para comparar solo la versión principal o la subversión, sino comparar el número final de versión final.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que sea de ayuda para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.