【问题标题】:Document methods defined using Simple JavaScript Inheritance使用简单 JavaScript 继承定义的文档方法
【发布时间】:2012-06-14 00:45:05
【问题描述】:

我使用John Resig's Simple JavaScript Inhertance 定义类并使用JSDoc 的@lends@constructs 注释记录它们,但NetBeans 不提供代码完成功能。这适用于我使用namespace 定义的模块,因为我直接引用它们。这是一个简单类的示例:

MyClass = Class.extend(
    /** @lends MyClass.prototype */
    {
        /** @constructs */
        init: function () {
            console.log('init');
        },

        foo: function () {
            console.log('foo');
        }
    }
);

var c = new MyClass();
c.  <-- ctrl-space only shows built-in methods like hasOwnProperty() and toString()

有谁知道记录这些类以便在 NetBeans 中使用代码完成的方法?

【问题讨论】:

    标签: javascript netbeans code-completion jsdoc


    【解决方案1】:

    NetBeans 仍然不支持@lends@constructs@memborOf 或类似标签。它们设置为 7.4 和 8.0,但我不相信它们会很快实施,因为它们是从 7.0 左右报告的。两个workarounds 中的第二个将与Class.extend() 一起工作,方法是首先将包含方法的(以前的)匿名对象分配给类。

    原型

    /** @class */
    var Canine;
    Canine = function() {};
    Canine.prototype = props;
    
    /** @type Canine */ var canine = new Canine();
    

    匿名对象

    /** @class */
    var Feline = {
        purr: function() { console.log('meow'); },
        fall: function() { console.log('landed on feet'); }
    };
    Feline = create(Feline);
    
    /** @type Feline */ var feline = new Feline();
    

    注意:即使在 NetBeans 7.4 补丁 1 中没有 @type 注释,这仍然有效。

    【讨论】:

      【解决方案2】:

      最新版本(撰写本文时)是NetBeans 7.3 Beta 2。它支持 JavaScript 自动完成和调试。它也可以在 Chrome 中工作,并提供 NetBeans 和 Chrome 之间的往返更新。您应该看看这是否有助于您的 JavaScript 开发工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-09
        • 1970-01-01
        • 2013-11-30
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 2021-08-22
        相关资源
        最近更新 更多