关于javascript词法分析的自己的理解。
来源:互联网 发布:淘宝上的车秒贷靠谱吗 编辑:程序博客网 时间:2024/04/28 11:56
关于javascript词法分析的自己的理解。
例子一:
var d = “b”;
function a(b){
function b(b){
alert(b);
}
alert(b);
b(d);
}
a(1);
//最大外层分析阶段
oa.d = function a(b);
//执行的时候 oa.d = “b”;
当执行到a(1)时;
分析a(1)层
没有var声明变量
oa.b = undif
oa.b = funtion a(b);
//执行阶段
//函数体里面的所有变量都是先在所属层级oa里面先查找有没有对应的属性,如果有则就是这个属性值,如果没有
则继续向外层oa上寻找知道找到位置,这就是函数作用于的原理。直到找到最顶级oa。如果依然没有找到就报错。
弹出oa.b的funtion
执行到b(a)时进入
里层分析阶段
里层的oa
l_oa.b = undif
l_oa.b = d变量,a变量在当前oa属性里面找不到,继续向外层oa上寻找,在最外层oa上找到oa.d = “b”;
所以l_oa.b = 最外层oa.d = “b”;
没有var 声明,也没有funtion声明
执行alert(b),先查看里层oa,l_oa上有没有b属性,找到l_oa.b = 嘴外层oa.d = “b”所以就输 l_oa.b = “b”;
例子二:
var b = “b”;
function a(b){
function b(){
alert(b);
}
alert(b);
b();
}
a(1);
//外层分析阶段
oa.b = undif
oa.b = 1
没有var声明变量
oa.b = funtion;
//执行阶段
//函数体里面的所有变量都是先在所属层级oa里面先查找有没有对应的属性,如果有则就是这个属性值,如果没有
则继续向外层oa上寻找知道找到位置,这就是函数作用于的原理。直到找到最顶级oa。如果依然没有找到就报错。
弹出oa.b的funtion
执行到b(b)时进入
里层分析阶段
里层的oa
l_oa.b = undif
l_oa.b = 外层oa.b
执行alert(b),先查看里层oa,l_oa上有没有b属性,没有查找到l_oa.b ,继续向外层查找外层oa.b,找到外层oa.b属性
所有就输出外层oa.b 的funtion;
例子三:
var b = “b”;
function a(b){
function b(b){
alert(b);
}
alert(b);
b(b);
}
a(1);
//外层分析阶段
oa.b = undif
oa.b = 1
没有var声明变量
oa.b = funtion;
//执行阶段
//函数体里面的所有变量都是先在所属层级oa里面先查找有没有对应的属性,如果有则就是这个属性值,如果没有
则继续向外层oa上寻找知道找到位置,这就是函数作用于的原理。直到找到最顶级oa。如果依然没有找到就报错。
弹出oa.b的funtion
执行到b(b)时进入
里层分析阶段
里层的oa
l_oa.b = undif
l_oa.b = 外层oa.b
执行alert(b),先查看里层oa,l_oa上有没有b属性,查找到l_oa.b属性且 = 外层oa.b
所有就输出外层oa.b 的funtion;
- 关于javascript词法分析的自己的理解。
- javascript词法分析自己的个人理解。
- 再谈javascript的词法分析
- 关于词法分析的一点总结
- JavaScript的词法结构
- JavaScript的this词法
- JavaScript的词法结构
- C++ 的词法分析
- C++ 的词法分析
- c++ 的词法分析
- js的词法分析
- JavaScript的词法作用域
- javascript的词法作用域
- C++ 的词法分析[转]
- 一个词法分析的题目
- JFlex 的词法分析说明
- 转:C++ 的词法分析
- 简单的词法分析程序
- haproxy 规则匹配到了就停止,不会继续匹配下一个
- Java设计模式之四——代理模式
- 二叉树中序遍历-lintcode
- JS获取表格单元格坐标及给指定单元格赋值
- 计算机网络整理(谢希仁版)
- 关于javascript词法分析的自己的理解。
- ui--UITabBarController
- tomcat7关键配置和线程
- 网易MySQL数据库工程师微专业学习笔记(一)
- kmp算法&&学习感想
- [嵌入式]Cortex-A8处理器编程(中)
- javascript词法分析自己的个人理解。
- 一小时包教会 —— webpack 入门指南
- NYOJ42 一笔画问题(欧拉路+并查集)