深入探讨函数声明语句不同位置的作用域
【摘要】 关于函数声明这一块的知识点,我们在课堂上学到了有两种声明方式,但是没有说到他们的不同之处,所以我今天跟大家讨论一下,函数声明语句放在不同位置的区别:我们知道函数声明语句的位置比较灵活,既可以在任何函数外部声明,也可以在主调函数内部声明,那他们的区别是啥?一、结论区别是:写在外部——程序结构清晰明了、易扩展(任何函数都可以调用它);写在内部——只有主调函数可以调用它(作用域仅是当前主调函数),...
关于函数声明这一块的知识点,我们在课堂上学到了有两种声明方式,但是没有说到他们的不同之处,所以我今天跟大家讨论一下,函数声明语句放在不同位置的区别:
我们知道函数声明语句的位置比较灵活,既可以在任何函数外部声明,也可以在主调函数内部声明,那他们的区别是啥?
一、结论
区别是:写在外部——程序结构清晰明了、易扩展(任何函数都可以调用它);写在内部——只有主调函数可以调用它(作用域仅是当前主调函数),别的函数要想调用它,得在内部再次声明。
二、过程
首先,被调函数写在主调函数之前时,无需进行函数声明,也可正常运行。(如图)
1.当程序只有一个被调函数时:
函数声明语句写在被调函数内部还是外部,无区别。(如下面2张图)
2.当程序有多个被调函数时,
①写在主函数内部时,只有主调函数能调用,别的函数就都不可以了(如图)
②写在主函数外部时,主调函数与其他函数都能调用这个被调函数(如图)
【内部】
将被调函数的声明语句写在主调函数内部时,只有当前主调函数可以调用被调函数,别的主调函数调用被调函数时,会报错:不兼容的隐式声明函数。
在其他的主调函数中加上被调函数的函数声明语句,才可以运行。
只在主调函数中进行被调函数的声明即可。
即使不写函数声明语句,也可以执行,但是程序会给出警告:被调函数进行了隐式声明。
宁愿不写,也不可以只写在别的主调函数里,这样的话会报错(如上面倒数第三张图)
甚至,我们也可以将被调函数声明语句写在整个程序底部,但会给出警告,并且我们阅读起来不太方便,所以不推荐写在底部。
【外部】
将被调函数的声明语句写在主调函数内部时,其他的任何主调函数都可以调用该被调函数。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)