parseInt() ก็มิอาจช่วยได้
ประกาศตัวแปรไว้ดังนี้
var ตัวแปรที่ 0 = "ABCDE"; // ไม่เกี่ยวฮ่ะ ยกตัวอย่างเฉยๆ
var ตัวแปรที่ 1 = 0;
var ตัวแปรที่ 2 = 2;
ตัวแปรที่ 1 = ตัวแปรที่ 1+ตัวแปรที่ 2; // รูปเต็มๆ
ตัวแปรที่ 1 +=ตัวแปรที่ 2; // รูปย่อ
ในกรณีที่เป็น -
ตัวแปรที่ 2 เป็น int และถูกนำมาลบกับค่า ตัวแปรที่ 1 ได้อย่างถูกต้อง
ในกรณีที่เป็น + (เฉพาะครั้งแรกจนถึงก่อนลบ)
ตัวแปรที่ 2 กลายเป็น สตริง และถูกนำมาต่อท้าย ตัวแปรที่ 1
ทั้งๆ ที่ตอนประกาศตัวแปรนั้ไม่ได้ไส่เครื่องหมาย ( "..." ) คร่อมตัวแปรไว้
หลังจากลบครั้งแรกแล้ว ตัวแปรที่ 1 ถึงจะกลายเป็น int บวก ลบได้อย่างถูกต้อง
ผมเลยนำ parseInt() มาคร่อม ตัวแปรที่ 2 ก่อนจะผ่านโอเปอเรเตอร์เพื่อจะเอาผลลัพภ์
มันก็ยังเป็นเหมือนเดิมเลยครับ
var ตัวแปรที่ 0 = "ABCDE"; // ไม่เกี่ยวฮ่ะ ยกตัวอย่างเฉยๆ
var ตัวแปรที่ 1 = 0;
var ตัวแปรที่ 2 = 2;
ตัวแปรที่ 1 = ตัวแปรที่ 1+ตัวแปรที่ 2; // รูปเต็มๆ
ตัวแปรที่ 1 +=ตัวแปรที่ 2; // รูปย่อ
ในกรณีที่เป็น -
ตัวแปรที่ 2 เป็น int และถูกนำมาลบกับค่า ตัวแปรที่ 1 ได้อย่างถูกต้อง
ในกรณีที่เป็น + (เฉพาะครั้งแรกจนถึงก่อนลบ)
ตัวแปรที่ 2 กลายเป็น สตริง และถูกนำมาต่อท้าย ตัวแปรที่ 1
ทั้งๆ ที่ตอนประกาศตัวแปรนั้ไม่ได้ไส่เครื่องหมาย ( "..." ) คร่อมตัวแปรไว้
หลังจากลบครั้งแรกแล้ว ตัวแปรที่ 1 ถึงจะกลายเป็น int บวก ลบได้อย่างถูกต้อง
ผมเลยนำ parseInt() มาคร่อม ตัวแปรที่ 2 ก่อนจะผ่านโอเปอเรเตอร์เพื่อจะเอาผลลัพภ์
มันก็ยังเป็นเหมือนเดิมเลยครับ
var a = 0;
var b = 2;
a+=b;
alert(a + ',' + typeof a);
</script>
ผมทดสอบแบบนี้ ก็ปกติดีนี่
ลองรื้อโค้ดดูใหม่ทุกไฟล์เลย
และเอา typeof ที่คุณอาให้มาไปลองเช็คดูทุกจุด
ปรากฏว่า ตัวแปรที่ 1 ล่าสุด มันเป็น OBJ ฮ่ะ
รบกวนแค่นี้แล้ว ขอบคุณ คุณอามากๆ ฮ่ะ