C++是编译型语言,JavaScript是解释型语言:
C++的编译过程:预处理->编译->汇编->链接
JavaScript编译过程:预处理->解释执行C++是静态语言(强类型语言),JavaScript是动态语言(弱类型语言):
静态语言在编译时确定变量的数据类型,因此在变量使用前必须声明变量类型。并且编译时会进行类型匹配检查,因此不给变量的赋不同类型的值。
动态语言在运行时确定变量的数据类型,在使用前无需声明变量类型。并且在运行过程中可以给变量赋不同类型的值。
静态语言IDE开发过程中会对类型严格限制,开发过程中便可减少一些错误,适合逻辑业务复杂、大型的、生命周期长的系统。但是灵活性相对较差。
动态语言比较灵活,代码更加简洁,可以让开发者将更多精力放在逻辑思考上。运行速度相对慢一些,开发过程中难以检测错误。JavaScript是函数式编程语言,C++不是:
JavaScript中函数当做对象来使用,可以将函数作为另一个函数的输入输出。
C++需通过函数指针实现高阶函数。C++有指针,JavaScript无指针:
在C++中的赋值,所有的基本类型都是直接复制,而自定义类型因为有指针的存在,可以自己选择进行深复制(复制)还是浅复制(引用)。
而在Javascript中,所有的基本类型赋值都是复制,而所有的其他类型赋值都是引用。JavaScript有闭包,C++没有
相关文章
- C++和JavaScript的对比
- 72 C++ 在window上安装Linux(ubuntu),以及和ubuntu通讯,vmware,ubuntu,xshell,xftp工具的使用
- 线性模型之逻辑回归(LR)(原理、公式推导、模型对比、常见面试点) 3种类型的梯度下降算法总结李宏毅机器学习笔记2:Gradient Descent(附带详细的原理推导过程) 任何模型都会面临过拟合问题,所以我们也要对逻辑回归模型进行正则化考虑。常见的有L1正则化和L2正则化。
- 【Java】后端开发语言Java和C#,两者对比注解和属性的区别以及作用
- C++进阶--unordered_set、unordered_map的介绍和使用-四、unordered_map的介绍
- C和C++中动态链接库的创建和链接(原创,装载请注明原处)
- JavaScript是如何工作的:事件循环和异步编程的崛起 + 5种使用 async/await 更好地编码方式!
- JavaScript和微信小程序获取IP地址的方法
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
- javascript中&&和||的区别