摘要: javascript中作用域链应该是比较抽象的,因为它有别于原型链,作用域链在执行环境和非执行环境是不同的。函数在声明的时候,会创建一个作用域链。此时的作用域链有两部分,一部分是全局作用域,另一部分是这个函数可以访问到的其他作用域(此时没有包含自身作用域的变量对象)这个作用域链被保存在[[scope 阅读全文
posted @ 2018-03-09 11:11 就是咩咩羊呀 阅读(196) 评论(0) 推荐(0) 编辑
摘要: this对象是在运行时基于函数执行环境绑定的,在全局函数中,this=window,在函数被作为某个对象的方法调用时,this等于这个对象。 但是匿名函数的执行环境是全局性的 这里sayName方法return了一个匿名函数,这个匿名函数中this指向window 解决方法还是有的,我们可以把外部作 阅读全文
posted @ 2018-03-08 17:05 就是咩咩羊呀 阅读(6121) 评论(0) 推荐(1) 编辑
摘要: 1. 原型链继承 先回顾一下构造函数,原型和实例的关系:每一个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,实例都包含一个指向原型对象 的内部指针。如果我们让原型对象等于另一个类型的实例,就形成了一条原型链。 讲再多都没有一张图来的明白 顺着__proto__就是我们说的原型链啦。 阅读全文
posted @ 2018-03-08 11:32 就是咩咩羊呀 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 今天在梳理小红书第六章内容,顺便记录一下把 1.工厂模式 工厂模式的具体工作就是 var person1 = new Object() person1.name = 'Nicholas' person1.age = 33 和直接创建person1 并无多少差别,只是封装到了Person函数中,并没有 阅读全文
posted @ 2018-03-07 16:54 就是咩咩羊呀 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 今天在复习小红书原型链内容的时候 关于instanceof操作符产生了疑惑。 在网上搜了一下instanceof的定义:instanceof 运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另一个要检测对象的原型链上 比如 A instanceof B 就是看 B.protot 阅读全文
posted @ 2018-03-06 17:11 就是咩咩羊呀 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 我们在探究 Function 和 Object 的关系之前。可以先不讨论 Object的特殊性,先考虑Function的特殊性。 我们在 小红书数据类型一章讲到 Object 通过对象直面量和 通过构造函数的方式创建的 对象实例是有差别的。我们先通过代码来感受一下这些差别 明显可以看出,通过构造函数 阅读全文
posted @ 2018-03-06 15:25 就是咩咩羊呀 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 今天在复习小红书创建对象一节的时候。里面讲到new操作符的工作原理,但是按照小红书的逻辑来出了点问题。 书中说 new操作符一共三步,按照书里的步骤 代码如下 但是明显 通过New1 实例化的person2并没有指向 Person 的原型 所以我们尝试在New1函数中添加一步,即将新建对象指向Per 阅读全文
posted @ 2018-03-06 13:46 就是咩咩羊呀 阅读(1214) 评论(0) 推荐(0) 编辑