示例详解JavaScript解析器的执行过程
来源:互联网 发布:手机淘宝怎样看到退货 编辑:程序博客网 时间:2024/06/06 02:03
首先:综述一下js解析器的执行过程
同作域解析顺序 1先定义->2再执行
执行调用顺序 1实例->2原型->3父原型
示例1
//示例1: function Person(name){ //1.定义一个类或就是称为函数 this.sex = '男'; this.name="我是基类的name"; this['aa']=function(){ //2.在实例上定义一个方法 console.log('这是在类实例上定义的方法:'+this.name+" "+this.sex); }}Person.prototype.aa=function(){ //3.在原型上定义一个方法 console.log('这是在原型上定义的方法:'+this.name+" "+this.sex)}//4.调用类var person1=new Person('Byron'); person1.aa();
输出
这是在类实例上定义的方法:我是基类的name 男
javascript解析器,工作详解
1.先执行定义关健字 function 以及 原型定义prototype
2.执行关健字 var 、new
3.执行persion1.aa();
3.1 实例上是否有aa的定义-> 有则执行aa || 无则到原型prototype上找aa并执行
示例2:
function Person(name){ //1.定义一个类或就是称为函数 this.sex = '男'; this.name="我是基类的name"; this['aa']=function(){ //2.在实例上定义一个方法 console.log('这是在类实例上定义的方法:'+this.name+" "+th }}Person.prototype.aa=function(){ //3.在原型上定义一个方法 console.log('这是在原型上定义的方法:'+this.name+" "+this.sex}//4.调用类var person1=new Person('Byron'); person1.aa();function Person(name){ //5.覆盖上面函数Person的定义 this.name='我是子类的name';}
输出
这是在原型上定义的方法:我是子类的name undefined
#
javascript解析器,工作详解
#
1.先执行定义关健字 function 以及 原型定义prototype2.执行关健字 var 、new 3.执行persion1.aa(); 3.1 实例上是否有aa的定义 -> 有则执行aa || 无则到原型prototype上找aa并执行(此时由于最初的Person定义已被覆盖,所以属姓sex已不存在了)
0 0
- 示例详解JavaScript解析器的执行过程
- 初识JavaScript的解析与执行过程
- 示例线程sleep执行过程解析
- 游览器中javascript的执行过程
- 游览器中javascript的执行过程
- 游览器中javascript的执行过程
- JavaScript 函数的执行过程
- sql的执行过程-解析、执行、返回
- JavaScript的解析与执行
- javascript脚本从载入浏览器到显示执行的过程解析
- javascript函数执行环境创建过程及解析
- class文件的(解析)执行过程
- 避免硬解析 的 SQL 执行过程
- js的解析与执行过程
- js的解析和执行过程
- JS 的解析与执行过程
- JS的解析与执行过程
- javascript 匿名函数的执行过程
- JQUERY 获取html标签中的属性值
- React学习中几个注意点
- poj 1980 Unit Fraction Partition 深搜剪枝
- xcode7.1更新之后使用真机调试
- 10个chrome console实用小技巧
- 示例详解JavaScript解析器的执行过程
- 黑马程序员——ios知识整理——Foundation框架(一)
- android studio中报error: Apostrophe not preceded by \错误
- iOS中的NSAlert
- 新闻、资讯类APP首页模板
- 机器学习实战-第二章
- html小白冷知识搜集
- volley总结
- <context:component-scan/>