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爱好者其它相关文章!
-
剑与远征启程装备铸造石获取方法装备铸造石怎么得 2024-08-28
-
光遇2024年8月23日每日任务完成方法 2024-08-28
-
去远方游戏第二章主线攻略介绍 2024-08-28
-
原神8月16日礼包兑换码2024 2024-08-28
-
无限暖暖什么时候上线 2024-08-28
-
探探猫大作战游戏礼包码合集一览 2024-08-28