justcode.ikeepstudying.com
JavaScript面向对象详解一:原理 - Just Code
概述 JavaScript中的面向对象是基于原型链来实现的,这不同于其他语言复制拷贝的方式。我觉得原型链的好处是节约内存,提高性能,缺点可能就是不那么容易理解。 下面我们就来循序渐进的通过原型链,来理解JavaScript中的面向对象。 面向对象的概念是为了解决什么问题? 如果我们想创建一个具有一定功能的集合,在JavaScript中我们可以这样写: var Animal = { name: 'kitty', sleep: function(){ console.log(this.name + " is sleeping"); } }; 即通过对象的形式,将一些属性(如name)或方法(如sleep)包装在一起,这样就形成了逻辑上的集合。 但是如果我们想再创建一个类似的对象呢?最直接的方式是这样: var Animal = { name: 'kate', sleep: function(){ console.log(this.name + " is sleeping"); } }; 也就是重新再写一个对象,修改其中的部分属性。这种方式无疑是非常僵硬的,因此可以通过这种“工厂函数“的方法: function createAnimal(name){ var obj = {} obj.name = name; obj.sleep = function(){ console.log(this.name + " is sleeping"); […]
Gideon