版本升级中常用到版本号的比较("4.1.2"),故此总结下,方便以后使用
compareVersion: function(vStr,vStr2) { var curArr = (vStr2 || '0.0.0').split('.'), destArr = (vStr || '0.0.0').split('.'), i = 0, result = null, comp = function(str1, str2) { var v1 = parseInt(str1, 10), v2 = parseInt(str2, 10); if (v1 === v2) { return 0; } else { return v1 > v2 ? 1 : -1; } }; (function(arr1, arr2) { var t1 = arr1[i], t2 = arr2[i]; if (!t2 && t1) { result = 1; return; } else if (!t1 && t2) { result = -1; return; } else if (t1 && t2) { if (comp(t1, t2) === 0) { result = 0; i++; if (arr2[i] || arr1[i]) { arguments.callee(arr1, arr2); } } else { result = comp(t1, t2); return; } } else { result = 0; return; } })(destArr, curArr); return result; }
compareVersion('4.1.2','4.1.3');