javascript - Netbeans 导航器不显示我的 JavaScript 类方法

标签 javascript netbeans netbeans-7.3

一些背景,跳到第 2 段进入问题。我已经尝试了很多像您典型的开发人员一样的编辑器,但我一直以来最喜欢的是 Homesite/ColdFusion Studio,在它被吸收到 Dreamweaver 之前,我相信你们中的大多数人都会同意我的看法,是的.. Dreamweaver。无论如何,我一直在运行 Sublime Text 2,它没问题,但我觉得我需要更多的 IDE 而不是文本编辑器。为此,我已经使用 NetBeans 几个月了。我开始喜欢它了。在家里,我使用带有 TextMate 和 Coda 的 Mac,但我不介意完全转向 NetBeans,但是有一些问题困扰着我。最值得注意的是它的 XSL 编辑很烦人,原因有几个,其次是我一直遇到的这个 JavaScript 问题。

我喜欢使用 ctrl+click 方法等在 JavaScript 文件中跳转,alt+back 返回并能够在导航器中查看方法和类的轮廓的功能。但是我的问题是,在我的 Javascript 文件中,NetBeans 似乎无法识别我的类及其方法。我使用一种模式来编写我的单例类,这已证明对我来说是不可或缺的。我写这样的类如下:

// create class to contain code for this page
var FieldMgmt = function() {

    // vars local to the class
    var Fields = {}; // Store the form fields of the class

    return {

        // startup method
        init: function() {
            // initialize properties
            console.log('field management intialized');

            // capture the fields
            this.Fields = Fields = {
                field1: $('select[name=field1]') // field One
                ,field2: $('select[name=field2]') // field Two
                ,field3: $('select[name=field3]') // field Three
            };

            this.initEvents(); // setup events

        }

        // initialize events
        ,initEvents: function(){

        }


        // method 1
        ,method1: function(arg1, arg2){

        }

        // method 2
        ,method2: function(arg1, arg2){

        }

    }; // end return of FieldMgmt

}(); // end FieldMgmt

// start the code for this page
$(document).ready( function(doc){ FieldMgmt.init(); } );

下面是在我的导航器中显示的这个文件的图片: enter image description here

如您所见,我的方法都没有出现在导航器中,例如 initEventsmethod1method2 等。ctrl+单击方法调用也不会转到方法声明。所以 NetBeans 只是不知道这是一个类。我之前在其他编辑器(例如 NotePad++)中遇到过与此模式类似的问题,我能够通过修改用于解析文件的正则表达式让编辑器找出我的文件。

我可以在没有这个功能的情况下生存,但如果我能让它工作,那么这将是我选择的编辑器,因为这些文件可能会变得相当大,并且能够看到所有方法并通过 ctrl+click 快速跳转文件-ing 等会很棒。

我在 Windows Server 2003 上使用的是 NetBeans 7.3,所有内容都已更新到最新版本。非常感谢任何帮助。无论如何,我是否可以修改 NetBeans 以使其了解我的方法?有这方面的插件吗?提前致谢。

最佳答案

在您的示例代码中,您返回一个闭包,该闭包将名为 Fields 的变量保持为“私有(private)”,但您在 init 中做的第一件事是通过声明 this.Fields=Fields 公开它。通过发布的示例代码,您还可以将 FieldMgmt 声明为对象文字,并让 NetBeans 识别它以使其属性显示在导航器中。

var FieldMgmt = {
    init: function() {
    }
    ,initEvents: function(){
    }
    ,method1: function(arg1, arg2){
    }
    ,method2: function(arg1, arg2){
    }
};

关于javascript - Netbeans 导航器不显示我的 JavaScript 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17461068/

相关文章:

javascript - 将 HTML Canvas 用于 UI 元素?

javascript - 异步抛出 SyntaxError : Unexpected token (

java - Suprema BioMini with Java - UFLicense.dat 应该放在哪里?

java - 在 NetBeans 中创建 .JAR 很困难

java - 在 Netbeans 7.3 中配置 Java HTTP servlet

netbeans - PHP-Netbeans : How to change formatting for multi-conditional if statements

javascript - 如何理解 `constant(_), histogram`( `histogram.value`源代码的一部分)中的 `d3.histogram`?

javascript - 如果焦点函数

javascript - Netbeans javascript 评论

html - 如何强制 netbeans html 自动完成使用双引号而不是单引号?