c与javascript的区别有哪些
时间:2021-11-12
来源:互联网
今天PHP爱好者为您带来区别:1、C语言需要手动管理内存,而JavaScript的内存是由解释器来管理的;2、C语言是静态类型语言,而JavaScript是动态类型语言;3、JS中有闭包,C语言中没有;4、C语言是编译型语言,而JavaScript是解释性语言。希望对大家有所帮助。
本教程操作环境:windows7系统、javascript1.8.5&&c99版、Dell G3电脑。
C语言和JavaScript的区别
1、C语言需要程序员手动管理内存(主要指堆内存的申请和释放),而JavaScript的内存是由解释器来管理的;
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,开发语言写好后直接将代码交给用户,用户使用脚本解释器将脚本文件解释执行。对于脚本语言,没有开发人员的编译过程,当然,也不绝对。
源代码=》抽象语法树=》解释器解释执行。
以上就是c与javascript的区别有哪些的详细内容,更多请关注php爱好者其它相关文章!
-
Python os.chdir()方法详解 时间:2025-09-02
-
Python多线程详解 多线程和多进程的区别 时间:2025-09-02
-
Python中列表(list)详解(基本概念、常用操作、内置函数及方法) 时间:2025-09-02
-
JavaScript中Promise用法详解(基本定义、核心方法、示例代码) 时间:2025-09-02
-
JavaScript中window.location.href用法详解 时间:2025-09-01
-
json.stringify()和json.parse()用法和区别详解 时间:2025-09-01
今日更新
-
三国谋定天下战报怎么查看-三谋战报查看方法
阅读:18
-
DNF手游属性转换怎么操作-属性转换教程详解
阅读:18
-
恋与制作人昔时旧忆系列SR羁绊复刻9月4日将开启
阅读:18
-
重生细胞自动攻击怎么关-自动攻击关闭方法
阅读:18
-
电脑任务栏输入法图标消失怎么办?3种方法快速找回
阅读:18
-
电脑任务栏输入法图标消失怎么办 快速找回的3种有效方法
阅读:18
-
无限暖暖家园创作激励计划开启-发布版本内容获奖励
阅读:18
-
阴阳师渠道服和官服有什么区别-阴阳师能转官服吗
阅读:18
-
无限暖暖1.9版本现卡顿问题-官方发文正在修复
阅读:18
-
电脑任务栏音量图标消失怎么办?3步快速找回小喇叭图标
阅读:18