面向?qū)ο蟮恼Z(yǔ)言有一個(gè)標(biāo)志,即擁有類的概念,抽象實(shí)例對(duì)象的公共屬性與方法,基于類可以創(chuàng)建任意多個(gè)實(shí)例對(duì)象,一般具有封裝、繼承、多態(tài)的特性!但JS中對(duì)象與純面向?qū)ο笳Z(yǔ)言中的對(duì)象是不同的,ECMA標(biāo)準(zhǔn)定義JS中對(duì)象:無序?qū)傩缘募?,其屬性可以包含基本值、?duì)象或者函數(shù)??梢院?jiǎn)單理解為JS的對(duì)象是一組無序的值,其中的屬性或方法都有一個(gè)名字,根據(jù)這個(gè)名字可以訪問相映射的值(值可以是基本值/對(duì)象/方法)。
官方解釋
原型模式如類模式一樣,都是是一種編程泛型,即編程的方法論。另外最近大紅大紫的函數(shù)編程也是一種編程泛型。JavaScript之父Brendan Eich在設(shè)計(jì)JavaScript時(shí),從一開始就沒打算為其加入類的概念,而是借鑒了另外兩門基于原型的的語(yǔ)言:Self和Smalltalk。
既然同為面向?qū)ο笳Z(yǔ)言,那就得有創(chuàng)建對(duì)象的方法。在類語(yǔ)言中,對(duì)象基于模板來創(chuàng)建,首先定義一個(gè)類作為對(duì)現(xiàn)實(shí)世界的抽象,然后由類來實(shí)例化對(duì)象;而在原型語(yǔ)言中,對(duì)象以克隆另一個(gè)對(duì)象的方式創(chuàng)建,被克隆的母體稱為原型對(duì)象。
一、理解對(duì)象:
第一種:基于Object對(duì)象
var person = new Object(); person.name = 'My Name'; person.age = 18; person.getName = function(){return this.name; }
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26