/*** 比较版本号的大小,如果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,预计明后年颁布.
不同版本增加扩展了不同的特性, 新版本向后兼容旧版本.所以有时候会出现某些代码在新浏览器中正常,旧浏览器中无法执行的问题.