visual studio 2015 javascript 智能感知
intellisense in visual studio 2015 javascript
我对 visual studio 中的智能感知有疑问。
例如我有这个:
var pickRandomWord = function (words) {
return words[Math.floor(Math.random() * words.length )];
};
console.log(pickRandomWord(randomWords));
然后在 return 函数中我看不到单词的长度属性。如果我输入 visual studio 2015 words.There 会出现一条消息:
intellisense was unable to determine an accurate completion list for
this expression javascript
但是如果我这样做:
var pickRandomWord = function (words) {
return words[Math.floor(Math.random() * words.length )];
};
var randomWords = ["Planet", "Worm", "Flower", "Computer"];
console.log(pickRandomWord(randomWords));
那么智能感知就可以正常工作了。然后我看到长度 属性。这是为什么?
谢谢
因为 pickRandomWord
函数不知道它将接收什么类型,所以它无法预测 'length' 属性.
至于你的第二个例子,当你准备数组 randomWords
并用它调用你的函数时,VS 将足够聪明地看到 "Ok, I will receive an array based on the implementation below."。
重要提示:Intellisense 并不总是准确并显示正确的属性。您可以尝试 Typescript - Intellisense 非常适合它(显然是由于类型)。
我对 visual studio 中的智能感知有疑问。
例如我有这个:
var pickRandomWord = function (words) {
return words[Math.floor(Math.random() * words.length )];
};
console.log(pickRandomWord(randomWords));
然后在 return 函数中我看不到单词的长度属性。如果我输入 visual studio 2015 words.There 会出现一条消息:
intellisense was unable to determine an accurate completion list for this expression javascript
但是如果我这样做:
var pickRandomWord = function (words) {
return words[Math.floor(Math.random() * words.length )];
};
var randomWords = ["Planet", "Worm", "Flower", "Computer"];
console.log(pickRandomWord(randomWords));
那么智能感知就可以正常工作了。然后我看到长度 属性。这是为什么?
谢谢
因为 pickRandomWord
函数不知道它将接收什么类型,所以它无法预测 'length' 属性.
至于你的第二个例子,当你准备数组 randomWords
并用它调用你的函数时,VS 将足够聪明地看到 "Ok, I will receive an array based on the implementation below."。
重要提示:Intellisense 并不总是准确并显示正确的属性。您可以尝试 Typescript - Intellisense 非常适合它(显然是由于类型)。