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

首頁 > 語言 > JavaScript > 正文

javascript比較語義化版本號的實現代碼

2024-05-06 15:46:08
字體:
來源:轉載
供稿:網友

語義化要求開發人員創建良好的API,以便為用戶使用軟件庫提供一個唯一的入口點,下面是錯新技術頻道小編帶給大家的javascript比較語義化版本號的實現代碼,一起來學習吧!

前言

所謂“語義化版本號”,就是在版本號中體現出語義,或者說版本號本身是有意義的,不再是隨意給的一個數字。這個規范將版本號中每個數字的意義都做了比較嚴格的說明。當然,其中大部分內容還是沿用我們之前說過的業內的約定,所以,對于有版本號意識的開發者來說,接受這個規范是很容易的。

在移動端APP第三方開發中經常會碰到一些因為版本不同而造成JS SDK或JS API差異或支持的問題。對于移動前端來說,在實際第三方開發中可能會需要根據APP的版本號做一些特殊的業務邏輯處理。

語義化版本號

一般語義化版本號通常定義是這樣的:

Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 主版本號   .子版本號    [.修正版本號  [.編譯版本號 ]]

定界符一般使用.

語義化版本號比較方法

這樣我們可以做版本號比較,這里提供一個粗陋的方法:

/** * 版本比較 VersionCompare * @param {String} currVer 當前版本. * @param {String} promoteVer 比較版本. * @return {Boolean} false 當前版本小于比較版本返回 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;};

使用也很簡單:

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

這里需要注意的是根據我自己的業務邏輯當前版本小于比較版本返回 true。你可以根據自己的業務邏輯修改代碼。

比如我們要獲取微信的版本號,可以這樣寫:

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

注意:

時間倉促,這個方法僅僅作為普通的常用方法,沒有提供只比較主版本或子版本的方法,而是比較最終的整個版本號。

?

以上就是錯新技術頻道小編介紹的javascript比較語義化版本號的實現代碼,相信大家都閱讀完了,更多的知識盡在js.VeVb.com。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 将乐县| 湘乡市| 绥宁县| 崇礼县| 怀柔区| 宁强县| 高碑店市| 五指山市| 怀远县| 湘潭县| 海宁市| 宝山区| 辽阳县| 博野县| 青河县| 韶关市| 江山市| 南投市| 汝城县| 龙川县| 都江堰市| 屯留县| 满城县| 盘锦市| 健康| 天门市| 丰城市| 澎湖县| 曲麻莱县| 汉沽区| 玉屏| 萨嘎县| 八宿县| 沂水县| 交口县| 温州市| 故城县| 绥德县| 潢川县| 耒阳市| 原平市|