Rumah >hujung hadapan web >tutorial js >Analisis contoh penukaran jenis eksplisit javascript_kemahiran javascript

Analisis contoh penukaran jenis eksplisit javascript_kemahiran javascript

WBOY
WBOYasal
2016-05-16 16:02:231234semak imbas

Contoh dalam artikel ini menerangkan kaedah penukaran jenis eksplisit dalam javascript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Walaupun js boleh melakukan banyak penukaran jenis automatik, kadangkala masih perlu melakukan penukaran jenis eksplisit atau untuk menjadikan logik kod jelas dan boleh dibaca.

Cara paling mudah untuk melakukan penukaran jenis paparan ialah menggunakan fungsi Boolean(), Number(), String() atau Object():

Number("3") //3
String(false)  //"false"
false.toString()//同上
Boolean([]) //true
Object(3)  //new Number(3)

Sesetengah pengendali dalam js akan melakukan penukaran jenis tersirat, seperti:
Jika satu operan operator ialah rentetan, ia menukarkan operan yang lain kepada rentetan
Operator unary menukarkan operan mereka kepada nombor; Satu dolar! Operator menukarkan operan kepada nilai Boolean dan menafikannya
Anda selalunya boleh melihat penggunaan penukaran jenis berikut dalam kod:

x+"" //等价于String(x)
+x //等价于Number(x)
x-0 //同上
!!x //等价于Boolean(x),是双叹号哦
Kaedah toString() yang ditakrifkan oleh kelas Nombor boleh menukar nombor kepada perwakilan rentetan nombor asas lain (antara 2-36) mengikut asas penukaran (radix):

var n =11;
bin_str = n.toString(2);
oct_str = "0" + n.toString(8);
hex_str = "0x" + n.toString(16);
Kelas Nombor juga mentakrifkan 3 kaedah lain untuk senario penukaran jenis nombor kepada rentetan:

toFixed() menukar nombor kepada rentetan berdasarkan bilangan digit yang ditentukan selepas titik perpuluhan. Ia tidak pernah menggunakan tatatanda eksponen.

11.113344.toFixed(5) //"11.11334"
toExponential() menggunakan tatatanda eksponen untuk menukar nombor kepada rentetan bentuk eksponen, dengan hanya satu digit sebelum titik perpuluhan dan bilangan digit selepas titik perpuluhan yang ditentukan oleh parameter:

11.113359.toExponential(5) //"1.11134e+1"
toPrecision() menukar nombor kepada rentetan mengikut bilangan digit bererti yang ditentukan atau menukarnya kepada bentuk eksponen jika bilangan digit bererti kurang daripada bilangan bahagian integer nombor itu.

3 kaedah di atas akan membundarkan atau pad 0 dengan sewajarnya.

Perlu diambil perhatian bahawa fungsi Number() yang disebutkan di atas hanya boleh ditukar berdasarkan nombor perpuluhan dan aksara haram tidak boleh muncul. Kita boleh menggunakan fungsi global (kaedah bukan milik mana-mana kelas) parseInt atau fungsi parseFloat untuk menukar rentetan kepada nombor;

parseInt() hanya menghuraikan integer, manakala parseFloat() boleh menghuraikan integer dan nombor titik terapung.

Jika awalan rentetan ialah "0x" atau "0X", parseInt() akan mentafsirkannya sebagai nombor heksadesimal, kedua-dua parseInt dan parseFloat akan melangkau sebarang bilangan ruang utama dan menghuraikan sebanyak mungkin aksara berangka; aksara bukan ruang pertama ialah nombor haram, NaN dikembalikan.

parseInt boleh menerima parameter pilihan kedua, yang menentukan asas untuk penukaran digital Julat nilai ialah 2-36.

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Kenyataan:
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