<script>
var GL0BAL = {};
function getMax(arr) {
GL0BAL.arr1 = [1,2,3,4,6,2];
return Math.max.apply(null,arr);
}
console.log(getMax(GL0BAL.arr1));
</script>
结果为
-Infinity
一开始我以为将GL0BAL.arr1 = [1,2,3,4,6,2];放在getMax()中可以形象的表示他是在本函数中使用的。而且在外面也能访问到arr1。
直到运行的时候报错-Infinity。
才发现不能放在里面,放在外面就正确了。
所以大大们你们的任务来了,
为什么放在里面就报错-Infinity,这是什么错误。
<script>
var GL0BAL = {};
GL0BAL.arr1 = [1,2,3,4,6,2]; // 这样不行?非要放在函数里面? 放在函数里面的话 当你执行getMax方法的时候,传入的参数 其实是undefined。
function getMax(arr) {
return Math.max.apply(null,arr);
}
console.log(getMax(GL0BAL.arr1));
</script>
当时想的就有问题
你放到函数里面,渲染的时候,函数getMax是没有被执行的,console.log这个控制台打印才去调用,你这时候完成传了个null,都没初始化,当然运行的时候报错-Infinity
这个错误不该犯,最基本的js知识。