原文:JS的预编译和执行顺序 详析(及全局与局部变量)

最近在复习javascript的事件处理时发现了一个问题,于是总结一下:javascript的预编译和执行顺序的问题: 当我更改了代码中红色的部分后得到的结果又不相同: 于是,得出这两种不同的结果那是因为javascript代码在运行时有预编译和执行两个阶段,在预编译阶段会对函数和变量进行处理,对所有的声明变量会赋值为underfined,对所有的声明函数也会赋值为函数的定义。 下面我们来测试ja ...

2015-07-08 10:43 16 7602 推荐指数:

查看详情

JS全局变量局部变量

一句话概括:在函数外声明的变量都为全局变量,在函数内声明的为局部变量。 一、局部变量全局变量重名会覆盖全局变量 var a = 1; function test1() { var a = 2; alert(a); } test1();// 2 这里的函数中的定义的a是局部变量,它的作用域 ...

Wed Dec 05 04:38:00 CST 2018 0 1501
js全局访问局部变量

1、   在函数内使用this.name(变量名)的方式赋值,当函数作为普通函数调用时,在函数外部可以直接访问到,这是因为这里的this指向window:   当函数作为方法函数调用时,情况又有所不同,这时候this指向发生变化,指向自身: 2、 ...

Sat Jun 18 19:17:00 CST 2016 0 1712
js中的局部变量全局变量

javascript有两种变量局部变量全局变量。当然,我们这篇文章是帮助大家真正的区别这两种变量。 首先,局部变量是指只能在本变量声明的函数内部调用。全局变量时整个代码中都可以调用的变量。当然,单单从字面上理解肯定是不清楚的,下面我详细的介绍下: 大家都知道,变量是需要用var关键字声明 ...

Wed Mar 08 08:30:00 CST 2017 0 3767
JS局部变量全局变量新解

就是这种盲目无原理依据的研究测试弄晕了我, 有必要这么做吗? 其实理解了原理就没必要搞这么多一个一个的试, 然后得出规律, ECMAScript规则都已经定义好了.var的规则是: 使用var声明变量就是内部变量, 否则就是先调用全局变量, 不管多少层函数.this的规则是: method函数里 ...

Sat Dec 29 19:25:00 CST 2012 0 4611
js全局变量局部变量

运行结果 undefined 运行结果 guanxi 代码分析 function内 加上var 代表局部变量,声明的局部变量名称和外部的全局变量名称相同,但是与外部的i是没有关系的,只是名称相同而已,所以alert(i)在,局部变量定义之前会输出 ...

Tue Nov 22 19:55:00 CST 2016 0 9614
js 关于全局变量局部变量的简单理解

1.简单来说在 函数里边定义的变量局部变量,在函数外边访问不到; 全局变量是在函数外边的,在函数内外都可以被访问; 说明: 因为a 是全局变量所以在函数内部可以被访问且被赋值;第一次打印结果为10; 执行函数后a的值变为100 ...

Fri Dec 28 05:19:00 CST 2018 0 3643
全局变量局部变量重名

函数内部定义的局部变量全局变量重名时,函数在使用该变量的时候会以局部变量覆盖全局变量。也就是只有局部变量会起效果。在此定义域中赋值等操作时都不会使用到全局变量。 在main函数或其他函数里定义了局部变量,同时同名的全局变量同时也存在,当调用一个使用了该变量的函数(该变量在此函数中 ...

Fri Mar 11 03:44:00 CST 2016 0 4855
局部变量全局变量的区别

背景:上午看书阅及这两对概念,有很多相似之处,故记之。 一. 局部变量&全局变量   1 局部变量:“在函数内定义的变量”,       即在一个函数内部定义的变量,只在本函数范围内有效。   2 全局变量:“在函数外定义的变量”,       即从定义变量的位置到本源文件结束 ...

Tue May 16 21:42:00 CST 2017 0 45766
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM