2017-08-29 115 views
1

我有一個關於Visual Studio中的intellisense的問題。intellisense在visual studio 2015 javascript

例如,我有這樣的:

var pickRandomWord = function (words) { 
    return words[Math.floor(Math.random() * words.length)]; 
}; 

console.log(pickRandomWord(randomWords)); 

然後,當在返回的功能,我不看字的長度propertie。如果我在Visual Studio 2015年鍵入words.There出現一條消息:

智能感知無法確定 準確的完成列表此表達的JavaScript

但是,如果我這樣做:

var pickRandomWord = function (words) { 
    return words[Math.floor(Math.random() * words.length)]; 
}; 

var randomWords = ["Planet", "Worm", "Flower", "Computer"]; 

console.log(pickRandomWord(randomWords)); 

然後intellisense正常工作。我看到那麼長度屬性。爲什麼是這樣?

謝謝

回答

1

因爲pickRandomWord功能不知道它會接受什麼類型的它並不能夠預測「長度」屬性。

至於你的第二個例子,當你準備陣列randomWords,並用它調用你的函數,VS會聰明地看到「好的,我會接受基於以下實施的數組。」。 重要提示:智能感知不一定準確,並顯示正確的屬性。你可以試試Typescript - Intellisense非常適合它(由於類型明顯)。

+0

奧克,謝謝你!尼斯 – LikeToDo

相關問題