为什么JavaScript Intellisense在Visual Studio 2012中并不总是有效?

Dar*_*Lom 0 javascript intellisense javascript-intellisense windows-8 visual-studio-2012

我正在使用Visual Studio 2012并构建JavaScript Windows应用商店应用.

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

var ctl=document.getElementById("txtName").winControl;
Run Code Online (Sandbox Code Playgroud)

虽然其他项目显示,但"winControl"项目不会出现在intellisense中,但它仍然有效.这行中的"srcElement"也是如此:

var nameInput = eventInfo.srcElement;
Run Code Online (Sandbox Code Playgroud)

这是预期还是我错过了什么?

Nor*_*ard 5

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

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

window.onclick = myFunc;

myFunc("Bob");
Run Code Online (Sandbox Code Playgroud)

什么是IDE应该做的,以及应该evt具有哪些属性?

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

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