Node.js 使用闭包“冻结”变量的值

下面的node.js程序使用JavaScript闭包“冻结”color的值。

function asynFunction(callback) {
    setTimeout(callback, 200);
}
var color = ‘blue‘;

(function(color) {
    asynFunction(function () {
        console.log(‘The color is ‘ + color);
    });
})(color);

color = ‘green‘;
时间: 2024-10-05 23:50:40

Node.js 使用闭包“冻结”变量的值的相关文章

JS 中闭包的变量 闭包与this

闭包与变量: 作用域链的一个副作用,闭包只能取得包含函数中任何变量的最后一个值.别忘了闭包所保存的是整个变量对象,而不是某个特殊的变量. function fn1(){ //创建一个数组 var arr = new Array(); //为数组赋值,此时i是保存在fn1 这个作用域中 for (var i = 0; i <10; i++) { arr[i] = function(){ return i } } return arr; } var fs = fn1(); for (var i =

Node.js 自学之旅

学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里面看到一篇关于node编写的小爬虫 的文章,没想到这个可以做一些服务自己的东西而不是公司那些服务用户啊什么什么的.总之不牵扯到公司的技术都很感兴趣,后来发现angluar.js里面也有node.js一点身影,好吧,好吧逼我呗..so 学吧!说实话并不想靠掌握这个如果升职加薪如何如何的,我只想做自己喜

node.js爱心邮件

一.用的软件是VsCode:下载地址:https://code.visualstudio.com/ 二.用的是node.js完成:下载地址:http://nodejs.cn/download/ 无脑下一步安装即可,如果还是不会,可以进入该网址查看:https://www.runoob.com/nodejs/nodejs-install-setup.html node.js需要配置环境变量:这我就不多说了,自己百度. 三.创建项目 随便创建一个文件夹,右键使用vscode打开 1.在资源管理器下边

node.js与ThreadLocal

ThreadLocal变量的说法来自于Java,这是在多线程模型下出现并发问题的一种解决方案. ThreadLocal变量作为线程内的局部变量,在多线程下可以保持独立,它存在于 线程的生命周期内,可以在线程运行阶段多个模块间共享数据.那么,ThreadLocal变量 又如何与node.js扯上关系呢? node模型 node的运行模型无需再赘言: "事件循环 + 异步执行",可是node开发工程师比较感兴趣的点 大多集中在 "编码模式"上,即异步代码同步编写,由此提

node.js入门学习(四)--Demo

需求:图书的增删改查,图书数据保存在data.json文件中. 1.Demo结构: 2.首先下载安装node.js,配置环境变量:参考博客 3.项目初始化 1)创建项目根目录node-hello,进入到根目录node-hello,右键/在此处打开PowerShell窗口. 2)创建app.js文件. 3)在控制台输入命令:npm init -y,会自动创建package.json文件. 4)在控制台输入命令:npm install mime,会自动创建node_modules文件夹,并下载mim

从node.js模块化开发来了解javascript闭包

之前看过很多关于javascript闭包的解释,只有短短几个demo,一大段晦涩难懂的介绍,巴拉巴拉一大段闭包的概念,但是到最后也没看懂闭包到底是什么意思,起什么作用,直到昨晚凌晨,我在学习node.js模块开发的时候,才突然恍然大悟,所以赶紧记下来,免得以后忘记.代码来源:廖雪峰的网站node.js教程. 直接上代码: 我们首先编写了一个hello.js文件,这个hello.js文件就是一个模块,模块的名字就是文件名(去掉.js后缀),所以hello.js文件就是名为hello的模块. 我们把

win 环境下 node.js环境变量

 在win 环境下 node.js环境变量有两种情况:  (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. (2)生产环境(production):是指正式提供对外服务的,一般会关掉错误报告,打开错误日志. 代码: if (process.env.NODE_ENV === 'production') { //在生产情况下做怎样的处理 /* 你的代码*/} else { //在开发环境下做怎样的处理 /*

js中switch/case分支的值可以是变量或表达式

在一些高级语言如C#中,switch分支的值只能是常量,而js中可以是变量或表达式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.

在node.js上安装fis后显示fis不是内部命令,安装fis的环境变量配置问题

我们windows环境下的node.js 上安装各种工具的时候老是会遇到各种问题,下面是笔者在安装fis的时候出现的一个问题,后来研究后发现是环境变量配置的问题. 首先我在环境变量里边添加了一个变量名:NODE_PATH  变量值:C:\Program Files\nodejs\node_modules 笔者以为环境变量配置好了,但是在cmd中执行命令:npm install -g fis出现下边的状况: C:\Users\duanlin>npm install fis -g npm WARN