html文档中多个script标签之间的联系

意识模糊 2013-07-12 02:00:58

<script>
var str = 'variable';
</script>
<script>
console.log(str + 'test1');
var ab = null;
var length = ab.length;
console.log(str + 'test1');
</script>
<script>
console.log(str + 'test2');
</script>

谁能解释一下多个script标签的联系,从网上找的资料说是多个script是一个整体,代码也验证了这一点,但是为什么第三个标签的代码能够执行??
还有线上环境出现一个问题,代码和上面的类似,但是结果却不一样:第二个标签出现错误会导致阻塞第三个标签的执行,修复第二个标签的错误后第三个标签才能执行!!
...全文
473 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2013-07-12
  • 打赏
  • 举报
回复
2个标签块有引用关系吧,如第一个定义了某个插件,报错了,插件就没有注册,第二个使用第一个注册插件,肯定出错了

用$(function(){})注册的ready事件是循序执行,一个出错后后面注册的事件不会继续执行。。

和这个模式差不多

<script type="text/javascript">
function a(){alert('a')}
</script>
<script type="text/javascript">
function b(){alert(m)}
</script>
<script type="text/javascript">
function c(){alert('c')}
</script>
<script type="text/javascript">
function call(){
a()
b()
c()
}
call()
</script>
意识模糊 2013-07-12
  • 打赏
  • 举报
回复

<script>
$(function(){
    var brands = null;    
    var filter_brand_ids = [];
    var count = brands.length;
    ...........
</script>
<script>
$(function(){
        $(".img>li").hover(
        function () {
            $(this).find("div>.star").css("display","block");
            $(this).find("div>.link").css("display","block");
            $(this).addClass("hover");
        },
        function () {
            $(this).find("div>.link").css("display","none");
            $(this).removeClass("hover");
        });
});
</script>
这是线上的代码,如果修复var brands = null;var count = brands.length;这个错误第二个标签的代码是起作用的,把第二个标签的代码直接在chrome控制台输入也能生效,是什么原因导致第二个标签的代码不生效啊!
意识模糊 2013-07-12
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
每个标签是独立的,一个标签中的错误不会影响到另外一个
现在问题是线上的第二个出现错误标签影响到了第三个标签的执行,如果把第二个标签修复了第三个标签的代码又能执行了!!和测试的代码不一样!!
Go 旅城通票 2013-07-12
  • 打赏
  • 举报
回复
每个标签是独立的,一个标签中的错误不会影响到另外一个
Acesidonu 2013-07-12
  • 打赏
  • 举报
回复
可以看成一个标签
意识模糊 2013-07-12
  • 打赏
  • 举报
回复

<script>
var str = 'variable';
</script>
<script>
console.log(str);
var ab = null;
var length = ab.length;
console.log(str + 'test1');
</script>
<script>
console.log(str + 'test2');
</script>
这样会比较清晰

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧