是否是,加载js的时候setTimeout(send(), 3000); 里send这个函数就执行一次。不会依照顺序来。
而setTimeout(send, 3000);则是按正常的上下顺序来?
这是setTimeout定义:
定义和用法
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
语法
setTimeout(code,millisec)
参数
描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
//-------------------------
code调用运行机制:
当code为字符串时,会执行里面的字符串
当为函数名称时,会执行函数,但是不会再执行函数的字符串返回值
当为函数名称+括号时,会执行函数,并且也执行函数的返回值。
下面的例子可以帮助理解这种机制:
运行之后会发现,第一种调用只执行了函数,而没有执行函数的返回值,第二种除了执行了函数,还执行了函数以字符串形式的返回值.
由此可以归纳:
1. 需要连函数的返回值都要执行的话才用带括号的形式.这个前提是函数的返回值是字符串形式.这样的形式相当于调用了一个动态函数.