1、C語言主要是被編譯成機器語言,而JavaScript主要是作為指令碼被直譯器解釋執行;
2、C語言需要程式設計師手動管理記憶體(主要指堆記憶體的申請和釋放),而JavaScript的記憶體是由直譯器來管理的;
3、C語言是靜態型別語言,即程式執行之前每個變數的資料型別就已經確定,在執行時不能改變,而JavaScript是動態型別語言,變數的資料型別在執行時仍可變化;
4、C語言中沒有閉包的概念,JavaScript中的函式都與其定義時可訪問到的變數組成閉包;
5、C語言沒有對“類的成員方法”“類的成員的封裝(對外不可見)”“類的繼承與多型”等面向物件的特性的支援,而JavaScript可以透過原型鏈和閉包等實現面向物件的繼承、多型和封裝,實現ECMAScript 2015及以上版本的JavaScript更是在語法層面支援類的定義;
6、C語言可以透過呼叫系統API來實現多執行緒,可以透過多執行緒來提高阻塞操作(主要是IO)時的CPU利用率,而JavaScript主要是單執行緒,JavaScript的可能阻塞的操作都由JavaScript執行時提供的非同步API來完成。
7、C語言中有int,char,float等等,而JavaScript中只有let(先忽略var),所以轉換過程中遇到C語言中的資料型別要換成let。
8、C語言中常用一種除法整除取整比如int a = 5/2;,結果就是2。而在js中這樣計算預設會變成2.5,要達到C語言的寫法要改成let a = parseInt(5/2)。 除法取餘和C語言一樣直接使用%就可以了。
1、C語言主要是被編譯成機器語言,而JavaScript主要是作為指令碼被直譯器解釋執行;
2、C語言需要程式設計師手動管理記憶體(主要指堆記憶體的申請和釋放),而JavaScript的記憶體是由直譯器來管理的;
3、C語言是靜態型別語言,即程式執行之前每個變數的資料型別就已經確定,在執行時不能改變,而JavaScript是動態型別語言,變數的資料型別在執行時仍可變化;
4、C語言中沒有閉包的概念,JavaScript中的函式都與其定義時可訪問到的變數組成閉包;
5、C語言沒有對“類的成員方法”“類的成員的封裝(對外不可見)”“類的繼承與多型”等面向物件的特性的支援,而JavaScript可以透過原型鏈和閉包等實現面向物件的繼承、多型和封裝,實現ECMAScript 2015及以上版本的JavaScript更是在語法層面支援類的定義;
6、C語言可以透過呼叫系統API來實現多執行緒,可以透過多執行緒來提高阻塞操作(主要是IO)時的CPU利用率,而JavaScript主要是單執行緒,JavaScript的可能阻塞的操作都由JavaScript執行時提供的非同步API來完成。
7、C語言中有int,char,float等等,而JavaScript中只有let(先忽略var),所以轉換過程中遇到C語言中的資料型別要換成let。
8、C語言中常用一種除法整除取整比如int a = 5/2;,結果就是2。而在js中這樣計算預設會變成2.5,要達到C語言的寫法要改成let a = parseInt(5/2)。 除法取餘和C語言一樣直接使用%就可以了。