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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 建立一个类的方法

    Person(name,age) 构造一个对象

    person.prototype.hi=function(){} 为对象建立一个实例共享的方法

    用new Person去实例化一个对象,构造器里的this指针就指向了构造对象的prototype对象。

    子类用 Person.call(this,name,age)来继承父类

    Student.prototype = Object.create(Person.prototype); //Objcet.create: 创建一个空对象,并且对象原型指向它的参数。要用这句话的原因是,如果不用Object.create,那么,为学生类建立一个prototype属性时,也同时会赋给了Person.

    Student.prototype.constructor = Student; //这个不设置,那么这个constructor会指向Person


    查看全部
    0 采集 收起 来源:概念与继承

    2018-11-12

  • AO,意思是函数激活对象。函数被调用后,会有一个arguments,被放置到一个AO对象。

    函数会有两个阶段,第一个是变量初始化阶段,将argumnets初始化,将变量声明和函数声明放进去。

    查看全部
  • JS解释器是如何找到我们定义的函数和变量的呢?

    变量对象VO,用于存储上下文中的变量 函数声明和函数参数。

    查看全部
  • 每一句语句执行的时候,都会身处在一个环境中,比如在全局环境中,或者在某个函数体内环境中,这个叫执行上下文。

    EC是一个栈级的结构。

    查看全部
  • var ft = function(){alert(1);};

    ft();//弹出1

    var ft=(function(){return 2;})();

    alert(ft);//弹出2;

    第一种,是将匿名函数表达式,赋值给一个变量

    第二种,是将一个立即函数执行的结果返回给一个变量,如果函数中没有返回值,那么ft的值是undefined





    查看全部
  • function 前面加感叹号,是为了说明这个是函数表达式,而不是函数声明。如果是函数声明,会被执行掉。

    查看全部
  • 用闭包来进行封装。外部不能直接访问到对象中的属性,但可以通过对象中定义的方法访问到。

    查看全部
  • 用立即执行的匿名函数!function 包装起循环,可以避免循环闭包。

    查看全部
  • 闭包的作用,比如在ajax的回调函数里获取上级函数的变量值。

    查看全部
  • bind将对象指向函数内部对象。 如果用new关键字,除非返回值是对象,如果不是对象,则返回this空对象,空对象原型会指向foo.prototype,这样就到了this.b属性,整个流程会忽略掉return ,所以返回了100

    所以,用new的方式的话, .bind将会被忽略掉。

    查看全部
  • 函数颗粒化主要运用,是简化前面实参值相同的操作。

    查看全部
  • 函数颗粒化:把一个函数拆成多个单元。

    var func=add.bind(undefined,100)将其中的100,代替掉了add函数中的第一个参数a

    func(1,2).  //100+1+2=103

    var func2 又再来一次,将200代替掉了add函数中的b.

    查看全部
  • 直接调用对象的函数,this指针指向对象里的对象属性(x:81)。调用对象的函数,并且赋值给一个全局变量,对象函数体内的this,指向全局变量(this.x=9)

    用bind方式去调用一个对象的函数,并赋值给一个全局变量。函数内部的this,仍然指向函数体内部的属性(x:81)。

    查看全部
  • foo.name 获取函数名

    foo.length 获取形参个数

    arguments.length 获取实参个数。arguments[0]对应函数的第一个实参,1对应第二个实参,以此类推,arguments可以改变实参的值, 但如果参数没有传值到函数,则arguments改变不了参数值。但argumnets不是Array,无法继承Array的方法。

    函数首行输入‘use strict’,可转入严格模式,在arguments.严格模式下,不能改变参数值

    查看全部
  • 原型链
    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

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

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