UglifyJS เป็นเครื่องมือสำหรับการบีบอัดและความสวยงามของ JavaScript ในเอกสารของมันฉันเห็นหลายวิธีในการปรับให้เหมาะสมหากข้อความ แม้ว่าฉันจะไม่ได้ใช้มันเพื่อทำการทดสอบการทดลอง แต่เราสามารถเห็นได้จากที่นี่ว่ามันทำให้ JS สวยงาม บางคนอาจคิดว่าถ้าข้อความนั้นง่ายมากพวกเขาจะได้รับการปรับให้เหมาะสมมากแค่ไหน? แต่ดูวิธีต่อไปนี้และคุณอาจเปลี่ยนใจ
1. ใช้ตัวดำเนินการสามัญทั่วไป
if (foo) bar (); อื่น ๆ baz (); ==> foo? bar (): baz ();
if (! foo) bar (); อื่น ๆ baz (); ==> foo? baz (): bar ();
ถ้า (foo) return bar (); else return baz (); ==> return foo? bar (): baz ();
คุณแน่ใจว่าจะคุ้นเคยกับการใช้ตัวดำเนินการแบบสองตัวข้างต้นเพื่อเพิ่มประสิทธิภาพหากคำสั่งและบางทีคุณอาจใช้มันบ่อยๆ
ตัวอย่างที่ได้รับจาก wulin.com:
การคัดลอกรหัสมีดังนี้:
<script>
var i = 9
var ii = (i> 8)? 100: 9;
การแจ้งเตือน (II);
</script>
ผลลัพธ์ผลลัพธ์:
100
2. ใช้และ (&&) และหรือ (||) ผู้ประกอบการ
if (foo) bar (); ==> foo && bar ();
if (! foo) bar (); ==> foo || bar ();
พูดตามตรงฉันไม่เคยเขียนโค้ดเช่นนี้ ฉันได้เห็นวิธีการเขียนนี้เมื่อฉันกำลังศึกษา "ผักส่วนตัว Linux ของ Bird Bird" แต่ฉันไม่ได้คาดหวังว่าจะใช้มันใน JS
3. ละเว้นการจัดฟันโค้ง {}
ถ้า (foo) return bar (); อย่างอื่น (); ==> {ถ้า (foo) return bar (); บางสิ่งบางอย่าง()}
ฉันคุ้นเคยกับวิธีการเขียนนี้ แต่ฉันขอแนะนำให้ทำสิ่งนี้เมื่อเพิ่มประสิทธิภาพรหัสหรือปล่อยให้ UglifyJs ช่วยคุณแก้ปัญหา ท้ายที่สุดถ้าคุณขาดรั้งหนึ่งรหัสจะไม่สามารถอ่านได้
เมื่อเขียนสิ่งนี้ฉันคิดถึงวิธีการโดยพ่อของ JQuery ใน "Mastering JavaScript" เพื่อรับคุณลักษณะขององค์ประกอบ HTML
ฟังก์ชั่น getattr (el, attrName) {
var attr = {'for': 'htmlfor', 'class': 'classname'} [attrName] || attrName;
-
หากเราไม่เขียนด้วยวิธีนี้เราอาจจำเป็นต้องใช้สองข้อความหากคำสั่งเพื่อประมวลผลและรหัสข้างต้นไม่เพียง แต่กระชับและมีประสิทธิภาพ แต่ยังสามารถอ่านได้สูง
หากคุณคิดอย่างรอบคอบเราสามารถหาวิธีที่มีประสิทธิภาพในการแก้ปัญหาในหลายกรณี แต่กุญแจสำคัญคือเราระมัดระวังในการหาวิธีที่ดีกว่าหรือไม่
【ทักษะ JavaScript 】ตัวย่อถ้า (x == null)
ถ้า (x == null) หรือถ้า (typeof (x) == 'undefined') สามารถย่อได้ราวกับว่า (! x) และไม่ได้รับการตรวจสอบ
ในทางตรงกันข้ามถ้า (x) หมายถึง x ไม่ว่างเปล่า
ตรวจสอบว่ามีวัตถุอยู่หรือไม่
การคัดลอกรหัสมีดังนี้:
if (document.form1.softurl9) {
// ตัดสินว่า Softurl9 มีอยู่เพื่อป้องกันข้อผิดพลาดของ JS
-
การคัดลอกรหัสมีดังนี้:
if (document.getElementById ("softurl9")) {
// ตัดสินว่า Softurl9 มีอยู่เพื่อป้องกันข้อผิดพลาดของ JS
-
เติมเต็ม:
JavaScript || && ตัวย่อถ้า
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
หากคุณต้องการเขียน
ถ้า (! เท็จ)
-
การแจ้งเตือน ('เท็จ');
-
พิจารณาการเขียน:
เท็จ || การแจ้งเตือน ('เท็จ');
เท็จ || การแจ้งเตือน ('เท็จ'); จริง || การแจ้งเตือน ('จริง'); // เอาต์พุตเท็จ;
เมื่อใช้ "||" เงื่อนไขแรกเป็นจริงและเงื่อนไขที่สองจะถูกส่งคืนโดยตรงโดยไม่ตรวจจับเงื่อนไขที่สอง เงื่อนไขแรกเป็นเท็จและการตรวจจับเงื่อนไขที่สองจะดำเนินการ
FALSE && Alert ('FALSE'); True && Alert ('True'); // เอาต์พุตจริง
เมื่อใช้ "&&" เงื่อนไขแรกเป็นจริงและตรวจพบเงื่อนไขที่สอง เงื่อนไขแรกเป็นเท็จและส่งกลับเท็จโดยตรงเพื่อออก
ในระยะสั้นความเรียบง่ายและการใช้งานจริงของการแทนที่ถ้า,? : การใช้งานจริงของการแทนที่ถ้าอื่น เขียนรหัสสั้นและรัดกุม
การใช้งาน:
$ ("#regform input [type! = hidden]") แต่ละ (
ฟังก์ชั่น (ดัชนี) {
$ (นี่) .parent (). มี ("div.valid-under"). ความยาว || $ ('<div> </div>') ภาคผนวก ($ (นี้) .parent ());
-
-
</script>