JS解析机制

JS解析机制

JS代码是按块被引擎预编译和解释执行的,所谓块就是标签分割的代码段。下面两个标签分别代表两个代码块。

var a = 1;

function f() {

alert(a);

}

由于JS按块执行,在一个JS块中调用后面的块中声明的变量或者函数会报语法错误。

alert(a); //提示语法错误,变量a没定义,对象f找不到

f();

var a = 1;

function f() {

alert(1);

}

虽说JS按块执行,但是不同的块都属于同一个全局作用域,即块之间的变量和函数是可以共享的。

我们可以借助事件机制改变JS执行顺序。

当文档流完全被加载完毕,再次访问就不会出现语法错误,比如将访问第二个代码块中的变量和函数的代码放在页面初始化事件函数中,就不会提示语法错误。、

window.onload = function() { //页面初始化(加载)完毕之后才执行页面初始化事件处理函数

alert(a);

f();

}

var a = 1;

function f() {

alert(a+a);

}

//除了页面初始化事件外,还可以通过各种交互事件如鼠标事件、键盘事件、时钟触发等改变JS代码执行顺序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,716评论 0 6
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,761评论 0 17
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,964评论 2 17
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 资中万寿宫胡鹏飞会算命姻缘。 算命婚姻又称八字婚姻或是婚姻算命,在旧时民俗中应用广泛,特别在旧时订婚时,男女双方要...
    小灰灰1233阅读 523评论 0 0