如何使用;进入“申报表”;使用NetBeans和javascript?
我知道我们可以在NetBeans中使用Ctrl+Click或Ctrl+B,但当我编写javascript文件时,它对我不起作用 (遗憾的是,这个问题没有答案) 我可以在导航器上看到函数,但不能使用“转到声明” 我以这种方式声明我的函数:如何使用;进入“申报表”;使用NetBeans和javascript?,javascript,netbeans,go-to-definition,Javascript,Netbeans,Go To Definition,我知道我们可以在NetBeans中使用Ctrl+Click或Ctrl+B,但当我编写javascript文件时,它对我不起作用 (遗憾的是,这个问题没有答案) 我可以在导航器上看到函数,但不能使用“转到声明” 我以这种方式声明我的函数: function anyName(params...) { ... } 我试着换成这种风格: var anyName = function (params...) { ... } 但这也不起作用 我正在使用Netbeans 6.9.1 更多信息: 正如我所
function anyName(params...) { ... }
我试着换成这种风格:
var anyName = function (params...) { ... }
但这也不起作用
我正在使用Netbeans 6.9.1
更多信息:
anyName
)我想我确实做错了什么,但我不知道是什么。我想简单的答案是NetBeans没有一个好的JavaScript解析器。JS是一种松散类型的语言,要“转到”函数的实际定义可能非常困难。以这些例子为例:
function callStuff(myFunc)
{
myFunc(); //Where does this go?
}
callStuff(function () { window.alert(123); });
或:
或者可能:
string s = "window.alert(123);";
var callback = Function(s);
callback(); //Now we just made a function with a string, weird..
因此,正如您所看到的,JavaScript IDE需要掌握大量关于脚本运行时执行的知识,才能准确地确定函数的定义位置。如果您使用标准语法或非常明显的函数声明,有一些IDE可以很好地伪装它,但我还没有看到在这方面有任何非常有用的东西。这很可能不是NetBeans努力支持的东西,因为它是一个以Java为中心的IDE。问题似乎在于将所有内容定义为“全局”。如果您在自己的名称空间中工作,即创建一个全局对象并在其中定义所有内容,那么Netbeans可以更好地理解代码所在的位置,还可以为您提供类型提示。是的,我知道javascript对于IDE来说不是一项容易的任务,但您不能成为一个好的、智能的解析器并不是真的,更重要的是,Go to declaration是netbeans的一个特性(也是javascript)见此:,但我不知道为什么它对我不起作用(我更新了我的问题以添加更多信息)啊,是的,看起来他们试图支持它。上一次我使用NetBeans时,各种各样的东西都坏了,我决定不再麻烦它了。当我报告这些问题时,人们说:“是的,我们知道它坏了……也许有一天我们会解决它。”
string s = "window.alert(123);";
var callback = Function(s);
callback(); //Now we just made a function with a string, weird..