Rumah > Artikel > hujung hadapan web > Apakah yang termasuk penukaran jenis data javascript?
Penukaran jenis data JavaScript termasuk: penukaran jenis eksplisit dan penukaran jenis tersirat. Penukaran jenis eksplisit dilakukan terutamanya dengan menggunakan fungsi terbina dalam JavaScript manakala penukaran jenis tersirat bermakna JavaScript menukar jenis nilai secara automatik mengikut persekitaran pengkomputeran.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Penukaran jenis data JavaScript termasuk: penukaran jenis eksplisit dan penukaran jenis tersirat.
Jenis data penukaran eksplisit
Jenis data penukaran yang dipaparkan terutamanya melalui kaedah penukaran data yang ditakrifkan oleh JS.
1. Tukar kepada rentetan
Kebanyakan persekitaran hos JavaScript (seperti Node.js dan Chrome) menyediakan fungsi global kepadaString pada masa yang sama Object.prototype The kaedah toString juga ditakrifkan supaya semua objek mempunyai keupayaan untuk ditukar kepada rentetan.
Sebagai contoh, tukar Nombor kepada Rentetan:
var n = 1; n.toString(); // '1'
toString menerima parameter untuk menentukan asas, lalainya ialah 10. Anda boleh menggunakan parameter ini untuk menjana rentetan rawak termasuk huruf dan nombor:
Math.random().toString(36).substr(2);
rawak menjana nombor rawak dari 0 hingga 1. Set aksara heksadesimal ialah [0-9a-z] (36 aksara digunakan untuk memotong permulaan "0." . Selain itu, Object.prototype.toString boleh digunakan untuk mengesan jenis objek JavaScript:
var toString = Object.prototype.toString; toString.call(new Date); // [object Date] toString.call(new String); // [object String] toString.call(Math); // [object Math] // Since JavaScript 1.8.5 toString.call(undefined); // [object Undefined] toString.call(null); // [object Null] // 自定义类型 toString.call(new MyClass); // [object Object]
2. Tukar kepada nombor
Tukar rentetan. kepada nombor juga. Keperluan biasa biasanya digunakan untuk mendapatkan Nombor daripada input atau fail pengguna Dalam JavaScript, parseInt dan parseFloat boleh digunakan secara langsung. Contohnya:
var iNum1 = parseInt("12345red"); //返回 12345 var iNum1 = parseInt("0xA"); //返回 10 var iNum1 = parseInt("56.9"); //返回 56 var iNum1 = parseInt("red"); //返回 NaN var fNum4 = parseFloat("11.22.33"); //返回 11.22
Ambil perhatian bahawa NaN ialah satu-satunya nilai dalam JavaScript yang tidak sama dengan dirinya sendiri. (NaN == NaN) === palsu! Jika watak haram ditemui, parseInt dan parseFloat mengabaikan segala-galanya selepas itu.
parseFloat hanya menerima rentetan nombor perpuluhan dan parseInt juga menyediakan parameter kedua (pilihan) untuk menentukan asas yang mana rentetan itu mewakili nombor:
var iNum1 = parseInt("10", 2); //返回 2 var iNum2 = parseInt("10", 8); //返回 8 var iNum3 = parseInt("10", 10); //返回 10
3 >
Boolean(0) // => false - 零 Boolean(new object()) // => true - 对象 Number(undefined) // => NaN Number(null) // => 0 String(null) // => "null"
Penukaran data tersirat
ditukar secara automatik oleh JavaScript itu sendiri. JavaScript secara automatik boleh menukar jenis nilai mengikut persekitaran pengkomputeran untuk memenuhi keperluan pengkomputeran.1. Operator kenaikan dan pengurangan
Operator kenaikan dan pengurangan dipinjam secara langsung daripada C, dan setiap satu mempunyai dua versi: awalan dan postfix(a , a-- , a , --a). Seperti namanya, jenis awalan harus diletakkan sebelum pembolehubah yang akan dikendalikan, manakala jenis postfixed harus diletakkan selepas pembolehubah yang akan dikendalikan.
4 pengendali ini boleh digunakan untuk sebarang nilai, iaitu, ia bukan sahaja terpakai kepada integer,juga boleh digunakan untuk rentetan, nilai Boolean, nilai titik terapung dan objek, dengan Data tersirat penukaran jenis.
2 Operator tambahan Ia adalah pengendali binari Selagi salah satu daripadanya adalah jenis String, nilai ungkapan adalah String. Untuk empat operasi aritmetik yang lain, hanya satu daripadanya adalah jenis Nombor dan nilai ungkapan itu ialah Nombor.
biasanya mengembalikan NaN untuk aksara yang menyalahi undang-undang:
3 Operator NOT Logik dan operator perbandingan menukar sebarang nilai kepada nilai Boolean
'1' * 'a' // => NaN,这是因为parseInt(a)值为NaN,1 * NaN 还是 NaN
The. operator NOT logik mula-mula menukar operannya kepada nilai Boolean dan kemudian menafikannya.
4 Pengendali perbandingan perhubungan
.
5. Pernyataan penghakiman
Syarat penghakiman dalam pernyataan penghakiman perlu daripada jenis Boolean, jadi ungkapan bersyarat akan ditukar secara tersirat kepada Boolean. Peraturan penukaran adalah sama dengan pembina Boolean. Contohnya:
6. Panggilan kod asli
var obj = {}; if(obj){ while(obj); }
Persekitaran hos JavaScript akan menyediakan sejumlah besar objek, kebanyakannya sering dilaksanakan melalui JavaScript. Parameter yang dihantar kepada fungsi ini oleh JavaScript juga akan ditukar secara tersirat. Contohnya, kaedah amaran yang disediakan oleh BOM menerima parameter jenis Rentetan: 【推荐学习:javascript高级教程】alert({a: 1}); // => [object Object]
Atas ialah kandungan terperinci Apakah yang termasuk penukaran jenis data javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!