簡體   English   中英

使用簡單JavaScript繼承定義的文檔方法

[英]Document methods defined using Simple JavaScript Inheritance

我正在使用John Resig的Simple JavaScript Inhertance定義類,並使用JSDoc的@lends@constructs注釋對其進行記錄,但是NetBeans不提供代碼完成功能。 這適用於我使用命名空間定義的模塊,因為我直接引用了它們。 這是一個簡單類的示例:

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中提供代碼完成功能?

NetBeans仍然不支持@lends@constructs@memborOf或類似的標簽。 它們設置為7.4和8.0,但是我不相信它們會很快實現,因為從7.0左右開始報告它們。 兩種解決方法中的第二種將與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注釋,此方法也可以使用。

最新版本(在撰寫本文時)是NetBeans 7.3 Beta 2 它支持JavaScript自動完成和調試。 它也將在Chrome中運行,並提供NetBeans與Chrome之間的往返更新。 您應該看看這是否對您的JavaScript開發工作有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM