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

直面JavaScript中的30个疑难杂症

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

    查看全部
  • 几点回家的话

    查看全部
  • 讲得好

    查看全部
  • vue  html  css  js   算法和数据结构  设计模式。万变不离其宗。 js  js  js   

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

    2023-02-27

  • Object.defineProperty()方法

    传入三个参数

    1.obj:需要定义属性的对象。

    2.prop:需要定义的属性。

    3.descriptor:属性的描述描述符

    返回值:返回此对象。

    var obj={};

    var descroptor={

    configurable:false//表示该属性能否通过delete删除,能否修改属性的特性或者能否修改访问器属性,默认为false.当且仅当该属性为true时,才能实现上述行为。

    writeable:false//表示该属性的值是否可写,默认为false.当且仅当该属性为true时,才能实现上述行为。)

    }

    enumerable:false,表示该属性是否可以枚举,即是否通过for...in访问属性 默认是false.

    value:hello world.表示该属性的值,默认是undefinde

    查看全部
  • js继承的6种方式:

    1. 简单原型链:类式继承

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

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

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

    5. 原型式:跟类式继承一样。父类对象book种的值类型的属性被复制,引用类型的属性被共有。

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


    查看全部
  • Function 对象和object对象之间的关系Person AA

    Function是顶层的构造器,Object是顶层的对象{}

    顶层现有null,Object.prototype,Function.prototype Function

    从原型上说:Function继承了Object

    构造器上说:Function构造了Object  new Object

    function object(){}

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

    function Person(name,age){

    this.name=name

    this.age=age

    this.say=function(){

    console.log('我是'+this.name)

    }

    }

    var p1=new Person('张三',18)

    var p2=new Person('李四',20)

    构造函数object

    原型和原型链

    1万物皆对象,万物皆空 (对象最终指向null)

    2原型:保存所有子对象的共有属性值和方法的父对象。

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

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

    _proto_下划线开始下划线结束都是js内部属性

    查看全部
  • 什么是对象:

    1具备私有属性{a:1}

    只要是new出来的都是对象,new fun()=>实例化

    不同对象肯定不相等 var a=[1]; var b=[1]; a==b =.false

    对象都会有引用机制 堆 栈


    js中万物皆对象 Array Date Object Function String


    面向对象:

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

    类:对象(object)的模板,定义了同一组对象(又称“实例”)共有的属性和方法


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

    继承:子继承父

    封装:方法 function(){}  把方法写在function里面

    多态:重载,重写。 继承 父类 覆盖掉父类方法

    查看全部
  • this的坑

    this的指向

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

    查看全部
  • new统称为实例化。

    4步:

    1新创建一个对象obj

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

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

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

    查看全部
  • Function对象call,apply,bind

    1,apply()方法调用一个函数,其中有一个指定的this值,以及作为一个数组(或类似数组的对象)提供的参数。

    Function.apply(obj,args)方法能接收两个参数。

    **call和apply的区别
    call是单个的参数传入,apply是以数组的形式传入。

    var arr=Array.prototype.slice.apply(arguements)//arguements就是一个类数组

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

    比如

    var val= stu1.say.bind 这样

    查看全部
  • 闭包本质就是作用域

    1,是引用了自由变量得函数这个被引用得自由变量将和这个函数一同存在,及时离开了创造他得环境也不例外。所以 有另一种说法认为闭包是自由函数和其相关的引用环境组合而成。

    闭包的缺点:会导致内存的驻留。

    let也可以实现信息驻留

    查看全部
  • 开发中重载

    在程序中可以定义相同名字,不同参数的形式的不同函数,函数在调用的函数的时候,自动识别不同参数对应的函数,实现了相同函数名不同的函数调用

    function React(){//arguments[x,y,z]参数值,类数组 x  xy  xyz

    //如果传入的是一个参数,那就返回一个正方形

    if(arguments.length>=1){

    this.width=arguments[0];

    this.height=arguments[0];

    }

    //如果传入的是两个参数,那就返回一个长方形

    if(arguments.length>1){

    this.width=arguments[0];

    this.height=arguments[1];

    }

    this.toString=function(){

    return 'width:'+this.width+'height:'+this.height;

    }

    }

    var r1=new React(10);

    console.log(r1.toString());

    var r2=new React(10,9);

    console.log(r2.toString());

    多态:同一个东西表现得不同状态,重写和重载

    查看全部
  • js执行环境

    单线程执行

    执行环境(执行上下文)

    全局执行环境

    局部执行环境

    变量对象:vo  variable object 一般是全局环境下保存变量的对象{a:1,b:2....}

    活动对象:AO Activation object 函数的执行环境是在调用时创建的,该对象将代替vo对象来保存当前函数环境中的变量,参数,函数,所以在函数执行环境中vo就是AO function(){a==1,b==1}

    查看全部

举报

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

微信扫码,参与3人拼团

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

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