Di dunia Javascript, semuanya adalah objek.
Tetapi beberapa objek masih berbeda dari yang lain. Untuk membedakan jenis objek, kami menggunakan operator typeof untuk mendapatkan jenis objek, yang selalu mengembalikan string:
tipe 123; // 'number'typeof nan; // 'number'typeof' str '; // 'string'typeof true; // 'boolean'typeof tidak terdefinisi; // 'tidak terdefinisi dengan matematika.abs; // 'function'typeof null; // 'Object'peof []; // 'Object'peof {}; // 'objek' typeof {}; // 'objek' Seperti yang dapat dilihat, number , string , boolean , function dan undefined berbeda dari jenis lain. Berikan perhatian khusus pada jenis null adalah object , dan jenis Array juga object . Jika kita menggunakan typeof , kita tidak akan dapat membedakan null , Array dan objek dalam arti biasa - {} .
Objek pengemasan
number , boolean dan string memiliki objek pembungkus. Ya, dalam JavaScript, string juga membedakan antara jenis string dan tipe pembungkusnya. Objek pembungkus dibuat dengan new :
var n = angka baru (123); // 123, jenis kemasan baru dihasilkan var b = boolean baru (true); // Benar, tipe kemasan baru dihasilkan var s = string baru ('str'); // 'str', jenis kemasan baru dihasilkan Meskipun objek pembungkus terlihat persis sama dengan nilai aslinya dan ditampilkan persis sama, jenisnya telah menjadi object ! Oleh karena itu, membandingkan objek pembungkus dengan nilai asli dengan === akan mengembalikan false :
tipe nomor baru (123); // 'Object'New Number (123) === 123; // falsetype dari boolean baru (true); // 'Object'New Boolean (true) === true; // falsetype dari string baru ('str'); // 'Object'New String (' str ') ===' str '; // PALSUJadi jangan gunakan objek pengemasan bahkan jika Anda merasa diam! Terutama untuk tipe string! Lai Lai
Tanggal
Dalam JavaScript, objek Date digunakan untuk mewakili tanggal dan waktu.
Untuk mendapatkan waktu sistem saat ini, gunakan:
var sekarang = tanggal baru (); sekarang; // Rab 24 Jun 2015 19:49:22 GMT+0800 (CST) Now.getlyEar (); // 2015, tahun sekarang.getMonth (); // 5, bulan, perhatikan bahwa kisaran bulan adalah 0 ~ 11, 5 berarti Juni sekarang.getDate (); // 24, berarti 24th now.getday (); // 3, berarti Rabu sekarang.getHours (); // 19, 24 jam sekarang.getMinutes (); // 49, menit sekarang.getSeconds (); // 22, detik sekarang.getMilliseconds (); // 875, milidetik sekarang.getTime (); // 1435146562875, cap waktu diwakili dalam jumlah
Perhatikan bahwa waktu saat ini adalah waktu yang diperoleh browser dari sistem operasi lokal, sehingga tidak selalu akurat, karena pengguna dapat mengatur waktu saat ini ke nilai apa pun.
Jika Anda ingin membuat objek Date dengan tanggal dan waktu yang ditentukan, Anda dapat menggunakan:
var d = Tanggal baru (2015, 5, 19, 20, 15, 30, 123);
Anda mungkin telah mengamati kisaran JavaScript yang sangat, sangat scamed, yaitu bulan JavaScript diwakili oleh bilangan bulat, 0 hingga 11, 0 hingga Januari, dan 1 hingga Februari ..., jadi untuk mewakili Juni, kami lulus dalam 5! Ini jelas merupakan sesuatu yang perancang Javascript memiliki kedutan otak pada waktu itu, tetapi tidak mungkin untuk memperbaikinya sekarang.
Cara kedua untuk membuat tanggal dan waktu yang ditentukan adalah dengan mengurai string yang sesuai dengan format ISO 8601:
var d = date.parse ('2015-06-24t19: 49: 22.875+08: 00'); D; // 1435146562875 Tapi itu tidak mengembalikan objek Date , tetapi cap waktu. Tetapi dengan cap waktu, itu dapat dengan mudah dikonversi ke Date :
var d = Tanggal baru (1435146562875); D; // Rab 24 Jun 2015 19:49:22 GMT+0800 (CST)
Zona waktu
Waktu yang diwakili oleh objek Date selalu ditampilkan sesuai dengan zona waktu browser, tetapi kita dapat menampilkan waktu setempat dan waktu UTC yang disesuaikan:
var d = Tanggal baru (1435146562875); D.Tolocalestring (); // '2015/6/24 7:49:22 PM', waktu setempat (zona waktu Beijing +8: 00), string yang ditampilkan terkait dengan format yang ditetapkan oleh sistem operasi d.toutcstring (); // 'Wed, 24 Jun 2015 11:49:22 GMT', waktu UTC, 8 jam terpisah dari waktu setempat
Jadi bagaimana cara mengonversi zona waktu di JavaScript? Faktanya, selama kita melewati cap waktu angka number , kita tidak perlu peduli dengan konversi zona waktu. Peramban apa pun dapat mengonversi cap waktu dengan benar ke waktu setempat.
Jadi, kita hanya perlu melewati cap waktu, atau membaca cap waktu dari database, dan kemudian secara otomatis mengonversi JavaScript ke waktu setempat.
Untuk mendapatkan stempel waktu saat ini, Anda dapat menggunakan:
if (date.now) {alert (date.now ()); // Versi lama IE tidak memiliki metode sekarang ()} else {alert (new date (). GetTime ());}Json
Di JSON, hanya ada beberapa tipe data:
• Angka: itu persis sama dengan nomor JavaScript;
• Boolean: itu benar atau salah dari JavaScript;
• String: adalah string javascript;
• NULL: NULL OF JAVASCRIPT;
• Array: Ini adalah metode representasi array JavaScript - [];
• Objek: Ini adalah representasi {...} dari JavaScript.
dan kombinasi apa pun di atas.
Serialisasi
Mari kita serial pertama objek Xiao Ming menjadi string JSON:
var xiaoming = {name: 'xiao ming', usia: 14, jenis kelamin: true, tinggi: 1.65, grade: null, 'sekolah menengah': '/"w3c/" sekolah menengah', keterampilan: ['javascript', 'java', 'python', 'lisp']};使用JSON.stringify()之后:
Json.stringify (xiaoming); // '{"name": "xiao ming", "usia": 14, "gender": true, "height": 1.65, "grade": null, "school-school": "/" w3c/"sekolah menengah", "keterampilan": "javascript", "java", "python", "lispis"}}}}}}}}, "java", "python", "python", "python", "python", "python", "listhonLebih baik output, Anda dapat menambahkan parameter dan mengindir output:
Json.stringify (xiaoming, null, '');
hasil:
{"Name": "Xiao Ming", "Age": 14, "Gender": True, "Height": 1.65, "Grade": Null, "Middle School": "/" W3C/"Middle School", "Keterampilan": ["JavaScript", "Java", "Python", "Lisp"]}} Parameter kedua digunakan untuk mengontrol cara memfilter nilai kunci objek. Jika kita hanya ingin mengeluarkan atribut yang ditentukan, kita dapat meneruskannya ke Array :
Json.stringify (xiaoming, ['nama', 'keterampilan'], '');
hasil:
{"name": "xiao ming", "keterampilan": ["javascript", "java", "python", "lisp"]}Anda juga dapat melewati suatu fungsi sehingga setiap pasangan nilai kunci dari objek akan diproses terlebih dahulu oleh fungsi:
function convert (key, value) {if (typeOf value === 'string') {return value.touppercase (); } value return;} json.stringify (xiaoming, convert, '');Kode di atas mengubah semua nilai atribut menjadi kapitalisasi:
{"Name": "Xiao Ming", "Age": 14, "Gender": True, "Height": 1.65, "Grade": Null, "Middle School": "/" W3C/"Middle School", "Keterampilan": ["JavaScript", "Java", "Python", "Lisp"]}} Jika kami juga ingin mengontrol secara akurat cara membuat serialisasi Xiao Ming, kami dapat mendefinisikan metode toJSON() untuk xiaoming dan secara langsung mengembalikan data yang harus diserialisasi oleh JSON:
var xiaoming = { name: 'Xiao Ming', age: 14, gender: true, height: 1.65, grade: null, 'middle-school': '/"W3C/" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'], toJSON: function () { return { // Only name and age are output, and the key has been changed: 'Nama': this.name, 'usia': this.age}; }}; Json.stringify (xiaoming); // '{"name": "xiao ming", "usia": 14}'Deserialisasi
Dapatkan string format JSON, dan kami langsung menggunakan JSON.parse() untuk mengubahnya menjadi objek JavaScript:
Json.parse ('[1,2,3, true]'); // [1, 2, 3, true] json.parse ('{"name": "xiao ming", "usia": 14}'); // objek {name: 'xiao ming', usia: 14} json.parse ('true'); // trueJson.parse ('123.45'); // 123.45 JSON.parse() juga dapat menerima fungsi untuk mengonversi properti parsed:
Json.parse ('{"name": "xiao ming", "age": 14}', function (key, value) {// letakkan nomor * 2: if (key === 'name') {value return + 'student';} value return;}); // objek {name: 'Student xiao ming', usia: 14}Artikel di atas secara singkat berbicara tentang objek standar JavaScript adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.