我已经成功地让JavaScript智能感知正确地工作在像这样定义'类'原型的情况下:
function GetCustomerList()
{
}
GetCustomerList.prototype =
{
HEADER: {
RETURN_CODE: 0,
RETURN_MESSAGE: "",
}
,
NUM_RECORDS: 0,
START_RECORD: 0,
END_RECORD: 0
};
我可以输入一些类似这样的内容:
var req = new GetCustomerList();
req.HEADER.RETURN_CODE = 100;
Visual Studio的智能感知知道HEADER属性,以及自己的属性名为'RETURN_CODE'和'RETURN_MESSAGE'。我可以这样做:
req.NUM_RECORDS = 50;
拥有完美的 IntelliSense。
所以 IntelliSense 可以与复杂嵌套类型一起使用 - 很棒。但是,是否可以在复杂类型的数组中获得 IntelliSense 呢?
例如:
function Customer()
Customer.prototype = {
NAME: "",
ADDRESS: "",
ID: 0
};
function GetCustomerList()
{
}
GetCustomerList.prototype =
{
HEADER: {
RETURN_CODE: 0,
RETURN_MESSAGE: "",
}
,
NUM_RECORDS: 0,
START_RECORD: 0,
END_RECORD: 0,
CUSTOMERS: [ new CUSTOMER() ]
};
我有一个“CUSTOMER”类型的数组,我还为它定义了原型。我想这样输入:
req.CUSTOMER[ 0 ].NAME
我能否通过智能感知让“NAME”成为该数组可用的属性?
这个可能吗?