Node环境和浏览器环境的区别

  • NodeJS 环境和浏览器环境一样都是一个 JS 的运行环境, 都可以执行JS代码
  • 但是由于 宿主 的不同所以特点也有所不同

内置对象不同

  • 浏览器环境中提供了 window 全局对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浏览器中的window</title>
</head>
<body>
<script>
    console.log(window);
</script>
</body>
</html>
  • NodeJS 环境中的全局对象不叫 window, 而叫 global
console.log(global);

this的默认指向不同

  • 浏览器环境中的全局 this 默认指向 window
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浏览器中的this</title>
</head>
<body>
<script>
    console.log(this);
</script>
</body>
</html>
  • NodeJS环境中的全局 this 默认指向空对象 {}
console.log(this);

API不同

  • 浏览器环境中提供了操作节点的 DOM 相关API和操作浏览器的 BOM 相关API
  • NodeJS环境中没有 HTML 节点也没有浏览器, 所以 NodeJS 环境中没有 DOM / BOM
posted @ 2020-10-03 17:39  BNTang  阅读(686)  评论(0编辑  收藏  举报