因为是初学者,问题比较多.首先感谢热心的朋友们给予我指点,十分的感激你们.
这次遇到的疑惑是:setTimeout() 中加不加''的问题.
我在setTimeout() 中调用函数名为fun1的函数,两种方法,
1,不带引号写函数名fun1,
2,带引号时需要写fun1();
这里面的原理是什么呢?
或者指点我一下,去看哪本书的哪个副本能把这个问题理解清楚.再次感谢!
补充:
我之前做了一个实验,当时的理解是,不带()是返回了一个函数指针,带()是返回函数计算后的返回值.所以=fun()会使fun函数自动执行一次,而=fun并不会使fun函数执行.所以在setTimeout中始终会写"fun()"而不是"fun",因为我觉得写成"fun"的时候,给setTimeout的是一个指针而不是函数计算后的返回值.但是在后来的试验中,发现直接写成setTimeout(fun,1000)不带引号和括号也是可以调用函数的,所以有点蒙了,不明白这里是什么原理. |