คำนำ
"หมายเลขเวอร์ชันความหมาย" ที่เรียกว่าหมายถึงความหมายที่สะท้อนอยู่ในหมายเลขเวอร์ชันหรือหมายเลขเวอร์ชันนั้นมีความหมายและไม่ได้เป็นหมายเลขสุ่มอีกต่อไป ข้อกำหนดนี้ให้คำอธิบายที่ค่อนข้างเข้มงวดเกี่ยวกับความหมายของแต่ละหมายเลขในหมายเลขเวอร์ชัน แน่นอนเนื้อหาส่วนใหญ่ยังคงเป็นไปตามข้อตกลงอุตสาหกรรมที่เรากล่าวถึงก่อนหน้านี้ดังนั้นจึงเป็นเรื่องง่ายสำหรับนักพัฒนาที่มีการรับรู้หมายเลขเวอร์ชันที่จะยอมรับข้อกำหนดนี้
ในการพัฒนาของบุคคลที่สามของแอพมือถือเรามักจะพบปัญหาบางอย่างที่ทำให้เกิดความแตกต่างหรือการสนับสนุนของ JS SDK หรือ JS API เนื่องจากรุ่นต่าง ๆ สำหรับมือถือ front-end ในการพัฒนาบุคคลที่สามจริงอาจจำเป็นต้องมีการประมวลผลตรรกะทางธุรกิจพิเศษบางอย่างตามจำนวนเวอร์ชันของแอพ
หมายเลขเวอร์ชันความหมาย
หมายเลขเวอร์ชันความหมายทั่วไปมักจะกำหนดดังนี้:
major_version_number.minor_version_number [.revision_number [.build_number]] หมายเลขรุ่นหลัก หมายเลขการโค่นล้ม [. หมายเลขเวอร์ชันที่ได้รับการปรับปรุง [. หมายเลขเวอร์ชันคอมไพล์]]]]
โดยทั่วไปจะใช้ตัวคั่น
วิธีการเปรียบเทียบหมายเลขเวอร์ชันความหมาย
ด้วยวิธีนี้เราสามารถเปรียบเทียบหมายเลขเวอร์ชันได้นี่เป็นวิธีคร่าวๆ:
/** * เวอร์ชันเปรียบเทียบเวอร์ชัน Compare * @param {String} รุ่นปัจจุบัน Currver * @param {String} รุ่นเปรียบเทียบโปรโมต * @return {Boolean} False เวอร์ชันปัจจุบันมีขนาดเล็กกว่าเวอร์ชันเปรียบเทียบกลับมาจริง * * ใช้ * VersionCompare ("6.3", "5.2.5"); // เท็จ. * VersionCompare ("6.1", "6.1"); // เท็จ. * VersionCompare ("6.1.5", "6.2"); // จริง. */var versionCompare = function (Currver, Promotever) {Currver = Currver || "0.0.0"; Promotever = Promotever || "0.0.0"; ถ้า (currver == โปรโมต) ส่งคืนเท็จ; var currverarr = currver.split ("."); var promoteverarr = promotever.split ("."); var len = math.max (currverarr.length, promoteverarr.length); สำหรับ (var i = 0; i <len; i ++) {var proval = ~~ promoteverarr [i], curval = ~~ currverarr [i]; if (proval <curval) {return false; } อื่นถ้า (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"); // จริง.สิ่งที่คุณต้องทราบที่นี่คือตามตรรกะทางธุรกิจของฉันเองเวอร์ชันปัจจุบันมีขนาดเล็กกว่าเวอร์ชันเปรียบเทียบจะส่งคืนจริง คุณสามารถแก้ไขรหัสตามตรรกะทางธุรกิจของคุณ
ตัวอย่างเช่นหากเราต้องการรับหมายเลขเวอร์ชันของ WeChat เราสามารถเขียนได้เช่นนี้:
var wechatinfo = navigator.useragent.match (/micromessenger // ([/d /.like+)/ i); var currver = wechatinfo [1]; ถ้า (เวอร์ชัน Compare (Currver, "6.2.5")) {// ตรรกะทางธุรกิจของคุณ}สังเกต:
เวลาถูกเร่งรีบวิธีนี้เป็นเพียงวิธีการทั่วไป มันไม่ได้ให้วิธีการเปรียบเทียบเฉพาะรุ่นหลักหรือรุ่นย่อย แต่จะเปรียบเทียบหมายเลขเวอร์ชันทั้งหมดสุดท้าย
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นความช่วยเหลือในการศึกษาหรือทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร