zoukankan      html  css  js  c++  java
  • 【03】node 之 作用域

    1.什么是作用域

     

    作用域:规定了一个变量和函数可使用的范围,作用域分为两种:全局作用域、局部作用域(函数作用域)

    2.NodeJS作用域

    NodeJs中一个文件就是一个模块,模块中使用var定义的变量为局部作用域,只能在该模块中使用,因为模块在使用时会把NodeJs编译为一个函数,那么使用var的定义的变量,理所当然的只能在这个模块(函数)中使用。

    比如:某模块我们编写了以下代码 b.js文件

    var b = 10;
    console.log(arguments.callee.toString()); 

     a.js模块引入b.js

    var b = require("./b"); // 导入b模块中exports对象给变量b.
    console.log("a模块中代码");
    NodeJs会在执行之前,编译这个模块为:node a.js
       
     function (exports, require, module, __filename, __dirname) { 
    
           var a = 10;// a为局部变量
          console.log(arguments.callee.toString()); //可以看见最终b.js内容
        }

     3.  NodeJS全局作用域和全局对象

    NodeJs定义一个变量,如果不是使用var,而直接给变量赋值,那么就是一个全局变量,一个全局变量可以被其他模块所使用。

       username = “123123”;

    NodeJs中的全局对象为global,所以通过给这个对象上面添加属性,也是全局变量。

    global.address = “成都源码时代”;

    注意:尽量少使用全局变量,避免变量冲突。

  • 相关阅读:
    DS博客作业08--课程总结
    DS博客作业07-----查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS博客作业02--线性表
  • 原文地址:https://www.cnblogs.com/yeziTesting/p/7126400.html
Copyright © 2011-2022 走看看