1.c语言主要编译成机器语言,而javascript主要由解释器作为脚本来解释和执行;
2.c语言需要程序员手动管理内存(主要指堆内存的申请和释放),而javascript内存由解释器管理;
3.c语言是静态类型语言,即每个变量的数据类型在程序运行前就已经确定,运行时不能改变,而javascript是动态类型语言,运行时仍然可以改变变量的数据类型;
4.c语言中没有闭包的概念,javascript中的所有函数都用定义时就可以访问的变量形成闭包;
5.c语言不支持面向对象的特性,如"类的成员方法,"类成员的封装和"类的继承和多态,而javascript可以通过原型链和闭包实现面向对象的继承、多态和封装,ecmascript2015及以上版本的javascript在语法层面支持类的定义。
6.c语言可以通过调用系统api实现多线程,可以提高阻塞操作(主要是io)时的cpu利用率,而javascript主要是单线程的,javascript所有可能的阻塞操作都由javascript运行时提供的异步api完成。
7.有int,char,float等。在c语言中,但在javascript中只有let(先忽略var),所以c语言中的数据类型在转换时要改成let。
8.在c语言中,有一种常见的除法、除法和四舍五入的方法,比如inta5/2,结果是2。但是在js中,这个计算默认会变成2.5,c语言的写法改成让aparseint(5/2)。就像c语言一样直接用%就行了。
递归函数简单来说就是函数调用自己。使用递归函数时,一定要注意。如果处理不当,就会进入死循环。递归函数只能在某些情况下使用,例如阶乘问题:。
功能fa(数字){
if(numlt1){
如果满足条件,r:递归函数中的变量名,记住:自称的函数原理,从后往前推。
最后一个建议是:如果要声明递归函数,请谨慎使用new函数。每次调用函数构造器创建的函数时,它都会递归地重新编译一个函数。使用它会导致性能问题——你会发现你的内存会很快用完。