js预解析规则
来源:互联网 发布:单片机程序怎么烧录 编辑:程序博客网 时间:2024/05/29 07:00
解析顺序如:
(1)预解析
找一些东西
var function 参数
所有的变量,在正式运行代码之前,都提前赋了一个值:未定义
(2)逐行代码解析
表达式
函数调用
函数内部再发生
{
(1)预解析
(2)逐行代码析
}
var a,b;(function(){alert(a);//undefinedalert(b);//undefinedvar a=b=3;alert(a);//3alert(b);//3})()alert(a);//undefinedalert(b);//undefined
例子分析:
具体的过程如下:
全局预解析仓库:
a=undefined
b=undefined
----------
全局逐行解析:
var a,b(只是一个声明,跳过)
-----------------------------------------------------------------------------------------
进入到了函数里面(相当于一个局部的作用域,又会进行一次预解析)
函数预解析仓库:
a=undefined
-----------
函数内部逐行解析:
alert(a);//undefined(在自己仓库中有)
alert(b);//undefined (在自己仓库里没有,就去外面找,找到了:b=undefined)
var a=b=3;//相当于var a=3,b=3 (a是局部变量,b是全局变量)
var a=3;//将a的值修改为3,注意:这里的a是局部变量,和外面的a没有关系
b=3; // 将b的值修改为3,注意:这里的b是全局变量,所以会修改外面的b的值
alert(a);//3
alert(b);//3 (b是全局变量,由于作用域链,能访问到全局变量)
到此为止:
全局的:a=undefined, b=3
函数内部的:a=3
--------------------
alert(a);//undefined (只能访问到全局的a,而访问不到函数内部的a)
alert(b);//3
- js预解析规则
- Js的初步探讨1-变量解析规则
- js中this的全面解析之绑定规则(一)
- 实例解析js中try、catch、finally的执行规则
- URL拼接规则 js解析URL中参数
- js的预解析
- js的预解析
- JS之预解析
- js的预解析
- JS预解析
- js预解析介绍
- JS预解析是什么?
- js预解析
- JS预解析
- Java规则解析
- CSV解析规则
- 变量名称解析规则
- php 路由解析规则
- extjs状态获取不到
- vector
- [php_08]php时间与日期
- js面试整理
- kibana 查询语法简单学习
- js预解析规则
- mysql5.7主从复制配置
- FTP 代理过程分析
- UVa 免费糖果(记忆化搜索)
- Qt软件开启闪屏
- 开发板设置静态ip的方法
- easyUI dataGrid 列表分页使用
- ubuntu中eclipse环境下import cv2后opencv函数调用失败问题解决办法
- [leetcode] 398. Random Pick Index