การคำนวณทางหลายตัว ECMAScript

ในส่วนใหญ่ของภาษาการเขียนโปรแกรม ตัวแปรเพิ่มค่า (หรือตัวแปรลบ) มักเป็นตัวแปรคำนวณทาง matematic ที่เรียบง่ายที่สุด:

ใน ECMAScript ตัวแปรเพิ่มค่ามีพฤติกรรมพิเศษมากมาย:

ตัวแปรเพิ่มค่า

ตัวแปรเพิ่มค่าแสดงด้วยสัญญาณบวก (+):

var iResult = 1 + 2

เหมือนกับการคำนวณทางการเรียกใช้ตัวแปร การเพิ่มค่าใน ECMAScript มีพฤติกรรมพิเศษบางอย่างเมื่อจัดการค่าพิเศษ:

  • ถ้าหนึ่งในตัวเรียนเป็น NaN ผลลัพธ์จะเป็น NaN
  • -Infinity 加上 -Infinity ผลลัพธ์เป็น -Infinity。
  • Infinity 加上 -Infinity ผลลัพธ์เป็น NaN。
  • +0 加 +0,结果为 +0。
  • -0 加 +0,结果为 +0。
  • -0 加 -0,结果为 -0。

不过,如果某个运算数是字符串,那么采用下列规则:

  • 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
  • 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

例如:

var result = 5 + 5;	//两个数字
alert(result);		//输出 "10"
var result2 = 5 + "5";	//一个数字和一个字符串
alert(result2);		//输出 "55"

รหัสที่แสดงในไฟล์นี้ระบุความแตกต่างระหว่างสองรูปแบบของตัวเรียนเพิ่มขึ้น ในทางปกติ 5+5 จะเท่ากับ 10 (ค่าตัวเลขต้นแบบ) อย่างที่แสดงในบรรทัดสองของรหัสด้านบน อย่างไรก็ตาม ถ้าแก้ไขค่าหนึ่งในตัวเรียนเป็นข้อความ "5" ผลลัพธ์จะเป็น "55" (ค่าข้อความต้นแบบ) เพราะตัวเรียนอื่นจะถูกเปลี่ยนเป็นข้อความด้วย

注意:เพื่อป้องกันความผิดพลาดที่มักเกิดขึ้นใน JavaScript ในการใช้ตัวเรียนเพิ่มขึ้น ต้องตรวจสอบประเภทของตัวเรียนที่ใช้

ตัวเรียนลด

ตัวเรียนลด(-)เป็นตัวเรียนที่ใช้บ่อยที่สุดด้วย

var iResult = 2 - 1;

เหมือนกับตัวเรียนเพิ่มขึ้น ตัวเรียนลดมีพฤติกรรมพิเศษบางอย่างเมื่อจัดการกับค่าพิเศษ

  • ถ้าหนึ่งในตัวเรียนเป็น NaN ผลลัพธ์จะเป็น NaN
  • Infinity ลด Infinity ผลลัพธ์เป็น NaN
  • -Infinity ลด -Infinity ผลลัพธ์เป็น NaN
  • Infinity ลด -Infinity ผลลัพธ์เป็น Infinity
  • -Infinity ลด Infinity ผลลัพธ์เป็น -Infinity
  • +0 ลด +0 ผลลัพธ์เป็น +0
  • -0 ลด -0 ผลลัพธ์เป็น -0
  • +0 ลด -0 ผลลัพธ์เป็น +0
  • ถ้าหนึ่งในตัวเรียนไม่ใช่ตัวเลข ผลลัพธ์จะเป็น NaN

หมายเหตุ:ถ้าค่าที่คำนวณทั้งหมดเป็นตัวเลข จะทำการหลุดลงแบบปกติ และกลับค่าที่ได้