我无法将包含十进制值的数组返回给变量:
function foo() {
var coords = new Array(39.3,18.2);
console.log(coords[1]); //successfully logs 18.2
return coords;
}
但是......
var result = foo();
alert(result[0]);
最后一个抛出此错误: 未捕获的TypeError:无法读取未定义的属性“0”
答案 0 :(得分:4)
您需要在警报函数的参数周围添加括号。
alert(result[0]);
答案 1 :(得分:2)
正如其他人所提到的,警报是一种功能,需要括号
alert(result[0])
尽管如此,还有一些需要注意的要点:
1)使用数组文字语法而不是new Array
var coords = [1.23, 3.45];
它的速度更快,新阵列有一些边缘情况。
2)大多数浏览器都有开发人员工具(通常可以通过F12访问)。这允许您使用更方便的console.log而不是alert。
答案 2 :(得分:0)
问题是警告声明周围缺少括号
试
alert (result[0]);