>  기사  >  웹 프론트엔드  >  C와 자바스크립트의 차이점은 무엇인가요?

C와 자바스크립트의 차이점은 무엇인가요?

青灯夜游
青灯夜游원래의
2021-11-03 15:07:434018검색

차이점: 1. C 언어는 수동 메모리 관리가 필요한 반면 JavaScript 메모리는 인터프리터에 의해 관리됩니다. 2. C 언어는 정적으로 유형이 지정되는 언어인 반면 JavaScript는 동적으로 유형이 지정되는 언어입니다. 3. JS와 C에는 클로저가 있습니다. 4. C 언어는 컴파일된 언어인 반면 JavaScript는 해석된 언어입니다.

C와 자바스크립트의 차이점은 무엇인가요?

이 튜토리얼의 운영 환경: windows7 시스템, javascript1.8.5&&c99 버전, Dell G3 컴퓨터.

C 언어와 JavaScript의 차이점

1. C 언어는 메모리를 수동으로 관리해야 하는 반면(주로 힙 메모리의 응용 프로그램 및 릴리스 참조) JavaScript 메모리는 인터프리터에 의해 관리됩니다. 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은 모두 동적 유형 언어입니다.
  • 정적 타이핑이나 동적 타이핑은 언어 성능에 큰 영향을 미칩니다.
  • 정적 유형의 경우 컴파일 후 4바이트를 차지하는 int 유형과 같은 알려진 유형의 장점을 광범위하게 활용합니다. 컴파일된 코드는 메모리 주소와 오프셋 방법을 사용하여 변수에 액세스할 수 있습니다. 주소와 오프셋 알고리즘의 조합은 구현하기 쉽습니다.
  • 동적 유형의 경우 문자열로 저장되며 후속 액세스에는 문자열 일치가 사용됩니다.
  • 컴파일 또는 해석의 관점에서

C 및 C++와 같은 컴파일된 언어는 실행되기 전에 컴파일러가 로컬 실행 프로그램으로 컴파일해야 하며, 작성 후 개발자가 수동으로 구현합니다. 완료되었습니다. 사용자는 다른 추가 가상 머신 없이 시스템 로더에 의해 실행되고 운영 체제의 CPU에 의해 직접 실행되는 컴파일된 네이티브 코드만 사용합니다.
  • 소스 코드=》추상 구문 트리=》중간 표현=》네이티브 코드

    JavaScript, Python과 같은 해석된 언어로 개발 언어가 작성된 후 코드가 사용자에게 직접 전달되며 사용자는 이를 사용하여 스크립트 파일을 변환하는 스크립트 해석기 설명 및 실행. 스크립팅 언어의 경우 물론 개발자 컴파일 프로세스가 전혀 없습니다.
  • 소스 코드=》추상 구문 트리=》통역사 해석 및 실행.

    【추천 학습:
  • javascript 고급 튜토리얼

위 내용은 C와 자바스크립트의 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.