Rumah  >  Artikel  >  hujung hadapan web  >  Adakah javascript ditaip dengan kuat atau ditaip lemah?

Adakah javascript ditaip dengan kuat atau ditaip lemah?

青灯夜游
青灯夜游asal
2021-12-10 11:26:334131semak imbas

Javascript ditaip dengan lemah. JavaScript ialah bahasa di mana jenis data boleh diabaikan, dan pembolehubah boleh diberikan nilai jenis data yang berbeza. JavaScript membenarkan penukaran tersirat jenis pembolehubah, penukaran jenis paksa, dsb. Contohnya, rentetan dan nilai boleh ditukar secara automatik manakala bahasa yang ditaip kuat biasanya tidak membenarkan ini.

Adakah javascript ditaip dengan kuat atau ditaip lemah?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Bahasa definisi jenis kuat dan bahasa definisi jenis lemah

1) Bahasa definisi jenis kuat:

Bahasa yang memaksa 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.

2) Bahasa definisi 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 definisi yang ditaip kuat mungkin lebih perlahan sedikit daripada bahasa definisi yang ditaip lemah, tetapi ketegasan yang dibawa oleh bahasa definisi yang ditaip kuat boleh mengelakkan banyak ralat dengan berkesan. Di samping itu, sama sekali tidak ada kaitan antara "sama ada bahasa ini adalah bahasa dinamik" dan "sama ada bahasa ini selamat jenis"!
Contohnya: Python ialah bahasa dinamik, bahasa definisi yang ditaip dengan kuat (bahasa jenis-selamat); bahasa definisi ditaip kuat (bahasa selamat jenis).
Untuk penjelasan tentang pelbagai jenis bahasa, sila rujuk: http://blog.csdn.net/aiming66/article/details/78570784#t3
Selepas memahami perkara ini, mari kita bincangkan mengapa JavaScript adalah bahasa yang ditaip lemah. Selepas memikirkannya, saya rasa saya boleh menerangkannya melalui sekeping kod. Mungkin ini lebih mudah.

<!DOCTYPE html>
<html>
    <head>
        <title>js练习</title>
        <style type="text/css">

        </style>

        <script type="text/javascript">
            var num=0;
            alert(typeof num);

            num="123";
            alert(typeof num);

            num=true;
            alert(typeof num);

            num= new Date();
            alert(typeof num);
        </script>
    </head>
</html>

 Antaranya, saya akan terangkan kod berikut. Baris kod berikut ditunjukkan dalam rajah di bawah Kami tidak dapat melihat bahawa kami hanya mencipta satu nombor pembolehubah pada permulaan, iaitu jenis var, tetapi kami boleh menetapkan pelbagai jenis kepadanya: jenis berangka, rentetan, jenis Boolean, objek. type , untuk ini kita boleh membuat kesimpulan bahawa JavaScript ialah bahasa yang ditaip lemah.

Pembolehubah dalam JavaScript boleh diberikan nilai jenis data yang berbeza Ia membenarkan penukaran tersirat jenis pembolehubah, penukaran jenis paksa, dll. Contohnya, rentetan dan nilai boleh ditukar secara automatik bahasa yang ditaip secara amnya tidak membenarkan Do ini.

var num=0;
alert(typeof num);

Adakah javascript ditaip dengan kuat atau ditaip lemah?

num="123";
alert(typeof num);

Adakah javascript ditaip dengan kuat atau ditaip lemah?

 num=true;
alert(typeof num);

Adakah javascript ditaip dengan kuat atau ditaip lemah?

 num= new Date();
alert(typeof num);

Adakah javascript ditaip dengan kuat atau ditaip lemah?

[Cadangan berkaitan: tutorial pembelajaran javascript]

Atas ialah kandungan terperinci Adakah javascript ditaip dengan kuat atau ditaip lemah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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