面向?qū)ο蟮恼Z言有一個標志,即擁有類的概念,抽象實例對象的公共屬性與方法,基于類可以創(chuàng)建任意多個實例對象,一般具有封裝、繼承、多態(tài)的特性!但JS中對象與純面向?qū)ο笳Z言中的對象是不同的,ECMA標準定義JS中對象:無序?qū)傩缘募?,其屬性可以包含基本值、對象或者函?shù)??梢院唵卫斫鉃镴S的對象是一組無序的值,其中的屬性或方法都有一個名字,根據(jù)這個名字可以訪問相映射的值(值可以是基本值/對象/方法)。

官方解釋

原型模式如類模式一樣,都是是一種編程泛型,即編程的方法論。另外最近大紅大紫的函數(shù)編程也是一種編程泛型。JavaScript之父Brendan Eich在設計JavaScript時,從一開始就沒打算為其加入類的概念,而是借鑒了另外兩門基于原型的的語言:Self和Smalltalk。

  既然同為面向?qū)ο笳Z言,那就得有創(chuàng)建對象的方法。在類語言中,對象基于模板來創(chuàng)建,首先定義一個類作為對現(xiàn)實世界的抽象,然后由類來實例化對象;而在原型語言中,對象以克隆另一個對象的方式創(chuàng)建,被克隆的母體稱為原型對象。

一、理解對象:

第一種:基于Object對象

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

var person = new Object();
person.name = 'My Name';
person.age = 18;
person.getName = function(){return this.name;
}

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

網(wǎng)友評論