2

是否可以在 Visual Studio 2008 的 javascript intellisense 下拉列表中隐藏某些函数/字段?通过javascript文档XML或以某种方式命名私有?

<private />在 jquery vsdoc 文件中看到过,这正是暗示了这种行为,但不符合我的期望

{
    __hiddenField: 0,
    /// <private />
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

但是由于字段不能包含文档(因为它们没有正文),因此必须在顶部记录它们。但仍然不起作用:

{
    /// <field name="__hiddenField" type="Number" private="true">PRIVATE USE</field>
    __hiddenField: 0,
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

不可能是一个完全可能的答案,如果您知道它实际上是不可能的,它将被接受。

4

2 回答 2

1

我不确定如何从智能感知中隐藏它,但你总是可以使用闭包来完全隐藏变量,如下所示:

(function(){
    var hiddenField = 0;

    // not sure how you're defining your object; 
    // I'll just assume a global variable
    window.something = {
        increment: function(){
            /// <summary>Increments a private variable</summary>
            hiddenField++;
        }
    }
})();

这会围绕您的定义创建一个匿名函数,因此 window.something.increment() 将起作用,并且“hiddenField”是真正隐藏的。

于 2010-03-25T05:40:40.283 回答
0

我认为要将函数/字段设为私有,您应该在其名称前添加一个连字符。

_increment: function(){
    /// <summary>Increments a private variable</summary>
    __hiddenField++;
}
于 2009-11-19T09:26:17.427 回答