Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Mengapakah JavaScript merupakan bahasa yang ditaip lemah?
Dalam bahasa yang ditaip lemah, jenis data boleh diabaikan, dan pembolehubah boleh diberikan nilai jenis data yang berbeza Pembolehubah JavaScript boleh ditafsirkan sebagai jenis yang berbeza pada masa yang berbeza, yang membolehkan penukaran tersirat pembolehubah jenis dan pelakon. Dalam JavaScript, pembolehubah boleh digunakan tanpa mengisytiharkan jenis datanya terlebih dahulu Pada masa ini, jurubahasa JavaScript akan membuat apa yang difikirkannya sebagai pertimbangan yang betul berdasarkan situasi.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
静态语言
: Kami memanggil bahasa statikyang perlu mengesahkan jenis data pembolehubah sebelum menggunakannya.
动态语言
: Kami memanggil bahasa yang perlu menyemak jenis data semasa operasi sebagai bahasa dinamik.
Biasanya, operasi penukaran jenis secara rahsia dipanggil 隐式类型转换
:
Bahasa yang menyokong penukaran jenis tersirat dipanggil 弱类型语言
dan bahasa yang tidak menyokong penukaran jenis tersirat dipanggil 强类型语言
.
Bahasa yang ditaip dengan kuat:
Bahasa yang menguatkuasakan definisi jenis data. Dalam erti kata lain, sebaik sahaja pembolehubah diberikan jenis data tertentu, ia akan sentiasa menjadi jenis data itu jika ia tidak dihantar. Sebagai contoh: jika anda mentakrifkan pembolehubah integer a, maka adalah mustahil untuk atur cara untuk menganggap a sebagai jenis rentetan. Bahasa definisi yang ditaip kuat ialah bahasa yang selamat jenis.
Bahasa yang ditaip lemah:
Bahasa yang jenis data boleh diabaikan. Ia adalah bertentangan dengan bahasa definisi yang ditaip kuat, di mana pembolehubah boleh diberikan nilai jenis data yang berbeza.
Bahasa yang ditaip lemah membenarkan penukaran tersirat bagi jenis pembolehubah, penukaran jenis paksa, dsb. Contohnya, rentetan dan nilai boleh ditukar secara automatik manakala bahasa yang ditaip kuat secara amnya tidak membenarkan ini.
JavaScript ialah bahasa yang ditaip lemah
JavaScript ialah bahasa pengaturcaraan "ditaip longgar", yang bermaksud bahawa pembolehubah JavaScript boleh ditafsirkan pada berbeza majlis untuk pelbagai jenis.
Dalam JavaScript, pembolehubah boleh digunakan tanpa mengisytiharkan jenis datanya terlebih dahulu Pada masa ini, jurubahasa JavaScript akan membuat apa yang difikirkannya sebagai pertimbangan yang betul berdasarkan situasi. Jika kita menyimpan rentetan dalam pembolehubah sekarang dan mahu menggunakannya sebagai nilai berangka kemudian, ini boleh dilaksanakan sepenuhnya dalam JavaScript, dengan syarat rentetan itu mesti mengandungi sesuatu seperti nombor.
Penjelmaan jenis js lemah
Peraturan umum ialah semakin kuat kekangan, semakin kurang ralatnya, tetapi semakin menyusahkan semasa menulis sesuatu program. Dalam JavaScript, kerana kekangannya agak lemah, ralat jenis ini cenderung berlaku: Contoh paling mudah:
Contoh lain ialah seperti berikut:
var a =200; var b ="1"; var c= a + b;
Anda mungkin menjangkakan c akan menjadi 201, tetapi Sebenarnya ia adalah "2001", ralat yang tidak pernah berlaku dalam bahasa yang ditaip kuat. Walau bagaimanapun, dengan tepat kerana JavaScript tidak mempunyai kekangan ini, ia boleh menggabungkan jenis angka dan rentetan dengan mudah.
Contoh lain:
var a = '11'; a = a - ''; console.log(typeof a);// -->number
"-" boleh menjadi operator Unary ( negatif), atau perduaan (operasi penolakan)
Dalam pernyataan gelung (jika, sementara), objek Objek boleh ditukar secara tersirat daripada nilai BOOLEAN.
var obj = {name:'jack'} if(obj){ //do more }
Apa yang lebih sukar dicari ialah dalam fungsi alert().
String.prototype.fn = function(){return this}; var a = 'hello'; alert(typeof a.fn()); //-->object alert(a.fn()); //-->hello
Kami tahu bahawa ini boleh difahami sebagai objek contoh kelas semasa Memandangkan ia adalah objek, jenis a.fn() adalah semula jadi Pemulangan adalah objek.
Kunci adalah yang terakhir alert(a.fn())
Apa yang dikembalikan oleh a.fn()
jelas sekali objek, tetapi ia secara tersirat ditukar kepada rentetan "hello
" untuk paparan.
[Cadangan berkaitan: tutorial video javascript, Video pengaturcaraan]
Atas ialah kandungan terperinci Mengapakah JavaScript merupakan bahasa yang ditaip lemah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!