为了账号安全,请及时绑定邮箱和手机立即绑定

直面JavaScript中的30个疑难杂症

公明2020 Web前端工程师
难度中级
时长 5小时 3分
学习人数
综合评分9.60
17人评价 查看评价
9.6 内容实用
9.8 简洁易懂
9.4 逻辑清晰
  • 原型和原型链

    方式:1.万物皆对象,万物皆空

             2.两个定义:原型:保存所有子对象的共有属性值和方法的父对象

                                原型链:由各级子对象的__proto__属性连续引用行成的结构

             3.三个属性:__proto__,constructor,prototype

    1. 当函数创建的时候就会携带上一个prototype属性,这个属性指向prototype对象,也就是原型对象

    2. 原型对象携带constrcuctor

    3. 实例化会携带__proto__,并且是所有js对象都会携带,都是js内部属性

    挂载在函数内部的方法,实例化对象内部回复制构造函数的方法

    挂载在原型上的方法,不会去复制.

    挂载在内部和原型上的方法都是可以通过实例去调用的

    一般来说,如果需要访问构造函数内部的私有变量,我们可以定义在函数内部,其它情况我们可以定义在函数的原型上

    总结

        1.所有对象都会携带p1.__proto__,p1.__proto__===Person.prototype

         2.Person.prototype.constructor===Person

    查看全部
  • 什么是对象?

    1. 具备私有属性

    2. 只要是new出来的都是对象

    3. 不同对象肯定不相等

    4. 对象都会有引用机制 堆栈

    Js中晚物皆对象  Array Date Object Function String.....

    面向对象:(可以说是初级和中级的一个分水岭)

    把任何的数据和行为抽象成一个形象的对象,类似于人生活中思考的方式

    类:对象(Object)的模版,定义了同一组对象(又称"实例")共有的属性和方法

    面向对象OOP:封装 继承 多态

    继承:子继承父

    封装:方法 run :function(){}

    多态:重载,重写

    查看全部
  • Js多参数方法。
    查看全部
  • js面向对象OOP

    继承 子继承父

    封装 方法run:function(){}

    多态:重载 重写

    查看全部
  • 毒贩夫妇付付付付付付付付付付付付付付

    查看全部
    0 采集 收起 来源:课程介绍

    2021-04-21

  • 到付到付付付付付付付付付付付付付付付付付付付付付付付付付付

    查看全部
    0 采集 收起 来源:课程介绍

    2021-04-21

  • 总结:   

        算法  数据结构  设计模式

    查看全部
    0 采集 收起 来源:课程总结

    2021-04-19

  • Object.defineProperty()方法

        应用场景、

        Object.defineProperty(obj,prop,descriptor)

            obj:需要定义属性的对象

            prop:需要定义的属性

            descriptor:属性的描述描述符

            返回值:返回此对象

    查看全部
  • 继承:子继承父

    JS继承的方式6种:

        简单原型链:类式继承

        借用构造函数:缺点=>父类的原型方法自然不会被子类继承

        组合继承(最常用):类式继承+构造函数继承

        寄生组合继承(最佳方式):寄生式继承+构造函数式继承

        原型式:跟类式继承一样,父类对象book中的值类型的属性被赋值,引用类型的属性被共有

        寄生式:通过在一个函数内的过度对象实现继承并返回新对象的方式

    查看全部
  • 原型相关的API判断对象的属性是自有的还是私有的;hasOwnProperty、isPrototypeOf、getPrototypeOf

        hasOwnProerty:obj.hasOwnProperty('属性名') // 判断这个属性是不是这个对象的私有属性,返回布尔值

        isPrototypeOf:是用来判断指定对象obj1是否存在于另一个对象obj2的原型链中,是则返回true,否则返回false

        getPrototypeOf:是ES5中用来得到obj对象的原型对象的标准方法

    查看全部
  • 构造函数构建类

        函数对象

            定义:主要是通过Function对象创建的

         普通对象

             定义:主要是通过object对象创建的

         通过构造函数创建对象

            

    什么是原型,什么是原型链。 __proto__、prototype、constructor

        原型和原型链

            方式:1,2,3

                1:一句话 万物皆对象,万物皆空

                2: 二个定义:原型:保存所有子对象的共有属性值和方法的父对象、

                                    原型链:由各级子对象的__proto__属性连续引用形成的结构

                3:三个属性:__proto__、constructor、prototype


            挂载在函数内部的方法,实例化对象内部会复制构造函数的方法

            挂载在原型上的方法,不会去复制。

            挂载在内部和原型上的方法都是可以通过实例去调用的

            一般来说,如果需要访问构造函数内部的私有变量,我们可以定义在函数内部,其他情况我们可以定义在函数的原型上

            总结:

                1、所有对象都会携带p1.__proto__

                2、实例的原型指向构造函数的原型

                

    查看全部
  • this 坑

        this用法:

            1、    指代当前调用的这个对象:4种绑定规则分别是:默认绑定、隐式绑定、显示绑定、new绑定。优先级从低到高。

        this 指向

            如果出现函数套函数,可以使用变量缓存this使用




        改变this指向

            

    查看全部
  • new 的执行过程

             1 创建一个新对象

              2 把obj的proto指向构造函数的prototype对象 实现继承

                3 将新创建的对象obj作为this的上下文

                4 返回创建的对象obj(如果该函数没有返回对象,则返回this)

    查看全部
  • 类数组转数组 slice function

         var arr =Array.prototype.slice.apply(arguments) // arguments


    bind : 类似call 但是与其不同的是call调用之后可以立即执行,但是bind需要用一个变量进行接收之后再执行

    查看全部
  • 闭包的概念: 

        作用域,1.是引用了自由变量的函数这个被引用的自由变量将和这个函数异同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和其相关的引用环境组合而成实现信息的驻留(信息的保持,引用在,空间不销毁)   

         //  ++ 前加取新值,后加取旧值

        闭包的缺点:闭包导致内存会驻留,如果是大量对象的闭包环境注意内存消耗     

    闭包的使用:

    查看全部

举报

0/150
提交
取消
课程须知
1、有一定的前端JavaScript基础的用户 2、想对JavaScript有更深层次的了解,或者是对常见JavaScript面试题难以理解的用户 3、技术储备:JavaScript、HTML、CSS
老师告诉你能学到什么?
JavaScript中比较重要的知识点,例如数据类型检测;面试中常见的闭包、作用域和作用域链、执行上下文等等;还有JavaScript中的原型、原型链,面向对象问题,以及实战开发的运用。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!