區(qū)別:1、C語言主要是被編譯成機器語言,而JavaScript主要是作為腳本被解釋器解釋執(zhí)行;2、C語言需要程序員手動管理內(nèi)存,而JavaScript的內(nèi)存是由解釋器來管理的;3、C語言是靜態(tài)類型語言,而JavaScript是動態(tài)類型語言。
本教程操作環(huán)境:windows7系統(tǒng)、c99&&javascript1.8.5版、Dell G3電腦。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設計語言。
JavaScript(簡稱“JS”) 是一種具有函數(shù)優(yōu)先的輕量級,解釋型或即時編譯型的編程語言。雖然它是作為開發(fā)Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環(huán)境中,JavaScript 基于原型編程、多范式的動態(tài)腳本語言,并且支持面向?qū)ο蟆⒚钍胶吐暶魇剑ㄈ绾瘮?shù)式編程)風格。
C語言和JavaScript的區(qū)別
1、C語言主要是被編譯成機器語言,而JavaScript主要是作為腳本被解釋器解釋執(zhí)行;
2、C語言需要程序員手動管理內(nèi)存(主要指堆內(nèi)存的申請和釋放),而JavaScript的內(nèi)存是由解釋器來管理的;
3、C語言是靜態(tài)類型語言,即程序運行之前每個變量的數(shù)據(jù)類型就已經(jīng)確定,在運行時不能改變,而JavaScript是動態(tài)類型語言,變量的數(shù)據(jù)類型在運行時仍可變化;
4、C語言中沒有閉包的概念,JavaScript中的函數(shù)都與其定義時可訪問到的變量組成閉包;
5、C語言沒有對“類的成員方法”“類的成員的封裝(對外不可見)”“類的繼承與多態(tài)”等面向?qū)ο蟮奶匦缘闹С?,而JavaScript可以通過原型鏈和閉包等實現(xiàn)面向?qū)ο蟮睦^承、多態(tài)和封裝,實現(xiàn)ECMAScript 2015及以上版本的JavaScript更是在語法層面支持類的定義;
6、C語言可以通過調(diào)用系統(tǒng)API來實現(xiàn)多線程,可以通過多線程來提高阻塞操作(主要是IO)時的CPU利用率,而JavaScript主要是單線程,JavaScript的可能阻塞的操作都由JavaScript運行時提供的異步API來完成。