ホームページ  >  記事  >  ウェブフロントエンド  >  CとJavaScriptの違いは何ですか

CとJavaScriptの違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-11-03 15:07:433954ブラウズ

違い: 1. C 言語は手動のメモリ管理が必要ですが、JavaScript のメモリはインタプリタによって管理されます; 2. C 言語は静的に型指定された言語ですが、JavaScript は動的に型指定された言語です; 3. クロージャがあります。 C 言語では使用できません; 4. C 言語はコンパイル言語ですが、JavaScript はインタプリタ言語です。

CとJavaScriptの違いは何ですか

このチュートリアルの動作環境: Windows7 システム、javascript1.8.5&&c99 バージョン、Dell G3 コンピューター。

C 言語と JavaScript の違い

1. C 言語では、プログラマーが手動でメモリを管理する必要があります (主に、ヒープ メモリのアプリケーションと解放を指します)。メモリはインタプリタによって管理されます;

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。