为了账号安全,请及时绑定邮箱和手机立即绑定

关于setTimeout函数的疑问

571c9e5f0001615903940306.jpg

571c9e5f0001f10103760472.jpg

一直感觉编程是很严禁的事,怎么上节课程的setTimeout函数的第一个参数没有加引号,这节课的setTimeout函数第一个参数又加引号了呢?甚至连括号也没了(第一个参数是一个函数,函数没括号),JavaScript编程这么随意吗?

正在回答

5 回答

javascript是一种弱类型的编程语言,在编程的过程中,会遇到诸多类似的情况,例如双引号与单引号,所有变量申明都用var,有括号与没有括号,函数参数的个数等,这些现象看上去似乎不太严谨,其实应该是js已经帮我们做了很多优化,即使我们有的时候不写引号、不写括号,js会帮我们自动加上的,有的时候参数还可以缺少不写,他会帮你自动加上缺少的情况下给个默认值。这也是js的便捷之处吧。

1 回复 有任何疑惑可以回复我~
#1

晨曦_0026 提问者

非常感谢!说的很详细
2016-04-29 回复 有任何疑惑可以回复我~

加()是以字符串的方式传递的,它的作用域是全局作用域

不加()是以函数引用的方式传递。


0 回复 有任何疑惑可以回复我~

两种格式而已   这个JS这里没有规定死  不过建议你还是按照加""和()来书写  以后有别的业务要求也不会出错

0 回复 有任何疑惑可以回复我~
#1

你像书

82分
2016-05-06 回复 有任何疑惑可以回复我~

js编程这方面比较随意,要求不严,不过为了严谨,还是按标准的来

0 回复 有任何疑惑可以回复我~

我也只是知道函数带括号和不带括号的区别,至于这里为什么要加引号,可以分析一下,带括号表示要执行该函数,不带括号,表示调用该函数名所指向的方法本身而不立即执行。对于你这个疑问,其实我也想知道更详细的解释。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于setTimeout函数的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信