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