javascript 要在同一个script标签内才能调取到函数?

<scripttype="text/javascript">a();</script><scripttype="text/javascript">functiona(){... <script type="text/javascript">
a();
</script>
<script type="text/javascript">
function a() { alert("a");};
</script>
以上这种方法是不会有反应的,但是如果合并成
<script type="text/javascript">
a();
function a() { alert("a");};
</script>
或者调换顺序
<script type="text/javascript">
function a() { alert("a");};
</script>
<script type="text/javascript">
a();
</script>
都会调取函数成功,为什么第一种情况不行?
展开
 我来答
千锋教育
2015-11-12 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
不用在同一个script标签内,JS是按块加载的,每个<script/>标签作为一块。加载完成后,就可以调用的到。

第一种情况:第一块加载完成后,第二块还未加载,第一块就调用了第二块中的方法,所以调用失败。
第二种情况:在一个块内,都加载完成后调用,所以调用成功。
第三种情况:第一块下加载完方法,第二块再加载完毕,可以成功调用第一块已加载完的方法

函数只要是在同过一个页面就可以调用 (包含引入的远程文件。)
比如有一些网站使用的是远程的jquery库 同样在页面中可以使用jquery的方法这个就是一个典型的例子。
xep0825
推荐于2016-08-17 · TA获得超过623个赞
知道小有建树答主
回答量:379
采纳率:100%
帮助的人:512万
展开全部
JS是按块加载的.每个<script/>标签作为一块.

加载完成后,就可以调用的到.
第一种情况下,第一块加载完成后,第二块还未加载,第一块就调用了第二块中的方法,所以调用失败
第二种情况,在一个块内,都加载完成后调用,所以调用成功.
第三种情况,第一块下加载完方法,第二块再加载完毕,可以成功调用第一块已加载完的方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpcn04
2013-07-09 · TA获得超过965个赞
知道大有可为答主
回答量:2978
采纳率:0%
帮助的人:1592万
展开全部
没有这样的说法。
第一种是因为分开的标签导致的a还没有生成。
所以你在a生成之前调用的话就报错了。

如果在一个标签内,浏览器会自动帮你处理。

所以一般写js的时候都是先把用的方法先引用,然后在调用。
不然就会出现你所出现的问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式