Script 代码段
script代码段
1、script代码段的执行
在Javascript代码中,可以使用script作为基本标识,script代码段在运行过程中是分段解析与执行的。

2、script代码段执行流程
在Javascript代码中,script标签是分段解析与执行的,也就是说先执行第一段script代码,然后解析与执行完毕后在执行第二个script代码,依次类推:
1)读入第一个代码段
2)编译
声明变量、声明函数、语法检查、语义检查、代码优化、分析并得到代码树。
3)执行
变量的赋值,函数的调用,代码的执行都是发生在执行阶段。
例如:var i = 10这样一行代码,要经历两个阶段(编译与执行)
编译阶段:声明变量var i = undefined;
执行阶段:i = 10;
4)读入下一个代码段
5)编译
6)执行
7)……
8)结束
3、编译错误与执行错误对当前代码段的影响
1)编译错误:在编译时发生的错误就是编译错误

运行结果:直接报错
由此可以得出结论:如果在script代码段中发生编译错误,其对整个当前script代码段是致命的。
2)执行错误:在执行时发生的错误就是执行错误

运行结果:弹出10,然后报错
由此可以得出结论:当执行错误发生时只会对当前代码下面的代码有影响而不会对上面的代码产生任何影响。
4、编译错误与执行错误对下一个script代码段的影响
1)编译错误对下一个script代码段的影响

运行结果:可以正常弹出world
由此可以得出结论:编译错误只对当前script代码段有影响而对下一个script代码段没有任何影响。
2)执行错误对下一个script代码段的影响

运行结果:弹出world
由此可以得出结论:执行错误也只会对当前script代码段下面的代码有影响,但是不会对下一个script代码段产生任何影响。
综上所述:无论是编译错误还是执行错误都只会对当前script代码段有影响而不会对下一个script代码段有任何影响,因为Javascript中的script代码段是分段解析与执行的。
5、script执行原理图

Script 代码段的更多相关文章
- 有一段<script>代码,效果是点击<p>就会弹出信息,但是有的<p>点击会有效果,有的没有效果
问题:有一段<script>代码,效果是点击<p>就会弹出信息,但是有的<p>点击会有效果,有的没有效果 解决: 页面代码是至上而下执行的,如果你的这个标签在< ...
- js 如何保存代码段并执行以及动态加载script
1.模块化开发 通常使用的是 export和import 实现代码的共享和导入 2.特殊情况下需要将代码段作为参数传递 可以使用function 的toString方法将整合函数和里面的代码批量转化为 ...
- 让 innerHTML 进来的 script 代码跑起来
今天来简单聊聊如何让 innerHTML 进来的 scrip 代码跑起来的问题. 前台请求一个接口,接口返回一些 HTML 标签拼接成的字符串,以供前端直接 innerHTML 生成 DOM 元素,这 ...
- 50个必备的实用jQuery代码段
本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一些则是真正有用的函数或方法,他们能够帮助 ...
- 实用的JS代码段(表单篇)
整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onloa ...
- 利用sublime的snippet功能快速创建代码段
在前端开发中我们经常会输入相同的一些基本代码,例如常用的jquery引用,bootstrap框架,cssreset等等,如果每次使用时在复制粘贴感觉很麻烦,这里介绍一种更为简洁的方法 利用sublim ...
- 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段 本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从j ...
- chrome小书签-实用的小功能-javascript代码段
1.打印页面的所有脚本引用文件及代码段: javascript:var scriptarray=document.getElementsByTagName("script");fo ...
- sublime自定义代码段
打开tools>developer>new snippet 默认代码 <snippet> <content><![CDATA[ Hello, ${1:this ...
随机推荐
- 【M3】绝对不要以多态方式处理数组
1.考虑下面的情况,有个方法,如下: void Print(ostream& s, const Base array[], int size) { for(int i=0; i< siz ...
- Codeforces Bubble Cup 8 - Finals [Online Mirror] D. Tablecity 数学题
D. Tablecity Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/D ...
- MYSQL-- binlog事件详解
mysqlbinlog -vvv log.000001 # at # :: server id end_log_pos CRC32 sequence_number= SET @@SESSION.GTI ...
- 简化LINUX的命令输入 简化linux命令
在LINUX中,有很多常用的命令,常用的命令我们可以熟练的记忆,但是对于不经常使用的命令恐怕是需要翻阅手册了,但是我们可以简化这些命令的输入来达到简便记忆的效果. 这里以BSH为例: 编辑/etc/b ...
- iOS之Storyboard References
如果你曾经使用 interface builder 创建过一个复杂.界面非常多的应用,你就会明白最后那些Storyboards 文件变的有多大.他会迅速变的无法管理,阻碍你的进度.自从引入 Story ...
- android源码编译常见错误
错误1:You are attempting to build on a 32-bit system. Only 64-bit build environments are supported bey ...
- 深入理解计算机系统第二版习题解答CSAPP 2.20
T2Uw(w)=x, x≥0时 T2Uw(w)=x+2w, x<0时 利用上面的公式,重新计算2.19的问题.
- phpnow升级php版本 php-5.2.14-Win32升级至5.3.5
PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22.下面来升级PHP5.3.5: 1.下载安装文件: 先下载PHP5.3.5,下载地址:php-5.3.5-Win32-V ...
- DedeCMS更新文章同步发布到新浪微博
如果在网站推广过程中能利用好微博这个工具的话,将会给网站的推广工作带来巨大的便利.下面以dede程序为例讲讲如何将网站内容自动同步到新浪微博. 在新浪微博的工具中有个自动关联博客的功能,利用好这个功能 ...
- Eclipse NDK 配置,无需安装Cygwin
Eclipse NDK 配置,不用安装Cygwin 文章转自http://www.cnblogs.com/chenjiajin/archive/2012/04/12/2444188.html 一.关于 ...