Apakah yang termasuk penukaran jenis data javascript?

青灯夜游
Lepaskan: 2023-01-11 09:19:00
asal
3344 orang telah melayarinya

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.

Apakah yang termasuk penukaran jenis data javascript?

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'
Salin selepas log masuk

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);
Salin selepas log masuk

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]
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

3 >

Boolean(0)                // => false - 零
Boolean(new object())   // => true - 对象
Number(undefined)       // =>   NaN
Number(null)              // => 0
String(null)              // => "null"
Salin selepas log masuk

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
Salin selepas log masuk

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);
}
Salin selepas log masuk

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:

alert({a: 1});    // => [object Object]
Salin selepas log masuk

【推荐学习:javascript高级教程

Atas ialah kandungan terperinci Apakah yang termasuk penukaran jenis data javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!