CNode

NodeJS中变量的作用域

Aalli发布于14 年前最后回复14 年前5 回复21495 浏览0 收藏

NodeJS中的变量可分为三种类型

  1. 局部变量,作用域:定义该变量的函数内
  2. 局部全局变量,作用域:定义该变量的JS文件
  3. 公共全局变量,作用域:程序内可访问global对象的任何一个地方
查看回复

回复 (5)

B
byvoid#1·14 年前

我覺得2和1沒有本質區別,因爲模塊就是一個函數,而且函數是可以嵌套的。

A
alli#2·14 年前
引用 byvoid我覺得2和1沒有本質區別,因爲模塊就是一個函數,而且函數是可以嵌套的。

1、2、3本质上都没什么区别,因为JS中只有对象。之所以人为分为几个类型,我觉得,主要是帮助程序员保持思路清晰,尽量避免错误。

F
frank#3·14 年前

与其说NodeJS中的变量不如说v8、js中的变量?若它们之间有区别,则区别在哪儿呢?

A
alli#4·14 年前

一般JS文件中的全局变量会直接进入global对象,NodeJS把JS文件封装到了函数内,不会进入global对象。

M
magicpig#5·14 年前

prototype 是天生全局的,js本身还在,所以理论上,所谓的变量域是可以公开在prototype里的,

比如 a.js 中,有一个A 的变量,可以使用 string.prototype.getA=function(){return A},这样可以把A公布在原型链上,其它引入的模块可以直接通过 原型链 取到内容,而不用每次new 传递。

参与回复
登录后即可参与回复。登录