类似于上面这个问题?知道 f1 返回数据是什么吗?
在操作台上,掉用f1这个函数,为什么是函数那?下面跟大家讲
1、先看代码,代码上是一个函数内,定义了,一个空数组,一个循环,循环内进行了往数组内添加对象
2、然后下面开始循环,循环向数组内添加一个函数对象。如下图
所以现在arr数组内拥有是三个function
注意这里的数组不是具体值,如若想看i*i的值,需要怎么办那?
既然数组内是个函数,那么调用这个函数就可以了如 f1();
这时候就看到 i 成为4,这是什么原因那?
1.首先for是个循环,当i=1的时候,向下执行代码,就数组内添加了一个函数
注意这里的 i 是没有值的,因为循环还在继续;当 i=4 不满足条件时候,退出循环
现在数组内就存放了,三个函数对象
接下来大家调用这个函数如,下标为0的那个函数对象,返回的数值就是16;
原因就是因为上面所说的 i=4 不满足条件,但是 i 的值已经等于4了!
所以当你调用这个函数运算结果是4*4=16;
这里需要注意几个问题
第一,数组内不仅仅可以存放数字,也可以存放函数,对象等
第二,这里 i 的值不是一上去就获取的,这个 i 的值是等你执行完循环,需要调用的时候才会附上的值!因为你传进去的是个变量 i 不是一个数字 i