首頁 >web前端 >前端問答 >javascript是強型別還是弱型

javascript是強型別還是弱型

青灯夜游
青灯夜游原創
2021-12-10 11:26:334195瀏覽

javascript是弱型別。 javascript是資料型別可以被忽略的語言,一個變數可以賦得不同資料類型的值。 javascript允許變數類型的隱式轉換,允許強制型別轉換等,如字串和數值可以自動轉換;而強型別語言一般不允許這麼做。

javascript是強型別還是弱型

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

強型別定義語言和弱型別定義語言

1)強型別定義語言:

  強制資料型別定義的語言。也就是說,一旦變數被指定了某個資料類型,如果不經過強制轉換,那麼它就永遠是這個資料類型了。舉個例子:如果你定義了一個整數變數a,那麼程式根本不可能將a當作字串類型處理。強型別定義語言是型別安全的語言。

2)弱型別定義語言:

  資料型別可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦能不同資料型別的值。
  強類型定義語言在速度上可能略遜色於弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,「這門語言是不是動態語言」與「這門語言是否類型安全」之間是完全沒有關聯的!
  例如:Python是動態語言,是強型別定義語言(型別安全的語言); VBScript是動態語言,是弱型別定義語言(型別不安全的語言); JAVA是靜態語言,是強型別定義語言(型別安全的語言)。
  關於各種語言類型的解釋,請參考:http://blog.csdn.net/aiming66/article/details/78570784#t3
了解了這些,我們在這裡說一下JavaScript為什麼是弱型別語言。經過思考,我感覺透過一段程式碼來說明吧。可能這樣更加直白。

<!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>

  其中,我來解釋以下程式碼。下面的幾句程式碼顯示如下圖,我們不能看出,我們在一開始只創建了一個變數num,為var類型,我們卻可以給他賦值各種類型:數值類型,字串,布林類型,物件類型,為此我們可以推斷出來,JavaScript為弱型別語言。

javascript中一個變數可以賦不同資料型別的值,它允許變數類型的隱式轉換,允許強制型別轉換等,如字串和數值可以自動轉換;而強型別語言一般不允許這麼做。

var num=0;
alert(typeof num);

javascript是強型別還是弱型

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

javascript是強型別還是弱型

 num=true;
alert(typeof num);

javascript是強型別還是弱型

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

javascript是強型別還是弱型

【相關推薦: javascript學習教學

#

以上是javascript是強型別還是弱型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn