javascript的词法分析

-.arguments的解释:

1.是一个对象,是一个长的很像数组的对象

二.arguments内容是什么?

1.arguments是函数运行时的实参列表

2.arguments收集的“所有”的实参,即使没有与之相对应的形参,也可以用arguments来获取任意多个的实参

3.形参与对应的arguments单元,其实是相互映射的,互相影响

4.arguments可以获取函数运行时,收到的实参个数(在多态里可以用到)

5.arguments.callee  属性代表 “当前运行的函数”

三:函数运行期内,关键的三个对象

1.AO---》本函数A上没有某属相,则继续去外层函数的AO上找,直到全局对象  叫做  作用域链

2.anguments---》 每个函数有自己的callee,但不向外层接着找 arguments 的相关属性,  即不形成链

3.this

四:js中函数的4种调用状态:

1.作为普通函数来调用,    准确的说this 为null,但被解释成windows    在后来的标准中,如果this为null  则解释为undefine

2.作为对象的方法来调用:

时间: 2024-10-21 04:34:39

javascript的词法分析的相关文章

Javascript 的词法分析

Javascript 的词法分析 过程: 1.先分析参数 2.再分析变量声明 3.分析函数声明 具体步骤: 1.函数运行前的瞬间,生成 Active Object (AO) 2. 2.1 函数声明的参数,形成AO的属性,值全部是 undefined 2.2 接受参数,形成AO相应的属性值 3.分析变量声明,如 var arg, 如果AO上还没有这个arg的属性,则添加AO属性,值是undefined 如果AO上已经有arg这个属性,则不做任何影响 4.分析函数声明,如 function foo(

Dom 事件和JavaScript的词法分析过程

dom自带了很多事件,常见的如下所示 当触发这些事件的时候,我们可以执行自定义的各种函数. 一般说来,绑定事件有3种方法. 第一种方法,直接在标签上面绑定,比如 <input id='i1' type='button' onclick='ClickOn(this)'> function ClickOn(self){ } 第二种方法,是先获取Dom对象,然后进行绑定.比如 <input id='i1' type='button' > document.getElementById('

2、JavaScript高级之词法分析

JavaScript代码自上而下执行,但是在js代码执行前,会首先进行词法分析,所以事实上,js运行要分为词法分析和执行两个阶段. 词法分析 词法分析主要分为3步: 第1步:分析形参 第2步:分析变量声明 第3步:分析函数声明 如果存在函数嵌套,则从外往内进行词法分析 具体步骤: 0:在函数执行的一瞬间,生产 Active Object(活动对象),下面简称AO 1: 1.1 函数声明的形参,形成AO的属性,默认值是undefined, 1.2 接收形参,给刚刚形成AO的属性的形参赋值 2:分析

前端——JavaScript

何谓JavaScript?它与Java有什么关系? JavaScript与HTML.CSS组合使用应用于前端开发,JavaScript是一门独立的语言,浏览器内置了JS的解释器.它除了和Java名字长得相似,没有半毛线关系. JavaScript的存在形式 1.JavaScript代码的存在形式 代码写在JS文件中,在html文件头部引入<script type"text/javascript" src="JS文件"></script> 代码

从无到有用Python创造一门属于自己的编程语言1

前言 如果你会编译原理,对其中的词法分析算法,语法分析算法足够了解,那么用什么语言来做这样的一件事情都是可以的,之所以使用Python只是因为本人会的编程语言中, Python的使用时间最长,也最得心应手.所谓性能什么的不在本文的考虑范围内, 本文主要重点是语法分析的表达式的解析,语法解析使用的是普拉特分析法,一种自顶向下的语法解析方法. 文章目录如下: 四则运算的问题 词法分析 语法分析与解释执行 参考链接 这有什么用 后记 源代码 四则运算的问题 怎么解决让代码算出以下解决结果?(假设问题代

浅谈JavaScript词法分析步骤

JavaScript代码运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数声明 具体步骤如下: 函数在运行的瞬间,生成一个活动对象(Active Object),简称AO 第一步:分析参数: 函数接收形式参数,添加到AO的属性,并且这个时候值为undefine,即AO.age=undefine 接收实参,添加到AO的属性,覆盖之前的undefine 第二步:分析变量声明:如var age;或var age=18; 如果上一步分析参数中AO还没有a

Javascript 笔记与总结(1-2)词法分析

词法分析,按顺序分析 3 样: 第 1 步:先分析参数 第 2 步:再分析变量声明 第 3 步:再分析函数声明 一个函数能使用的局部变量,就从上面 3 步分析而来. 具体步骤: 0:函数运行前的瞬间,生成 Active Object(活动对象) 1: 1.1 把函数声明的参数,形成 AO (Active Object)的属性,值全是 undefined, 1.2 接受实参形成 AO 相应属性的值 2:分析变量声明,如 var age,如果 AO 上已经有 age 属性,则不作任何影响:如果 AO

前端开发 - JavaScript 词法分析

JavaScript代码运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 1.分析函数的参数 2.分析函数的变量声明 3.分析函数的函数声明表达式 具体步骤如下: 函数在运行的瞬间,生成一个活动对象(Active Object),简称AO 第一步:分析参数: 函数接收形式参数,添加到AO的属性,并且这个时候值为undefine,即AO.age=undefine 接收实参,添加到AO的属性,覆盖之前的undefine 第二步:分析变量声明:如var age;或var age=18;

JavaScript的高级知识---词法分析

JavaScript的高级知识---词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 函数在运行的瞬间,生成一个活动对象(Active Object),简称AO 分析参数 具体步骤如下: 函数接收形式参数,添加到AO的属性,并且这个时候值为undefine,例如AO.age=undefine 接收实参,添加到AO的属性,覆盖之前的undefine 分析变量声明,如var age;或var age=23