国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

javascript比較語(yǔ)義化版本號(hào)的實(shí)現(xiàn)代碼

2024-05-06 16:31:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

所謂“語(yǔ)義化版本號(hào)”,就是在版本號(hào)中體現(xiàn)出語(yǔ)義,或者說(shuō)版本號(hào)本身是有意義的,不再是隨意給的一個(gè)數(shù)字。這個(gè)規(guī)范將版本號(hào)中每個(gè)數(shù)字的意義都做了比較嚴(yán)格的說(shuō)明。當(dāng)然,其中大部分內(nèi)容還是沿用我們之前說(shuō)過(guò)的業(yè)內(nèi)的約定,所以,對(duì)于有版本號(hào)意識(shí)的開(kāi)發(fā)者來(lái)說(shuō),接受這個(gè)規(guī)范是很容易的。

在移動(dòng)端APP第三方開(kāi)發(fā)中經(jīng)常會(huì)碰到一些因?yàn)榘姹静煌斐蒍S SDK或JS API差異或支持的問(wèn)題。對(duì)于移動(dòng)前端來(lái)說(shuō),在實(shí)際第三方開(kāi)發(fā)中可能會(huì)需要根據(jù)APP的版本號(hào)做一些特殊的業(yè)務(wù)邏輯處理。

語(yǔ)義化版本號(hào)

一般語(yǔ)義化版本號(hào)通常定義是這樣的:

Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 主版本號(hào)   .子版本號(hào)    [.修正版本號(hào)  [.編譯版本號(hào) ]]

定界符一般使用.

語(yǔ)義化版本號(hào)比較方法

這樣我們可以做版本號(hào)比較,這里提供一個(gè)粗陋的方法:

/** * 版本比較 VersionCompare * @param {String} currVer 當(dāng)前版本. * @param {String} promoteVer 比較版本. * @return {Boolean} false 當(dāng)前版本小于比較版本返回 true. * * 使用 * VersionCompare("6.3","5.2.5"); // false. * VersionCompare("6.1", "6.1"); // false. * VersionCompare("6.1.5", "6.2"); // true. */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 = ~~promoteVerArr[i],   curVal = ~~currVerArr[i];  if (proVal < curVal) {   return false;  } else if (proVal > curVal) {   return true;  } } return false;};

使用也很簡(jiǎn)單:

VersionCompare("6.3","5.2.5"); // false.VersionCompare("6.1", "6.1"); // false.VersionCompare("6.1.5", "6.2"); // true.

這里需要注意的是根據(jù)我自己的業(yè)務(wù)邏輯當(dāng)前版本小于比較版本返回 true。你可以根據(jù)自己的業(yè)務(wù)邏輯修改代碼。

比如我們要獲取微信的版本號(hào),可以這樣寫(xiě):

var wechatInfo = navigator.userAgent.match(/MicroMessenger//([/d/.]+)/i);var currVer = wechatInfo[1];if (VersionCompare(currVer, "6.2.5")) { //你的業(yè)務(wù)邏輯}

注意:

時(shí)間倉(cāng)促,這個(gè)方法僅僅作為普通的常用方法,沒(méi)有提供只比較主版本或子版本的方法,而是比較最終的整個(gè)版本號(hào)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌鲁木齐县| 佛学| 西乌珠穆沁旗| 诸暨市| 甘肃省| 佛学| 余庆县| 怀安县| 宾川县| 滕州市| 安新县| 寿光市| 麻城市| 日照市| 福鼎市| 宁城县| 新平| 烟台市| 什邡市| 南澳县| 衡阳市| 阿鲁科尔沁旗| 龙南县| 商丘市| 安宁市| 茌平县| 宣汉县| 邯郸县| 尉犁县| 襄城县| 田林县| 丹棱县| 祁门县| 曲阳县| 邵阳市| 黄龙县| 石屏县| 双流县| 四会市| 南江县| 辉县市|