C++和JavaScript的对比

  • C++是编译型语言,JavaScript是解释型语言:

    C++的编译过程:预处理->编译->汇编->链接
    JavaScript编译过程:预处理->解释执行

  • C++是静态语言(强类型语言),JavaScript是动态语言(弱类型语言):

    静态语言在编译时确定变量的数据类型,因此在变量使用前必须声明变量类型。并且编译时会进行类型匹配检查,因此不给变量的赋不同类型的值。
    动态语言在运行时确定变量的数据类型,在使用前无需声明变量类型。并且在运行过程中可以给变量赋不同类型的值。
    静态语言IDE开发过程中会对类型严格限制,开发过程中便可减少一些错误,适合逻辑业务复杂、大型的、生命周期长的系统。但是灵活性相对较差。
    动态语言比较灵活,代码更加简洁,可以让开发者将更多精力放在逻辑思考上。运行速度相对慢一些,开发过程中难以检测错误。

  • JavaScript是函数式编程语言,C++不是:

    JavaScript中函数当做对象来使用,可以将函数作为另一个函数的输入输出。
    C++需通过函数指针实现高阶函数。

  • C++有指针,JavaScript无指针:

    在C++中的赋值,所有的基本类型都是直接复制,而自定义类型因为有指针的存在,可以自己选择进行深复制(复制)还是浅复制(引用)。
    而在Javascript中,所有的基本类型赋值都是复制,而所有的其他类型赋值都是引用。

  • JavaScript有闭包,C++没有

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章