javascript
文章平均质量分 75
zeekCheung
这个作者很懒,什么都没留下…
展开
-
【深入JavaScript】闭包
定义《JavaScript高级程序设计》对闭包的定义:闭包指那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。e.g.:function foo () { a = 1 return function () { console.log(a) }}var bar = foo()bar() // 1思考Q1:我们知道,当调用闭包的外部函数的时候,在函数执行结束之后,函数的执行上下文就会退出执行上下文栈,活动对象的也会被销毁。那为什么在外部函数被调用之原创 2021-09-27 23:43:04 · 265 阅读 · 0 评论 -
【深入JavaScript】 函数执行过程与作用域链
函数执行过程与作用域链执行上下文在调用函数的之后,在函数执行之前,需要创建一个执行上下文。这个执行上下文有三个重要属性:作用域链变量对象this作用域链与变量对象当代码执行,解析标识符(查找变量) 的时候,首先从当前的变量对象(活动对象 )中搜索,如果没有找到,就会往后逐层搜索各个父级执行上下文的变量对象,直到全局上下文的变量对象——全局对象。这个由各级执行上下文的变量对象组成的链表就是作用域链。函数从创建到执行的七个过程前言因为在函数执行之前,需要创建它的执行上下文原创 2021-09-26 23:34:23 · 188 阅读 · 0 评论 -
【深入JavaScript】继承
继承原型链ECMA-262 把原型链定义为 ECMAScript 的主要继承方式基本思想:通过原型继承多个引用类型的属性和方法实现方式:子类的原型对象是父类的实例存在问题:a) 引用类型的属性会在子类实例中共享b) 子类在实例化时,不能给父类的构造函数传参评价:原型链存在的问题导致原型链基本不会被单独使用function SuperType() { this.property = true}SuperType.propertype.getSuperValue = functio原创 2021-09-25 16:05:32 · 138 阅读 · 0 评论 -
【深入JavaScript】原型链
原型链构造函数、原型对象、实例对象三者的关系每个函数内部都有一个 prototype 属性(原型),这是一个指针,指向了一个原型对象。所有通过构造函数实例化的实例对象,都会从关联的原型对象中“继承”属性。原型对象内部也有一个 constructor 属性(构造函数),也是一个指针,反向指回了构造函数。实例对象内部也有一个 _proto_ 属性,也是一个指针,也是指向了关联的原型对象。(Object的 _proto_ 是 null)function Person () { }var pers原创 2021-09-25 16:02:19 · 144 阅读 · 0 评论