引言

  初识 JavaScript 对象的时候,我以为 JS 是没有继承这种说法的,虽说 JS 是一门面向对象语言,可是面向对象的一些特性在 JS 中并不存在(比如多态,不过严格来说也没有继承)。这就困惑了我很长的时间,当我学习到 JS 原型的时候,我才发现了 JS 的新世界。本篇文章讲解了 JavaScript new 操作符与对象的关系、原型和对象关联(也就是俗称的继承)的原理,适合有一定基础的同学阅读。

 一、JavaScript 的类与对象

  许多书籍上都会说到如何在 JS 当中定义“类”,通常来讲就是使用如下代码:

1 function foo () {2     this.x = 1;3     this.y = 2;4 }5 var obj = new foo();  //{x:1, y:2}

  实际上这一个很糟糕的语言机制,我们首先要明确,在 JS 当中根本没有“类”这种东西。在了解它之前,我们要先来了解下 JS 的发展历史。

网友评论