C++和JavaScript的對比

  • C++是編譯型語言,JavaScript是解釋型語言:

    C++的編譯過程:預處理->編譯->彙編->鏈接
    JavaScript編譯過程:預處理->解釋執行

  • C++是靜態語言(強類型語言),JavaScript是動態語言(弱類型語言):

    靜態語言在編譯時確定變量的數據類型,因此在變量使用前必須聲明變量類型。並且編譯時會進行類型匹配檢查,因此不給變量的賦不同類型的值。
    動態語言在運行時確定變量的數據類型,在使用前無需聲明變量類型。並且在運行過程中可以給變量賦不同類型的值。
    靜態語言IDE開發過程中會對類型嚴格限制,開發過程中便可減少一些錯誤,適合邏輯業務複雜、大型的、生命週期長的系統。但是靈活性相對較差。
    動態語言比較靈活,代碼更加簡潔,可以讓開發者將更多精力放在邏輯思考上。運行速度相對慢一些,開發過程中難以檢測錯誤。

  • JavaScript是函數式編程語言,C++不是:

    JavaScript中函數當做對象來使用,可以將函數作爲另一個函數的輸入輸出。
    C++需通過函數指針實現高階函數。

  • C++有指針,JavaScript無指針:

    在C++中的賦值,所有的基本類型都是直接複製,而自定義類型因爲有指針的存在,可以自己選擇進行深複製(複製)還是淺複製(引用)。
    而在Javascript中,所有的基本類型賦值都是複製,而所有的其他類型賦值都是引用。

  • JavaScript有閉包,C++沒有

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章