ล่าสุดการพัฒนาเว็บบทเรียน
×

JS เกี่ยวกับการสอน

JS บ้าน JS บทนำ JS สถานที่ที่จะ JS ส่งออก JS วากยสัมพันธ์ JS งบ JS ความคิดเห็น JS ตัวแปร JS ผู้ประกอบการ JS คณิตศาสตร์ JS การมอบหมาย JS ชนิดข้อมูล JS ฟังก์ชั่น JS วัตถุ JS ขอบเขต JS เหตุการณ์ JS เงื่อนไข JS วิธีสตริง JS เบอร์ JS วิธีการจำนวน JS คณิตศาสตร์ JS วันที่ JS รูปแบบวันที่ JS วันวิธีการ JS แถว JS วิธีการอาร์เรย์ JS booleans JS เปรียบเทียบ JS เงื่อนไข JS สวิตซ์ JS ห่วง For JS ในขณะที่ห่วง JS หยุด JS ประเภทการแปลง JS นิพจน์ทั่วไป JS ข้อผิดพลาด JS แก้จุดบกพร่อง JS hoisting JS โหมดที่เข้มงวด JS คู่มือสไตล์ JS ปฏิบัติที่ดีที่สุด JS ข้อผิดพลาด JS ประสิทธิภาพ JS คำสงวน JS JSON

JS ฟอร์ม

แบบฟอร์มการตรวจสอบ รูปแบบ API

JS วัตถุ

นิยามวัตถุ คุณสมบัติของวัตถุ วิธีการของวัตถุ ต้นแบบวัตถุ

JS ฟังก์ชั่น

นิยามฟังก์ชั่น ค่าฟังก์ชัน ฟังก์ชั่นการภาวนา ปิดฟังก์ชั่น

JS HTML DOM

DOM แนะนำ DOM วิธีการ DOM เอกสาร DOM องค์ประกอบ DOM HTML DOM CSS DOM ภาพเคลื่อนไหว DOM เหตุการณ์ DOM EventListener DOM การเดินเรือ DOM โหนด DOM Nodelist

JS เบราว์เซอร์ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS ตัวอย่าง

JS ตัวอย่าง JS HTML DOM JS HTML อินพุต JS HTML วัตถุ JS HTML เหตุการณ์ JS เบราว์เซอร์ JS ทดสอบ JS สรุป

JS คู่มืออ้างอิง

JavaScript วัตถุ HTML DOM วัตถุ


 

JavaScriptประเภทการแปลง


Number() แปลงหมายเลข String() แปลงสตริง Boolean() แปลงเป็นบูลีน


ชนิดข้อมูล JavaScript

ใน JavaScript มี 5 ชนิดข้อมูลที่แตกต่างกันที่สามารถมีค่า:

  • string
  • number
  • boolean
  • object
  • function

มี 3 ประเภทของวัตถุคือ:

  • Object
  • Date
  • Array

และประเภทที่ 2 ข้อมูลที่ไม่สามารถมีค่า:

  • null
  • undefined

typeof ผู้ประกอบการ

คุณสามารถใช้ typeof ผู้ประกอบการที่จะหาชนิดข้อมูลของตัวแปร JavaScript

ตัวอย่าง

typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1,2,3,4]              // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null                   // Returns object
ลองตัวเอง»

โปรดสังเกต:

  • ชนิดข้อมูลของ NaN เป็นจำนวน
  • ชนิดข้อมูลของ array เป็นวัตถุ
  • ชนิดข้อมูลของ date เป็นวัตถุ
  • ชนิดข้อมูลของ null เป็นวัตถุ
  • ชนิดข้อมูลของ undefined ตัวแปรจะไม่ได้กำหนด

คุณไม่สามารถใช้ typeof เพื่อตรวจสอบว่าวัตถุ JavaScript เป็นอาร์เรย์ (หรือวันที่)


ชนิดข้อมูลของ typeof

typeof ผู้ประกอบการไม่ได้เป็นตัวแปร มันเป็นผู้ดำเนินการ ผู้ประกอบการ ( + - * / ) ไม่ได้มีชนิดของข้อมูลใด ๆ

แต่ที่ typeof ประกอบการเสมอกลับสตริงที่มีประเภทของการดำเนินการ


constructor ทรัพย์สิน

constructor สถานที่ให้บริการส่งกลับฟังก์ชันสร้างสำหรับตัวแปร JavaScript ที่ทั้งหมด

ตัวอย่าง

"John".constructor                 // Returns function String()  { [native code] }
(3.14).constructor                 // Returns function Number()  { [native code] }
false.constructor                  // Returns function Boolean() { [native code] }
[1,2,3,4].constructor              // Returns function Array()   { [native code] }
{name:'John', age:34}.constructor  // Returns function Object()  { [native code] }
new Date().constructor             // Returns function Date()    { [native code] }
function () {}.constructor         // Returns function Function(){ [native code] }
ลองตัวเอง»

คุณสามารถตรวจสอบคุณสมบัติสร้างเพื่อดูว่าวัตถุเป็นอาร์เรย์ (มีคำว่า "Array" ):

ตัวอย่าง

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
ลองตัวเอง»

คุณสามารถตรวจสอบคุณสมบัติสร้างเพื่อดูว่าวัตถุเป็นวันที่ (มีคำว่า "Date" ):

ตัวอย่าง

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
ลองตัวเอง»

JavaScript ประเภท Conversion

ตัวแปร JavaScript ที่สามารถแปลงเป็นตัวแปรใหม่และชนิดข้อมูลอื่น:

  • โดยการใช้ฟังก์ชัน JavaScript
  • โดยอัตโนมัติ JavaScript ตัวเอง

แปลงหมายเลขสตริง

วิธีการทั่วโลก String() สามารถแปลงตัวเลขเป็นสตริง

มันสามารถใช้กับชนิดของตัวเลขตัวอักษรตัวแปรหรือการแสดงออกใด ๆ

ตัวอย่าง

String(x)         // returns a string from a number variable x
String(123)       // returns a string from a number literal 123
String(100 + 23)  // returns a string from a number from an expression
ลองตัวเอง»

วิธีการจำนวน toString() ไม่เหมือนกัน

ตัวอย่าง

x.toString()
(123).toString()
(100 + 23).toString()
ลองตัวเอง»

ในบทที่ วิธีการจำนวน คุณจะพบวิธีการอื่น ๆ ที่สามารถนำมาใช้เพื่อแปลงตัวเลขเป็นสตริง:

วิธี ลักษณะ
toExponential() ส่งกลับสตริงที่มีจำนวนโค้งมนและเขียนโดยใช้สัญกรณ์ชี้แจง
toFixed() ส่งกลับสตริงที่มีจำนวนโค้งมนและเขียนด้วยจำนวนที่ระบุทศนิยม
toPrecision() ส่งกลับสตริงที่มีหมายเลขที่เขียนด้วยความยาวที่ระบุ

แปลง Booleans สตริง

วิธีการทั่วโลก String() สามารถแปลง booleans สตริง

String(false)        // returns "false"
String(true)         // returns "true"

วิธีการบูลีน toString() ไม่เหมือนกัน

false.toString()     // returns "false"
true.toString()      // returns "true"

แปลงวันที่เพื่อ Strings

วิธีการทั่วโลก String() สามารถแปลงวันที่เพื่อสตริง

String(Date())      // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

วิธีการวันที่ toString() ไม่เหมือนกัน

ตัวอย่าง

Date().toString()   // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

ในบทที่ วิธีการวันที่ คุณจะพบวิธีการอื่น ๆ ที่สามารถใช้ในการแปลงวันที่เพื่อสตริง:

วิธี ลักษณะ
getDate() ได้รับวันที่เป็นตัวเลข (1-31)
getDay() รับวันทำงานหมายเลข (0-6)
getFullYear() รับปีสี่หลัก (YYYY)
getHours() รับชั่วโมง (0-23)
getMilliseconds() รับมิลลิวินาที (0-999)
getMinutes() ได้รับนาที (0-59)
getMonth() รับเดือน (0-11)
getSeconds() รับวินาที (0-59)
getTime() ดูเวลา (มิลลิวินาทีตั้งแต่ 1 มกราคม 1970)

แปลงสตริงเบอร์

วิธีการทั่วโลก Number() สามารถแปลงสายไปยังหมายเลข

สตริงที่มีตัวเลข (เช่น "3.14" ) แปลงเป็นตัวเลข (เช่น 3.14)

สตริงที่ว่างเปล่าแปลงเป็น 0

สิ่งอื่น ๆ ที่จะแปลงไป NaN (ยังไม่เป็นตัวเลข)

Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

ในบทที่ วิธีการจำนวน คุณจะพบวิธีการอื่น ๆ ที่สามารถใช้ในการแปลงสายไปยังหมายเลข:

วิธี ลักษณะ
parseFloat() แยกสตริงและส่งกลับจำนวนจุดลอย
parseInt() แยกสตริงและกลับจำนวนเต็ม

เอก + ผู้ประกอบการ

เอก + ผู้ประกอบการสามารถนำมาใช้ในการแปลงตัวแปรจำนวน:

ตัวอย่าง

var y = "5";      // y is a string
var x = + y;      // x is a number
ลองตัวเอง»

ถ้าตัวแปรไม่สามารถแปลงก็จะยังคงกลายเป็นตัวเลข แต่มีมูลค่าน่าน (ยังไม่เป็นตัวเลข):

ตัวอย่าง

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
ลองตัวเอง»

แปลง Booleans เบอร์

วิธีการทั่วโลก Number() ยังสามารถแปลง booleans ไปยังหมายเลข

Number(false)     // returns 0
Number(true)      // returns 1

แปลงวันที่เบอร์

วิธีการทั่วโลก จำนวน () สามารถใช้ในการแปลงวันที่ไปยังหมายเลข

d = new Date();
Number(d)          // returns 1404568027739

วิธีการวันที่ getTime() ไม่เหมือนกัน

d = new Date();
d.getTime()        // returns 1404568027739

แปลงชนิดอัตโนมัติ

เมื่อพยายามที่จะทำงานบน "ผิด" ชนิดข้อมูล JavaScript ก็จะพยายามที่จะแปลงค่าเป็นประเภท "สิทธิ"

ผลที่ได้คือไม่ได้เสมอสิ่งที่คุณคาดหวัง:

5 + null    // returns 5         because null is converted to 0
"5" + null  // returns "5null"   because null is converted to "null"
"5" + 2     // returns 52        because 2 is converted to "2"
"5" - 2     // returns 3         because "5" is converted to 5
"5" * "2"   // returns 10        because "5" and "2" are converted to 5 and 2
ลองตัวเอง»

แปลง String อัตโนมัติ

JavaScript อัตโนมัติเรียกตัวแปร toString() ฟังก์ชั่นเมื่อคุณพยายามที่จะ "ส่งออก" วัตถุหรือตัวแปร:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"}  // toString converts to "[object Object]"
// if myVar = [1,2,3,4]       // toString converts to "1,2,3,4"
// if myVar = new Date()      // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"

ตัวเลขและ booleans จะถูกแปลงยัง แต่ตอนนี้ไม่สามารถมองเห็นมาก:

// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

ตาราง JavaScript ประเภท Conversion

ตารางนี้แสดงผลของการแปลงค่า JavaScript ที่แตกต่างกันไปจำนวนสตริงและบูล:

เป็นต้นฉบับ
ความคุ้มค่า
แปลง
ให้แก่จำนวน
แปลง
กับสตริง
แปลง
การบูลีน
ลองมัน
false0"false"false ลองมัน "
true1"true"true ลองมัน "
00"0"false ลองมัน "
11"1"true ลองมัน "
"0"0"0"true ลองมัน "
"1"1"1"true ลองมัน "
NaNNaN"NaN"false ลองมัน "
InfinityInfinity"Infinity"true ลองมัน "
-Infinity-Infinity"-Infinity"true ลองมัน "
""0""false ลองมัน "
"20"20"20"true ลองมัน "
"twenty"NaN"twenty"true ลองมัน "
[ ]0""true ลองมัน "
[20]20"20"true ลองมัน "
[10,20]NaN"10,20"true ลองมัน "
["twenty"]NaN"twenty"true ลองมัน "
["ten","twenty"]NaN"ten,twenty"true ลองมัน "
function(){}NaN"function(){}"true ลองมัน "
{ }NaN"[object Object]"true ลองมัน "
null0"null"false ลองมัน "
undefinedNaN"undefined"false ลองมัน "

ค่าในคำพูดที่บ่งบอกถึงค่าสตริง

ค่าสีแดงแสดงค่า (พอใช้) โปรแกรมเมอร์ไม่อาจคาดหวัง