一、原型继承: 1、说起原型继承,就要先由构造函数创造对象说起,首先了解构造函数内部基本原理: (1).在函数体最前面隐式的加上this = {} (2).执行 this.xxx = xxx; (3).隐式的返回this 并且要注意隐士创建的this对象中有个名为__proto__的属性,其属性值为 ...
分类:
其他好文 时间:
2016-06-16 21:26:12
阅读次数:
260
原型链: Object(构造函数) object(类型(对象)) 每一个对象都有一个属性叫 __proto__ ,这个属性就是这个对象的原型(o. __proto__),函数可通过 函数名.prototype 获取原型,对象可以通过 对象.__proto__(双下划线)获取。 对象有原型,原型也是对 ...
分类:
Web程序 时间:
2016-06-09 00:25:20
阅读次数:
448
原型链: Object(构造函数) object(类型(对象)) var o = {}; alert(typeof o); //结果是object alert(typeof Object); //结果是function 每一个对象有一个属性叫 __proto__ ,这个属性就是这个对象的原型(o. ...
分类:
编程语言 时间:
2016-06-08 20:24:31
阅读次数:
153
JS是一种十分灵活的语言,不谈多态(或者说它本身就是多态的)封装概念: 封闭一部分,外界无法直接访问 通过开放部分间接访问私有部分例子: 不封装:构造函数的所有属性都是开放的 封装:封装部分属性,要靠公共接口才能访问 总结:用闭包完成私有属性的封装 继承 一、原型继承 二、对象冒充临时变量 call ...
分类:
Web程序 时间:
2016-06-07 20:49:28
阅读次数:
676
首先我们来理解一下原型链的概念: 要理解原型链必须知道构造函数、原型和实例的关系: 每个构造函数都有一个原型对象,原型对象包含一个指向构造函数的指针(即prototype),而实例则包含一个指向原型对象的内部指针(即__proto__)。 我们可以看到son在使用原型继承了father之后,son. ...
分类:
Web程序 时间:
2016-06-04 19:34:38
阅读次数:
174
闭包是JavaScript中的一个重要特性,在之前的博文中,我们说闭包是一个'看似简单,其实很有内涵'的特性。当我们用JavaScript来实现相对复杂的业务建模时,我们可以如何利用'闭包'这个特性呢?JavaScript中的'原型继承',又可以解决业务建模中的哪些问题呢?今天我们就通过一家'榨汁机 ...
分类:
编程语言 时间:
2016-05-31 06:24:30
阅读次数:
377
之前写过了类和原型,这里再说聚合,在写关于聚合之前,对与继承我再总结一下。JavaScript中关于继承的方式一共有三种,之前写了两种,但是没有说明,这里补充说明一下。 1.类式继承:通过在函数对象内调用父类的构造函数,使自身获得父类的属性和方法。主要使用callh和apply回调 2.原型继承:通 ...
分类:
编程语言 时间:
2016-05-27 16:37:07
阅读次数:
135
前面详细的解释了new的几个步骤,其中随意带过了一下原型链的概念,如果细读那篇文章,基本对原型也能有所理解。 原型有两个关键属性,一个是 __proto__ 一个是 prototype ,了解了这两个对象基本就能了解整个原型链的关系。 本篇主要探讨一下 __proto__ 这个属性。 javascr ...
分类:
其他好文 时间:
2016-05-27 00:39:47
阅读次数:
213
基本的用法 把ClassA的一个实例赋值给ClassB ClassB就继承了ClassA的所有属性 从原型继承理论的角度去考虑 js的原型继承是引用原型 不是复制原型所以 修改原型会导致所有B的实例的变化 然而 子类对象的写操作只访问子类对象中成员 它们之间不会互相影响因此 写是写子类 读是读原型( ...
分类:
Web程序 时间:
2016-05-20 13:26:23
阅读次数:
176