Javascript 有没有办法检查我所有的函数,看看哪些变量没有正确声明?
在Node.js中,当点击次数很多时,这段代码会导致问题,因为我在计数之前没有添加var 恐怕我忘了添加var来初始化变量 有没有一种方法可以扫描我的代码并确定每个函数中哪些变量没有初始化Javascript 有没有办法检查我所有的函数,看看哪些变量没有正确声明?,javascript,node.js,Javascript,Node.js,在Node.js中,当点击次数很多时,这段代码会导致问题,因为我在计数之前没有添加var 恐怕我忘了添加var来初始化变量 有没有一种方法可以扫描我的代码并确定每个函数中哪些变量没有初始化 更好的是:有没有一种方法可以自动初始化每个函数中的所有变量?您使用过JSLint吗?它为您解析J脚本,非常有用。你可以找到在线版本 它会给你一些类似的东西: 第1行出现问题定义前使用了字符1:“count” 希望这就是你想要的你用过JSLint吗?它为您解析J脚本,非常有用。你可以找到在线版本 它会给你一些类
更好的是:有没有一种方法可以自动初始化每个函数中的所有变量?您使用过JSLint吗?它为您解析J脚本,非常有用。你可以找到在线版本 它会给你一些类似的东西: 第1行出现问题定义前使用了字符1:“count”
希望这就是你想要的你用过JSLint吗?它为您解析J脚本,非常有用。你可以找到在线版本 它会给你一些类似的东西: 第1行出现问题定义前使用了字符1:“count”
希望这就是你想要的。不,因为这取决于上下文。例如,您可以有一个全局变量callcount。将var放在任何内容中都会在本地声明它
因此,仅仅放置var声明实际上可能会破坏您的处理过程,这意味着即使您可以运行一个拾取未声明变量的程序,也只有您和程序员才能知道上下文以及声明它的正确位置。否。因为它取决于上下文。例如,您可以有一个全局变量callcount。将var放在任何内容中都会在本地声明它 因此,仅仅放置var声明实际上可能会破坏您的处理过程,这意味着即使您可以运行一个拾取未声明变量的程序,也只有您程序员才能知道上下文和声明它的正确位置。您可以使用。它会自动添加var声明。它的意思是:
function findCount(req,res, s){
count = s.length; //count was not initialized! Causes problems.
res.send(count);
}
为此:
findCount = (req, res, s) ->
count = s.length; #count was not initialized! Causes problems.
res.send count
它在Node.js社区相当流行,npm上有许多流行的软件包,其中包括Zombie.js和riak js。您可以使用它。它会自动添加var声明。它的意思是:
function findCount(req,res, s){
count = s.length; //count was not initialized! Causes problems.
res.send(count);
}
为此:
findCount = (req, res, s) ->
count = s.length; #count was not initialized! Causes problems.
res.send count
它在Node.js社区相当流行,npm上有许多流行的软件包,其中包括Zombie.js和riak js。有多少代码?在你的文本文件中进行视觉扫描或搜索是行不通的?代码太多了,所以我不想直观地检查每一行,看哪一行没有初始化。你们知道我在说什么吗?不初始化的问题causes@Owalla您意识到在启动node之前没有正确学习JavaScript是一个更大的问题。这会让你很难受,我建议你在js上学习一些学习资源。有多少代码?在你的文本文件中进行视觉扫描或搜索是行不通的?代码太多了,所以我不想直观地检查每一行,看哪一行没有初始化。你们知道我在说什么吗?不初始化的问题causes@Owalla您意识到在启动node之前没有正确学习JavaScript是一个更大的问题。我建议你在js上学习一些学习资源。我讨厌J-Script这个短语。我们写了EcmaScript:,如果你想要一个没有crockfords风格观点的工具,试试@Raynos,你会意识到你听起来像个巨魔,不是吗p jshint建议是严肃的,如果您不同意Crockford的代码风格选择,jslint有抛出错误的习惯。而短语JScript特别指的是微软在IE5和ASP时代使用的ECMAScript方言。回忆起90年代JScript不好时的糟糕记忆。@Raynos我有个主意:添加你自己的答案。我将上面的代码粘贴到JSLint和JSHint中,JSHint并没有因为诸如use strict之类的事情而困扰我;在逗号之间加空格。我讨厌J-Script这个短语。我们写了EcmaScript:,如果你想要一个没有crockfords风格观点的工具,试试@Raynos,你会意识到你听起来像个巨魔,不是吗p jshint建议是严肃的,如果您不同意Crockford的代码风格选择,jslint有抛出错误的习惯。而短语JScript特别指的是微软在IE5和ASP时代使用的ECMAScript方言。回忆起90年代JScript不好时的糟糕记忆。@Raynos我有个主意:添加你自己的答案。我将上面的代码粘贴到JSLint和JSHint中,JSHint并没有因为诸如use strict之类的事情而困扰我;在逗号之间加空格。我不使用任何全局变量。我不使用任何全局变量