


Pengenalan kepada penukaran jenis nilai dalam petua JavaScript_javascript
Apabila melakukan operasi seperti -, *, /, ==, != dalam JavaScript, jika jenis nilai di sebelah kiri dan kanan operator tidak konsisten dengan jenis yang dijangkakan, JavaScript akan menukar nilai pada kedua-dua belah operator ke dalam jenis yang dijangkakan Lakukan operasi sekali lagi. Apabila jenis nilai yang dijangkakan ialah rentetan, JavaScript akan menukar nilai kepada rentetan apabila jenis nilai yang dijangkakan ialah nombor, JavaScript akan menukar nilai kepada nombor (jika ia tidak boleh ditukar kepada nilai berangka, NaN akan dikembalikan). :
console.log(10 "kucing");//10 kucing
console.log(10 * " kucing");//NaN, " kucing" akan ditukar kepada NaN
console.log(10 "2");//102
console.log(10 - "2");//8
console.log(10 / "2");//5
console.log(10 * "2");//20
console.log(10 * " 2");//20
console.log("10" * "2");//20
Peraturan penukaran jenis nilai
Untuk peraturan penukaran nilai dalam JavaScript, sila rujuk Jadual 3-2 penukaran jenis JavaScript dalam buku "JavaScript – The Definitive Guide". Beberapa tempat yang lebih penting ialah:
1 Hasilnya selepas undefined ditukar kepada nombor ialah NaN.
2. Hasil penukaran nol kepada nombor ialah 0.
3. Hasil penukaran rentetan kosong "" kepada nombor ialah 0.
4. Keputusan selepas menukar -0 kepada rentetan ialah "0".
5. Hasil penukaran tatasusunan kosong [] kepada nombor ialah 0.
6. Apabila tatasusunan dengan hanya satu ahli nombor (seperti [9]) ditukar kepada nombor, hasilnya ialah nilai nombor (9).
Apabila JavaScript menukar rentetan kepada nombor, terdapat dua peraturan yang menarik:
1. JavaScript akan memadamkan aksara kosong pada permulaan dan penghujung rentetan sebelum menukarnya, jadi rentetan seperti "42" boleh berjaya ditukar kepada nombor 42.
2. Selepas mengalih keluar aksara kosong pada permulaan dan akhir, jika rentetan masih mengandungi aksara bukan angka, rentetan akan ditukar kepada NaN. Contohnya: "3 m" akan ditukar kepada NaN.
Contoh:
console.log(10 * " 3 ");//30
console.log(10 * "3 m");//NaN, "3 m" akan ditukar kepada NaN
Penukaran jenis nilai dan perbandingan
Dalam JavaScript, penggunaan operator yang sama (==) melibatkan penukaran jenis nilai: jika jenis nilai pada kedua-dua belah operator == tidak konsisten, maka JS akan menukarnya kepada jenis yang konsisten sebelum membuat pertimbangan. Perlu diingatkan bahawa dua nilai jenis yang berbeza mungkin bersamaan selepas penukaran jenis, tetapi ini tidak bermakna bahawa keputusan menggunakan operator == pada mereka mestilah benar. Contoh mudah ialah undefined dan false: selepas menukar undefined kepada jenis boolean, hasilnya adalah palsu, tetapi sebenarnya hasil undefined==false adalah palsu.
Penukaran jenis eksplisit
Menggunakan penukaran jenis automatik JavaScript adalah sangat mudah, tetapi ia juga boleh menyebabkan masalah dengan mudah seperti kebolehselenggaraan kod. Untuk menjadikan kod program lebih jelas dan mengurangkan kekaburan, penukaran jenis eksplisit kadangkala digunakan dalam program JS:
Nombor("3")//3
Rentetan(false)//"false"
Boolean([])//true
Dalam kebanyakan kes, hasil penukaran jenis eksplisit adalah konsisten dengan hasil penukaran jenis automatik JS tetapi terdapat kes khas: apabila null atau undefined ditukar secara automatik kepada Object, JS akan membuang ralat TypeError tetapi apabila penukaran jenis eksplisit Apabila menukar null atau undefined kepada Object, JS akan mengembalikan objek kosong:
console.log(Object(undefined));//objek kosong
console.log(Objek(null));//objek kosong
Pada masa yang sama, jika jenis yang ditentukan oleh penukaran eksplisit adalah berbeza daripada jenis yang ditentukan oleh penukaran automatik JS, hasil yang diperoleh juga akan berbeza. Sebagai contoh, hasil undefined==false yang disebut sebelum ini adalah palsu jika jenis penukaran dinyatakan secara eksplisit sebagai Boolean, hasilnya akan menjadi benar:
console.log(undefined == false);//false
console.log(Boolean(undefined) == Boolean(false));//true
Penggunaan penukaran jenis automatik
Dalam JS, anda boleh menggunakan penukaran automatik jenis nilai dan menggunakan operator untuk mencapai kesan yang sama seperti penukaran eksplisit, seperti:
console.log(false "");//"false"
console.log(false);//0
console.log(!!3);//true

Ya, teras enjin JavaScript ditulis dalam C. 1) Bahasa C menyediakan prestasi yang efisien dan kawalan asas, yang sesuai untuk pembangunan enjin JavaScript. 2) Mengambil enjin V8 sebagai contoh, terasnya ditulis dalam C, menggabungkan kecekapan dan ciri-ciri berorientasikan objek C. 3) Prinsip kerja enjin JavaScript termasuk parsing, penyusun dan pelaksanaan, dan bahasa C memainkan peranan penting dalam proses ini.

JavaScript adalah di tengah -tengah laman web moden kerana ia meningkatkan interaktiviti dan dinamik laman web. 1) Ia membolehkan untuk menukar kandungan tanpa menyegarkan halaman, 2) memanipulasi laman web melalui Domapi, 3) menyokong kesan interaktif kompleks seperti animasi dan drag-and-drop, 4) mengoptimumkan prestasi dan amalan terbaik untuk meningkatkan pengalaman pengguna.

C dan JavaScript mencapai interoperabilitas melalui webassembly. 1) Kod C disusun ke dalam modul WebAssembly dan diperkenalkan ke dalam persekitaran JavaScript untuk meningkatkan kuasa pengkomputeran. 2) Dalam pembangunan permainan, C mengendalikan enjin fizik dan rendering grafik, dan JavaScript bertanggungjawab untuk logik permainan dan antara muka pengguna.

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini
