Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用;进入“申报表”;使用NetBeans和javascript?_Javascript_Netbeans_Go To Definition - Fatal编程技术网

如何使用;进入“申报表”;使用NetBeans和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 更多信息: 正如我所

我知道我们可以在NetBeans中使用Ctrl+Click或Ctrl+B,但当我编写javascript文件时,它对我不起作用

(遗憾的是,这个问题没有答案)

我可以在导航器上看到函数,但不能使用“转到声明”

我以这种方式声明我的函数:

function anyName(params...) { ... }
我试着换成这种风格:

var anyName = function (params...) { ... }
但这也不起作用

我正在使用Netbeans 6.9.1

更多信息:

  • 正如我所说,该函数是可以识别的,因为我可以在导航器中看到它
  • 我可以使用Ctrl+O,然后搜索我的函数,当我这样做时,NetBeans可以找到它。我现在用它来代替“Go to declaration”很糟糕
  • 我注意到我也没有代码完成。按照上面的例子,如果我写“an”(Ctrl+Space),我可以看到很多函数和方法,但找不到my函数(
    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..