当我调用函数“meanValue”
时,Intellisense几乎停止工作我想我缩小了范围,但我无法弄明白。显然函数“meanValue”有问题,因为在我在另一个函数中调用它之后,所有形式的intellisense都停止工作......这是我的代码。在调用meanValue函数后,Intellisense对函数测试中的所有内容都不起作用...
我不知道meanValue函数对我好吗? // 编辑:我把它缩小了。显然我所拥有的任何函数If(arr [0] .length)类型的语法,它几乎失败了。有一点需要注意的是函数运行正常并且调试正常但是由于某种原因,intellisense不喜欢这样。
任何人都知道另外一种方法来检查是否定义了某些内容?我想检查一下我正在看什么类型的数组,如果它是一个多维数组。
谢谢! //
<script language="javascript" type="text/javascript">
function meanValue(arr) {
var mean;
var sum = 0;
if (arr[0].length) {
for (var j = 0; j < arr[0].length; j++) {
sum += arr[0][j];
}
mean = (sum) / arr[0].length;
}
else {
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
mean = (sum) / arr.length;
}
return mean;
}
function test(a, b) {
var testing = 5;
var oranges = meanValue(a);
}
var a = [1, 3, 4];
var b = [4, 5, 6];
</script>
答案 0 :(得分:1)
在test()中,你有一个变量测试,在=之后没有任何分配给它。这可能是其中一个问题。
谁在调用test()?
答案 1 :(得分:0)
我能够在我的Netbeans中重现这个问题。
问题似乎源于在某个文件中将两种语言混合用于某些IDE。 (这是一个带有一些Javascript的.php文件吗?)
出于某种原因,IDE智能感知引擎正试图解析该代码块中的小于(&lt;)符号,就像它试图验证XML一样,Javascript不是。所以,当然,它失败了。
尝试将该代码包装在[CDATA - 它应解决问题。
所以上面的例子,修改过,将是:
<script language="javascript" type="text/javascript">
//<![CDATA[
function meanValue(arr) {
var mean;
var sum = 0;
if (arr[0].length) {
for (var j = 0 ; j < arr[0].length ; j++)
{
sum += arr[0][j];
}
mean = (sum) / arr[0].length;
}
else
{
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
mean = (sum) / arr.length;
}
return mean;
}
function test(a, b) {
var testing = 5;
var oranges = meanValue(a);
}
var a = [1, 3, 4];
var b = [4, 5, 6];
//]]>
</script>