2 game life qc Game_Life_qc 于 2016.03.18 14:36 提问

JS函数定义与调用问题

书上说如果在函数定义之前调用函数,执行会出错,可是我自己打代码并没有出错,这是为什么??图片说明

2个回答

qq_19891827
qq_19891827   2016.03.18 15:08
已采纳

这种说法是不对的,那要看你定义函数的方式而定
1、function a(){}
以这种方式定义函数无论定义在调用前后都不会出错。
2. var a=function(){}
以这种方式定义的函数就如书中所说的必须定义在调用前,否则会出错。
会出现这两种不同结果的原因是函数的声明提前导致的。
另外提一点,看你的书上的说法,感觉你的书已经比较老了,有些说法已经过时了,现在不适用了。建议换些最近出版的外文翻译版来看看,这方面来说外国人的观点还是更有说服力的。

qq_19891827
qq_19891827 回复Game_Life_qc: 慢慢看呗,要有信心,好书都这样的
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 看网上说那本是工具书呀1k+页,真不知道我能不能看完![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/64.gif)
一年多之前 回复
qq_19891827
qq_19891827 回复Game_Life_qc: JavaScript权威指南,俗称‘犀牛书’,百度可以查到的,业界很有名的书。喜欢请采纳谢谢
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 那有什么js书推荐的吗![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 那有什么js书推荐的吗![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 那有什么js书推荐的吗![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 那有什么js书推荐的吗![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
一年多之前 回复
Game_Life_qc
Game_Life_qc 回复qq_19891827: 那有什么js书推荐的吗![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
一年多之前 回复
fubo1990
fubo1990   2016.03.18 15:16

我觉得你理解错了。调用的前后和你定义函数的位置前后没有关系。页面一进来首先会加载js脚本,但不会调用。当你触发相应事件才会调用相应方法
比如:
点击
<br> function clickMe(){<br> alert(&quot;hello&quot;);<br> }<br> <script><br> 这样不会报错,因为你只有点击按钮时才去找这个方法。是在页面加载以后的操作。而页面加载完后,这个方法已经定义了。</p>

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!