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