有没有办法通过我所有的function,看看哪些variables没有被正确地声明?

function findCount(req,res, s){ count = s.length; //count was not initialized! Causes problems. res.send(count); } 

在Node.js中,这个代码在有很多命中时会导致问题,因为在count之前我没有添加“var”。

我害怕我忘了添加var来初始化我的variables。

有没有办法扫描我的代码,并确定,为每个函数,哪些variables没有初始化?

更好的是:有没有办法自动初始化每个函数内的所有variables?

你用过JSLint吗? 它为你parsingJ脚本,这非常有用。 你可以在这里find在线版本。

它会给你像这样的东西:

“第1行字符1的问题:在定义”count“之前使用了”

希望这就是你所追求的

不是,这取决于上下文。 例如,你可以有一个全局variables调用count 。 把var放在里面什么都可以在本地声明。

所以,只要放置var声明,实际上可能会破坏你的处理意义,即使你可以运行一个程序来拾取未声明的variables,只有程序员可以知道上下文和声明的正确位置。

你可以使用CoffeeScript 。 它会自动添加var声明。 它翻译了这个:

 findCount = (req, res, s) -> count = s.length; #count was not initialized! Causes problems. res.send count 

进入这个:

 var findCount; findCount = function(req, res, s) { var count; count = s.length; return res.send(count); }; 

它在Node.js社区非常受欢迎,在npm上有一些stream行的包,包括Zombie.js和riak-js。