小编luc*_*eer的帖子

这是NodeJS中的变量范围错误还是我需要更多的睡眠

在一个NodeJS项目上工作,我遇到了这个非常意想不到的行为,我无法解决这个问题 - 这对我来说似乎是一个错误,但也许我只是误解了NodeJS模块的运作方式.

我把它简化为一个测试用例如下:

mod.js模块

exports.process = function(obj) { obj.two = 'two'; };

test.js文件

var testObj = {one: 'one'};


console.log(['Before:', testObj]);

var cachedObj = testObj;
require('./mod').process(cachedObj);

console.log(['After:', testObj]);

然后跑步$ node test.js给我这个:

[ 'Before:', { one: 'one' } ]
[ 'After:', { one: 'one', two: 'two' } ]

我正在分配testObjto 的值cachedObj,并且testObj永远不会传递给模块方法.testObj应该(据我所知)永远不会被修改.

事实上,cachedObj肯定永远不会被修改,因为它永远不会从mod.process方法返回.我哪里错了?

(运行节点0.6.9)

javascript scope node.js

4
推荐指数
1
解决办法
293
查看次数

如何将HTML文件加载到画布中?

我知道我们可以将图像加载到画布中,但我想知道我们是否能够将简单的HTML文件加载到画布中.如果有,怎么样?

谢谢.

html html5 canvas

3
推荐指数
1
解决办法
6627
查看次数

标签 统计

canvas ×1

html ×1

html5 ×1

javascript ×1

node.js ×1

scope ×1