Vorwort
Die sogenannte "semantische Versionsnummer" bedeutet, dass sich die Semantik in der Versionsnummer widerspiegelt oder dass die Versionsnummer selbst aussagekräftig ist und keine zufällige Zahl mehr ist. Diese Spezifikation liefert eine relativ strenge Erläuterung der Bedeutung jeder Zahl in der Versionsnummer. Natürlich folgt die meisten Inhalte immer noch den bereits erwähnten Branchenvereinbarungen. Daher ist es für Entwickler, die die Version der Versionsnummer zu schärfen, diese Spezifikation zu akzeptieren.
In der Entwicklung von mobilen Apps von Drittanbietern stoßen wir häufig auf einige Probleme, die Unterschiede oder Unterstützung von JS SDK oder JS-API aufgrund verschiedener Versionen verursachen. Für das mobile Front-End kann in der tatsächlichen Entwicklung von Drittanbietern eine spezielle Geschäftslogikverarbeitung auf der Grundlage der Versionsnummer der App erforderlich sein.
Semantische Versionsnummer
Die allgemeine semantische Versionsnummer ist normalerweise wie folgt definiert:
Major_version_number.minor_version_number [.revision_number [.build_number]] Hauptversionsnummer. Subversion -Nummer [. Revided Versionsnummer [.Compiled Versionsnummer]]]
Der Trennzeichen wird im Allgemeinen verwendet.
Vergleichsmethode für semantische Versionszahlen
Auf diese Weise können wir Versionsnummern vergleichen, hier ist eine grobe Methode:
/** * Versionsvergleichsversionscompare * @param {String} Currver Current Version. * @param {String} Promotever -Vergleichsversion. * @return {boolean} false Die aktuelle Version ist kleiner als die Vergleichsversion kehrt true zurück. * * Verwenden * VersionCompare ("6.3", "5.2.5"); // FALSCH. * VersionCompare ("6.1", "6.1"); // FALSCH. * VersionCompare ("6.1.5", "6.2"); // WAHR. */var Versioncompare = Funktion (Currver, Promotever) {curver = curverer || "0,0,0"; Promotever = Promotever || "0,0,0"; if (curver == promotever) return false; var curwrverarr = curver.Split ("."); var Promoteverarr = Promotever.split ("."); var len = math.max (currverarr.length, Promoteverarr.length); für (var i = 0; i <len; i ++) {var proval = ~~ promoteverarr [i], curval = ~~ curverarr [i]; if (proval <curval) {return false; } else if (proval> curval) {return true; }} return false;};Es ist auch sehr einfach zu bedienen:
Versioncompare ("6.3", "5.2.5"); // false.versioncompare ("6.1", "6.1"); // false.versionCompare ("6.1.5", "6.2"); // WAHR.Was Sie hier beachten müssen, ist, dass die aktuelle Version gemäß meiner eigenen Geschäftslogik kleiner ist als die Vergleichsversion kehrt true zurück. Sie können den Code entsprechend Ihrer Geschäftslogik ändern.
Wenn wir beispielsweise die Versionsnummer des WeChat erhalten möchten, können wir sie so schreiben:
var wechatinfo = navigator.useragent.match (/micromessenger // ([/d /. weise+)/ i); var curver = wechatInfo [1]; if (VersionCompare (Currver, "6.2.5") {// Ihre Geschäftslogik}}Beachten:
Die Zeit ist überstürzt, diese Methode ist nur eine gemeinsame Methode. Es bietet keine Methode, um nur die Hauptversion oder die Hauptversion zu vergleichen, sondern die endgültige Versionsnummer zu vergleichen.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Studium oder die Arbeit aller Hilfe helfen. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.