Node.js 本地域,脚本域和全局域是什么

Node.js 本地域,脚本域和全局域是什么

Node.js 是一个开源且跨平台的运行时环境,用于在浏览器之外执行JavaScript代码。您需要记住Node.js不是一个框架,也不是一个编程语言。大多数人都会对此感到困惑,认为它是一个框架或编程语言。我们通常使用Node.js构建后端服务,如Web应用程序或移动应用程序的API。它被像Paypal、Uber、Netflix、Walmart等大公司用于生产。

变量的作用域: 作用域一词指的是我们可以使用某个东西的范围。在编程中,变量的作用域指的是我们在程序中可以使用变量的范围。

在JavaScript中,主要有三种类型的作用域:

  1. 本地作用域
  2. 全局作用域
  3. 脚本作用域

本地作用域:

  • Node.js应用程序以本地作用域启动。本地变量由函数定义。具有本地作用域的变量限制了它们在定义它们的函数中的使用。
  • 它也被称为 默认作用域

    示例1: 在本地作用域下定义变量的示例-

var d = 'Tom'; 
function zeta() { 
    var d; 
    if (d === undefined) { 
        d = 'Jerry'; 
    } 
    console.log(d); 
} 
zeta();

输出:

Jerry

解释: Zeta函数用于声明一个新的变量d,该变量具有局部作用域。在JavaScript中,变量在代码的任何位置包括时,都会在当前作用域的顶部初始化,而使用var来声明变量。

示例2: 这是另一个在局部作用域下声明变量的示例 –

var locales = { 
    europe: function () { 
        // The Europe continent's local scope 
        var myFriend = "Monique"; 
  
        // France country's local scope 
        var france = function () {    
              
            // The Paris city's local scope 
            var paris = function () { 
                  
                // output: Monique 
                console.log(myFriend);   
            }; 
  
            paris(); 
        }; 
  
        france(); 
    } 
}; 
  
locales.europe();

输出:

Monique

解释: myFriend变量在France函数的外部作用域中声明,因此在此情况下可以从Paris函数中访问。如果将myFriend变量和console语句交换位置,则不会声明MyFriend。

全局作用域:

  • 当您位于全局作用域中时, var something 会定义一个全局变量,因为全局作用域是浏览器中的最高作用域,在Node中并非如此。在Node模块内部,变量将仅限于该模块;全局作用域将不再是顶层作用域。

示例1: 声明全局作用域下的变量的示例-

// Global Scope 
  
const name = "Monique"; 
  
function sayHi() { 
    console.log(`Hi ${name}`); 
} 
  
sayHi(); 
// Hi Monique

输出:

Hi Monique

解释: 从以上给出的简单示例中,我们可以看到变量名是全局的。它可以在整个应用程序中使用,并在全局范围内定义。

示例2: 这是另一个示例,说明了全局作用域 –

//Global Variable in JavaScript 
var scope = "Global"; //Global Variable 
console.log(scope); //Global 
function access() { 
    console.log(scope); // Accessing a global variable 
} 
  
access(); //Global

输出:

Global
Global

解释: 上面给出的是一个简单的JavaScript程序,我们使用关键字var在全局作用域下声明了变量Global。在全局作用域的变量中,我们可以使用三个关键字:let、const和var。

脚本:

  • 脚本作用域实际上是一个保存变量的地方,这些变量是共享的,严格不暴露给全局作用域的。
  • 每个脚本或脚本模块的子级共享脚本作用域。
  • 实质上,它们是一系列终端命令或者终端命令本身,用于自动化重复的家务。可以把NPM脚本当作一系列终端命令来概括。项目的脚本保存在包的部分中。
let GLOBAL_DATA = { value: 1 }; 
console.log(GLOBAL_DATA);

输出:

{ value: 1 }

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程