javascript 几个关键掌握点

来源:互联网 发布:吾爱源码解压密码 编辑:程序博客网 时间:2024/05/17 01:13

1.

方法调用模式:函数被保存为对象的一个属性(不叫函数):this调用时再绑定到所属对象。所以可以通过apply改变。调用形式:对象.方法(参数)

函数调用模式:this绑定到全局变量,但是可以内部函数。调用形式:方法(参数) 

apply调用模式:动态改变this  方法.apply(对象,参数)。注意方法可以是构造函数。继承的时候用

构造器调用模式: new 方法(参数)


2.闭包

通过闭包可以把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value)

注意闭包引起的 变量垃圾回收机制

闭包的作用

  1. setTimeout/setInterval
  2. 回调函数(callback)
  3. 事件句柄(event handle)

参考文章:

  1. 阮一峰 学习Javascript闭包(Closure)
  2. 闭包的秘密(里面有个PPT)
  3. javascript语言精髓

3.继承

参考阮一峰的 构造函数继承,非构造函数继承,注意prototype的用法:prototype只能赋给构造函数

  1. 指定子类
  2. 指定父对象(这个父对象可以是对象字面量创建的or构造函数创建的or)或者指定父构造函数
  3. 构造子对象

构造函数继承:

构造函数绑定,有点像基于类的继承

function Cat(name,color){

    Animal.apply(this, arguments);

    this.name = name;

    this.color = color;

}

基于prototype的继承

Cat.prototype = new Animal();

Cat.prototype.constructor = Cat;

var cat1 = new Cat("大毛","黄色");

alert(cat1.species); // 动物


还有几个基于prototype的继承的变种


浅拷贝,深拷贝继承


0 0
原创粉丝点击