Pas*_*cal 10 javascript intellisense visual-studio-2010
假设我有以下javascript函数:
function (msg) {
var divForResult = document.getElementById("test");
if (typeof (msg) == "object")
{
divForResult.innerHTML = "Result: <b>" + msg.Message + "</b>";
}
else {
divForResult.innerHTML = "Result: <b>" + msg + "</b>";
}
}
Run Code Online (Sandbox Code Playgroud)
我知道如果msg变量是一个对象,它就像Exception一样,所以我打印了Message属性.如果没有,则msg是一个字符串,我自己打印变量.我的问题是如何让Visual Studio 2010 JavaScript IntelliSense"知道"msg对象的类型,以便在这种情况下我能获得对象类型的正确属性/函数?
Mat*_*ski 10
实际上它并不局限于局部变量.你可以通过使用像这样的xml注释来帮助VS:
function foo(message) {
/// <param name="message" type="String"></param>
message. //ctr+space here
}
Run Code Online (Sandbox Code Playgroud)
它并不完全是你所要求的,但是当你只接受一种类型的论证时它会很有效.
不幸的是,Visual Studio的" 伪执行 "JavaScript为了提供更好的Intellisense支持仍然不够全面.
例如,我写了这个小函数:
var foo = function(obj) {
if (typeof obj === "string") {
// presumably Intellisense should know obj is a string
// in this compound statement but it doesn't.
// try "obj." here
}
if ((typeof obj === "object") && (obj.constructor === Date)) {
// presumably Intellisense should know obj is a Date
// in this compound statement but it doesn't.
// try "obj." here
}
};
Run Code Online (Sandbox Code Playgroud)
如果你试一试VS2010并没有注意到在这两个条款中我试图限制传入对象的类型,因此它可以提供更好的建议.因此,似乎Intellisense非常局限于局部变量.
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |