บทความนี้จะแนะนำการแสดงออกของ JavaScript โดยละเอียดซึ่งแบ่งออกเป็นนิพจน์ต้นฉบับและนิพจน์ที่ซับซ้อน โดยทั่วไปแล้วคำศัพท์ที่ผู้คนได้ยินเกี่ยวกับไวยากรณ์พื้นฐานของ JavaScript คือผู้ประกอบการและข้อความ อย่างไรก็ตามมีคำอื่นที่ใช้บ่อย แต่ไม่ค่อยได้กล่าวถึงซึ่งเป็นนิพจน์ JavaScript
การแสดงออกหลัก
นิพจน์ดั้งเดิมเป็นหน่วยที่เล็กที่สุดของนิพจน์ - มันไม่มีการแสดงออกอื่น ๆ อีกต่อไป นิพจน์ต้นฉบับใน JavaScript รวมถึงคำหลักนี้การอ้างอิงตัวระบุการอ้างอิงตามตัวอักษรการเริ่มต้นอาร์เรย์การเริ่มต้นวัตถุและนิพจน์การจัดกลุ่ม
PrimaryExpression: ตัวระบุตัวระบุนี้เป็นตัวบ่งชี้ arrayliteral objectLiteral (นิพจน์)
คำหลักและตัวระบุนี้
สิ่งนี้; // ส่งคืนวัตถุปัจจุบัน
i; // ส่งคืนค่าของตัวแปร i
sum; // ส่งคืนค่าของผลรวมตัวแปร
ตามตัวอักษร
ตัวอักษรแปลเป็นปริมาณโดยตรงคือค่าข้อมูลที่ใช้โดยตรงในโปรแกรม
ตัวอักษร :: nullliteralalbooleanliteralnumericliteralstringLiteral regularexpressionliteral null; undefined; true; talse; 1; 'abc';/pattern/;
อาร์เรย์และการเริ่มต้นวัตถุ
การเริ่มต้นอาเรย์และการเริ่มต้นวัตถุเป็นกระบวนการของการเริ่มต้นที่อธิบายไว้อย่างแท้จริง การแสดงออกการเริ่มต้นทั้งสองนี้บางครั้งเรียกว่า "ปริมาณโดยตรงของวัตถุ" และ "อาร์เรย์ปริมาณโดยตรง"
[]; [1,2,3]; {}; {a: 1};การจัดกลุ่มนิพจน์
นิพจน์การจัดกลุ่มเป็นตัวยึดจริง ๆ แล้วใช้เพื่อแทนที่ลำดับความสำคัญของผู้ประกอบการ
นิพจน์ที่ซับซ้อน (memberexpression)
นิพจน์ที่ซับซ้อนประกอบด้วยการแสดงออกและตัวดำเนินการดั้งเดิมรวมถึงนิพจน์การเข้าถึงแอตทริบิวต์นิพจน์การสร้างวัตถุและการแสดงออกของฟังก์ชั่น
memberexpression: memberexpression [นิพจน์] memberexpression Identifiername ใหม่ memberexpression argumentsfunctionexpression
นิพจน์การเข้าถึงแอตทริบิวต์
การดำเนินการนิพจน์การเข้าถึงแอตทริบิวต์สามารถรับค่าของแอตทริบิวต์วัตถุหรือองค์ประกอบอาร์เรย์ JavaScript กำหนดสองไวยากรณ์สำหรับการเข้าถึงแอตทริบิวต์
Memberexpression identifiername memberexpression [นิพจน์]
วิธีแรกคือการเขียนนิพจน์ตามด้วยช่วงเวลาและตัวระบุ นิพจน์ระบุวัตถุและตัวระบุระบุชื่อของแอตทริบิวต์เพื่อเข้าถึง
วิธีที่สองในการเขียนคือการใช้วงเล็บสี่เหลี่ยมจัตุรัสโดยมีการแสดงออกอื่นภายในวงเล็บเหลี่ยม (วิธีนี้เหมาะสำหรับวัตถุและอาร์เรย์) นิพจน์ที่สองระบุชื่อของแอตทริบิวต์เพื่อเข้าถึงหรือดัชนีที่แสดงองค์ประกอบอาร์เรย์เพื่อเข้าถึง
var o = {x: 1, y: {z: 3}}; // วัตถุตามตัวอักษร var a = [o, 4, [5,6]]; // อาร์เรย์ตัวอักษรวัวที่มีวัตถุ; // x แอตทริบิวต์ oyz ของนิพจน์ o; // z แอตทริบิวต์ o ['x'] ของนิพจน์ oy; // x แอตทริบิวต์ a [1] ของวัตถุ o; // องค์ประกอบที่มีดัชนี 1 ในนิพจน์ Aโดยไม่คำนึงถึงรูปแบบของนิพจน์การเข้าถึงแอตทริบิวต์ที่ใช้การแสดงออกก่อน ' และ '[' ได้รับการประเมินก่อนเสมอ
หากผลลัพธ์ของการคำนวณเป็นโมฆะหรือไม่ได้กำหนดนิพจน์จะโยนข้อผิดพลาดประเภทเนื่องจากค่าเหล่านี้ไม่มีคุณลักษณะใด ๆ
หากผลการคำนวณไม่ใช่วัตถุ JavaScript จะแปลงเป็นวัตถุ
หากการแสดงออกของวัตถุตามด้วยระยะเวลาและตัวระบุค่าคุณสมบัติที่ระบุโดยตัวระบุนี้จะพบและส่งคืนเป็นค่าของนิพจน์ทั้งหมด
หากการแสดงออกของวัตถุตามด้วยคู่ของวงเล็บสี่เหลี่ยมจัตุรัสค่าของนิพจน์ในวงเล็บสี่เหลี่ยมจะถูกคำนวณและแปลงเป็นสตริง
ไม่ว่าในกรณีใดหากไม่มีแอตทริบิวต์ชื่อค่าของนิพจน์การเข้าถึงแอตทริบิวต์ทั้งหมดจะไม่ได้กำหนดไว้
นิพจน์การสร้างวัตถุ
นิพจน์การสร้างวัตถุสร้างวัตถุและเรียกใช้ฟังก์ชันเพื่อเริ่มต้นคุณสมบัติของวัตถุใหม่
วัตถุใหม่ (); จุดใหม่ (2,3);
หากวัตถุสร้างนิพจน์โดยไม่ส่งผ่านอาร์กิวเมนต์ใด ๆ ไปยังคอนสตรัคเตอร์แล้ววงเล็บว่างคู่นี้สามารถละเว้นได้
วัตถุใหม่;
การแสดงออกของฟังก์ชั่น
การแสดงออกของฟังก์ชั่นแบ่งออกเป็นนิพจน์นิยามฟังก์ชั่นและการแสดงออกของฟังก์ชั่น
นิพจน์ฟังก์ชั่นนิยามฟังก์ชันกำหนดฟังก์ชัน JavaScript และค่าของนิพจน์คือฟังก์ชั่นที่กำหนดใหม่นี้
นิพจน์ฟังก์ชั่นทั่วไปของฟังก์ชั่นมีฟังก์ชั่นคำหลักตามด้วยคู่ของวงเล็บโดยมีรายการที่มีเครื่องหมายจุลภาคที่มีตัวระบุ 0 หรือมากกว่า (ชื่อพารามิเตอร์) จากนั้นตามด้วยวงเล็บปีกกา
เซ็กเมนต์รหัส JavaScript (Function Body)
ฟังก์ชั่นสแควร์ (x) {return x*x;}การนิยามนิยามฟังก์ชั่นสามารถมีชื่อของฟังก์ชั่นและฟังก์ชั่นสามารถกำหนดได้ผ่านคำสั่งฟังก์ชั่นแทนที่จะเป็นนิพจน์ฟังก์ชั่น
var square = function (x) {return x*x;}นิพจน์การเรียกใช้ฟังก์ชันคือการแสดงไวยากรณ์ที่เรียกหรือดำเนินการฟังก์ชันหรือวิธีการ หากนิพจน์นี้เป็นนิพจน์การเข้าถึงแอตทริบิวต์การโทรนี้เรียกว่าการโทรเมธอด
f (0); math.max (x, y, z); a.sort ();
ข้างต้นเป็นเนื้อหาที่เกี่ยวข้องของนิพจน์ JavaScript Syntax JS พื้นฐานที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!