首頁  >  文章  >  web前端  >  c與javascript的差別有哪些

c與javascript的差別有哪些

青灯夜游
青灯夜游原創
2021-11-03 15:07:433954瀏覽

區別:1、C語言需要手動管理內存,而JavaScript的內存是由解釋器來管理的;2、C語言是靜態類型語言,而JavaScript是動態類型語言;3、JS中有閉包,C語言中沒有;4、C語言是編譯型語言,而JavaScript是解釋性語言。

c與javascript的差別有哪些

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

C語言和JavaScript的差異

1、C語言需要程式設計師手動管理記憶體(主要指堆記憶體的申請和釋放),而JavaScript的記憶體是由解釋器來管理的;

2、C語言是靜態型別語言,也就是程式運作之前每個變數的資料型別就已經確定,在執行時不能改變,而JavaScript是動態類型語言,變數的資料型別在執行時仍可變化;

3、C語言中沒有閉包的概念,JavaScript中的函數都與其定義時可存取的變數組成閉包;

4、C語言可以透過呼叫系統API來實現多線程,可以透過多線程來提高阻塞操作(主要是IO)時的CPU利用率,而JavaScript主要是單線程,JavaScript的可能阻塞的操作都由JavaScript運行時提供的非同步API來完成。

5、C語言是編譯型語言,而JavaScript是解釋性語言。 C語言主要是被編譯成機器語言,而JavaScript主要是作為腳本被解釋器解釋執行;

#從靜態型別或動態型別來看

####靜態類型,編譯的時候就能夠知道每個變數的類型,程式設計的時候也需要給定型別,如Java中的整數int,浮點型float等。 C、C 、Java都屬於靜態型別語言。 ############動態類型,運行的時候才知道每個變數的類型,程式設計的時候不需要顯示指定類型,如JavaScript中的var、PHP中的$。 JavaScript、Ruby、Python都屬於動態型別語言。 ############靜態型別還是動態型別對語言的效能有很大影響。 ############對於靜態類型,在編譯後會大量利用已知類型的優勢,如int類型,佔用4個字節,編譯後的程式碼就可以用記憶體位址加偏移量的方法訪問變量,而地址加偏移量的演算法彙編很容易實現。 ############對於動態類型,會當做字串通通存下來,之後存取就用字串匹配。 ###############從編譯型還是解釋型來看################編譯型語言,像C、C ,需要編譯器編譯成本地可執行程式後才能執行,由開發人員在編寫完成後手動實作。使用者只使用這些編譯好的本機程式碼,這些本機程式碼由系統載入器執行,由作業系統的CPU直接執行,無需其他額外的虛擬機器等。 ######原始程式碼=》抽象語法樹=》中間表示=》本地程式碼#############解釋性語言,像是JavaScript、Python,開發語言寫好後直接將程式碼交給用戶,用戶使用腳本解釋器將腳本檔案解釋執行。對於腳本語言,沒有開發人員的編譯過程,當然,也不絕對。 ######原始程式碼=》抽象語法樹=》解釋器解釋執行。 ############【推薦學習:###javascript進階教學###】###

以上是c與javascript的差別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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