繁体   English   中英

为什么JavaScript Intellisense不能始终在Visual Studio 2012中运行?

[英]Why does JavaScript Intellisense not always work in Visual Studio 2012?

我正在使用Visual Studio 2012并构建一个JavaScript Windows Store应用程序。

在大多数情况下,智能感知是有效的,但在某些方面却没有。 我只是想知道为什么。 这里有一些例子:

var ctl=document.getElementById("txtName").winControl;

尽管显示了其他项目,但“ winControl”项目并未出现在智能感知中,但仍然有效。 这行中的“ srcElement”也是如此:

var nameInput = eventInfo.srcElement;

这是意料之中的还是我缺少什么?

当您深入研究JavaScript时,与强类型语言不同,要弄清楚这些值将变得更加困难,除非将JavaScript代码编写在HTML页面内,编辑器可以实时运行该HTML代码。 。

var myFunc = function (evt) { console.log(evt); }

window.onclick = myFunc;

myFunc("Bob");

什么是IDE应该做的是,而且应该是什么性质evt有哪些?

如果JavaScript是强类型的,并且该函数只能接受Event对象或ClickEvent对象,则IDE可以确切知道期望的属性。

就像.getElementById一样-如果一个页面的<a>具有“ myEl”,而另一页面的<canvas>具有相同的ID,那么属性应该是什么?

对于为诸如JS这样的动态语言提供建议方面的困难,Norguard的观点是正确的。 为了在这种情况下提供帮助,您可以使用文档注释向Visual Studio JavaScript编辑器提供提示。 例如,我可以使用以下代码:

/// <var type="WinJS.UI.ListView"/>
var listView = document.querySelector("#listView").winControl;

// //注释会将WinJS.UI.ListView类型与我的listView变量关联。 键入listView. 然后将显示一个完成列表,其中包含有关ListView的建议。

  • 乔丹,Microsoft Visual Studio PM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM