有没有办法完成我的所有功能,看看哪些变量没有被正确声明?

时间:2011-07-05 08:47:15

标签: javascript node.js

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

在Node.js中,当有大量命中时,此代码会导致问题,因为我没有在计数之前添加“var”。

我担心忘记添加var来初始化我的变量。

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

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

3 个答案:

答案 0 :(得分:3)

您使用过JSLint吗?它为您解析J脚本,非常有用。您可以找到在线版here

它会给你类似的东西:

“第1行第1个问题:'count'在定义之前使用了”

希望这就是你所追求的目标

答案 1 :(得分:3)

没有。因为它取决于上下文。例如,您可以调用全局变量count。将var放在任何内容中都会在本地声明它。

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

答案 2 :(得分:1)

您可以使用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上有许多受欢迎的软件包,其中包括Zombie.js和riak-js。