Game_Life_qc
Game_Life_qc
2016-03-18 06:36
采纳率: 55.6%
浏览 1.6k

JS函数定义与调用问题

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq_19891827
    qq_19891827 2016-03-18 07:08
    已采纳

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

    点赞 评论
  • fubo1990
    fubo1990 2016-03-18 07:16

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

    点赞 评论
  • weixin_39805244
    weixin_39805244 2020-08-12 19:24

    如果是 函数声明的方式 定义函数,则可以在函数定义前调用函数。(具体可以了解一下 JS的Lexical Environment)

    点赞 评论

相关推荐