zoukankan      html  css  js  c++  java
  • nodeJs和JavaScript的异同(转)

    原文:https://blog.csdn.net/lazycode_cat/article/details/61916291

    JavaScript组成:ECMAScript(定义这门语言的基础,比如语法、数据类型、结构以及一些内置对象等)、DOM(基于ECMASCRIPT,扩展出来的用于操作页面元素的方法)、BOM(基于ECMASCRIPT,扩展出来的用于操作浏览器的一些方法)。

    NodeJS是以ECMASCRIPT为基础,然后在这个基础上扩展出来的一些操作其他东西(即操作非浏览器)的一些方法,比如操作OS操作系统、file文件系统、net网络、database数据库等。也就是说nodejs和JS在底层都是一样的,都是ecmascript,但是扩展出来的功能却是不一样的。一个是偏向于前端浏览器,一个是偏向于后端。

    在ecmascript部分node和JS其实是一样的,比如与数据类型的定义、语法结构,内置对象。但在js中的顶层对象是window对象,但是在node中没有什么window对象,node中的顶层对象是global对象。这就是二者的差异性。

    在window对象中,定义一个全局变量是可以通过Window来访问的,但是在node中是不能通过global对象来访问的,如:
    var a=100;
    console.log(global.a);这种方式是输出结果为undefined
    对于上面这个例子,因为在node中定义的变量是模块中的对象,而并不是global全局变量,所以结果为undefined
    ECMAScript中文版:http://lzw.me/pages/ecmascript/
    ---------------------
    作者:敲代码的猫
    来源:CSDN
    原文:https://blog.csdn.net/lazycode_cat/article/details/61916291
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    IDEA快捷键
    关于redis key命名规范的设计 【转载】
    Mybatis数据源与连接池 【转载】
    通过缓冲区读文件和非缓冲区读文件有什么区别
    BCB6 使用正则表达式的例子
    QT在子窗口外单击关闭子窗口
    QT5 中文乱码
    QT 鼠标右键菜单
    关于线程池的几个问题
    关于ConcurentHashMap的几个问题
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/10384709.html
Copyright © 2011-2022 走看看