JavaScript 和 c 语言之间有什么区别? 下面本篇文章就来给大家介绍一下 JavaScript 和 c 语言的区别, 希望对大家有所帮助.
JavaScript 和 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 语言一样直接使用 % 就可以了.
来源: http://www.css88.com/qa/javascript/11877.html