0

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

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

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

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

var nameInput = eventInfo.srcElement;

这是可以预料的还是我错过了什么?

4

2 回答 2

5

随着您对 JavaScript 的深入了解,与强类型语言不同,要弄清楚这些值将是什么变得更加困难,除非 JavaScript 代码编写在 HTML 页面中,编辑器可以实时运行该页面.

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

window.onclick = myFunc;

myFunc("Bob");

IDE 应该做什么,应该evt有什么属性?

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

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

于 2012-12-19T18:56:40.570 回答
0

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

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

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

  • 乔丹,微软 Visual Studio 项目经理
于 2013-05-10T08:09:57.087 回答