前端js进行APP版本号比较方法

JavaScript080

前端js进行APP版本号比较方法,第1张

/*** 比较版本号的大小,如果curV 大于 reqV,则返回true,否则返回false* @param {String} curV* @param {String} reqV*/ function Version(curV, reqV) {    var arr1 = curV.toString().split('.')     var arr2 = reqV.toString().split('.')     //将两个版本号拆成数字    var minL = Math.min(arr1.length, arr2.length)     var pos = 0//当前比较位    var diff = 0//当前为位比较是否相等    var flag = false     //逐个比较如果当前位相等则继续比较下一位    while(pos <minL) {         diff = parseInt(arr1[pos]) - parseInt(arr2[pos])        if(diff == 0) {             pos++             continue        } else if(diff >0) {             flag = true             break        } else {             flag = false             break        }    }        return flag }例如:let test_v = Version(‘5.1.3’,‘5.0.1’);            console.log(test_v )            //true

一般程序版本号形式x.x.x.x的字符串,例如:1.0、1.0.0、1.0.0.0。如果直接采用字符串比较大小,会出现低版本大于高版本的结果,例如:1.10.1和1.9.2比较,就会出现"1.9.2" >"1.10.1"。所以需要对于每一位分开,采用补位的方式逐个比较。

JavaScript的版本指的是执行JavaScript的运行环境(JS引擎)所遵循的ECMAScript标准.

JavaScript是ECMAScript标准的一种实现,这个标准随着历史在不断演进.

最初的JS版本为1.0IE6时代典型的为3.1版本 IE9时代(最近几年)主流为5.1标准去年新版本6.0(准确名字是ES2015)标准发布,目前较新的浏览器都有部分支持下一个版本为7.0,预计明后年颁布.

不同版本增加扩展了不同的特性, 新版本向后兼容旧版本.所以有时候会出现某些代码在新浏览器中正常,旧浏览器中无法执行的问题.