序文
いわゆる「セマンティックバージョン番号」は、セマンティクスがバージョン番号に反映されること、またはバージョン番号自体が意味があり、乱数ではなくなったことを意味します。この仕様は、バージョン番号の各番号の意味の比較的厳格な説明を提供します。もちろん、ほとんどのコンテンツは依然として前述の業界契約に従っているため、バージョン番号の認識を持つ開発者がこの仕様を受け入れるのは簡単です。
モバイルアプリのサードパーティ開発では、バージョンが異なるため、JS SDKまたはJS APIの違いやサポートを引き起こすいくつかの問題に遭遇することがよくあります。モバイルフロントエンドの場合、実際のサードパーティ開発では、アプリのバージョン番号に基づいて、特別なビジネスロジック処理が必要になる場合があります。
セマンティックバージョン番号
一般的なセマンティックバージョン番号は通常、次のように定義されます。
Major_version_number.minor_version_number [.revision_number [.build_number]]メジャーバージョン番号。 subversion number [.revisedバージョン番号[.compiledバージョン番号]]]
デリミッターが一般的に使用されます。
セマンティックバージョン番号比較方法
このようにして、バージョン番号を比較できます。ここに大まかな方法があります。
/** *バージョンの比較versioncompare * @param {string} Currver Currentバージョン。 * @param {string}プロモートエバー比較バージョン。 * @return {boolean} false現在のバージョンは、比較バージョンがtrueよりも小さいです。 * * use * versioncompare( "6.3"、 "5.2.5"); // 間違い。 * versioncompare( "6.1"、 "6.1"); // 間違い。 * versioncompare( "6.1.5"、 "6.2"); // 真実。 */var versioncompare = function(currver、protever){currver = currver || 「0.0.0」; PROTEREVER = PROTEREVER || 「0.0.0」; if(currver == promotever)falseを返します。 var currverarr = currver.split( "。"); var promoteverArr = prosolever.split( "。"); var len = math.max(currverarr.length、prosoteverarr.length); for(var i = 0; i <len; i ++){var proval = ~~宣伝vereverarr [i]、curval = ~~ currverarr [i]; if(proval <curval){return false; } else if(proval> curval){return true; }} return false;};また、非常に使いやすいです:
versioncompare( "6.3"、 "5.2.5"); // false.versionCompare( "6.1"、 "6.1"); // false.versionCompare( "6.1.5"、 "6.2"); // 真実。
ここで注意する必要があるのは、私自身のビジネスロジックによれば、現在のバージョンが比較バージョンがtrueよりも小さいことです。ビジネスロジックに従ってコードを変更できます。
たとえば、WeChatのバージョン番号を取得したい場合は、次のように書くことができます。
var wechatinfo = navigator.useragent.match(/micromessenger //([/d/。] +)/ i); var currver = wechatinfo [1]; if(versioncompare(currver、 "6.2.5")){//ビジネスロジック}知らせ:
時間が急いでいます。この方法は一般的な方法にすぎません。メインバージョンまたはサブバージョンのみを比較する方法を提供するのではなく、最終的なバージョン番号全体を比較します。
要約します
上記は、この記事のコンテンツ全体です。皆の勉強や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。