簡體   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