亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JavaScript中基于原型的繼承的實現(xiàn)與分析

        2014-04-29 00:00:00王貫飛
        計算機光盤軟件與應用 2014年3期

        摘 要:本文主要介紹JavaScript中基于原型的繼承的實現(xiàn)方式,通過實例的說明,增強讀者對基于類的繼承和基于原型的繼承的理解,同時分析了基于原型的繼承模式的利弊。

        關鍵詞:JavaScript;基于原型的繼承;基于類的繼承

        中圖分類號:TP391

        隨著Node.js的誕生,JavaScript已經不僅僅是一門編程語言,其在客戶端和服務器端的雙重主導地位,使得“一切皆為JavaScript”成為一種必然趨勢。近年來,JavaScript已經從一門簡單的腳本語言進化成為一門強大的編程語言。

        根據多年來的教學經驗,JavaScript是一種既簡單又難以掌握的語言。而其難點之一,就在于對其原型對象及其繼承機制的理解。

        1 基于類的繼承和基于原型的繼承

        首先,現(xiàn)在廣為流傳的面向對象的編程語言,例如:Java,是基于類的語言。在基于類的語言中,對象是類的實例,并且可以從另一個類繼承。而在基于類的語言中,繼承的好處主要有兩點。

        1.1 代碼重用性高。如果我們新創(chuàng)建的類與已有的類有絕大部分相類似,則沒有必要再重新定義這個完整的類。最好的方式,就是只說明新創(chuàng)建的類與已有的類之間的不同之處。而繼承,正好實現(xiàn)了代碼的重用,大大減少了軟件開發(fā)的成本。

        1.2 繼承引入了一套類型系統(tǒng)的規(guī)范。這樣使得程序員可以將子類的對象直接賦值給父類的引用,無需再編寫顯式的類型轉化。既減輕了工作量又保證了類型系統(tǒng)在安全上的優(yōu)勢。

        而對于JavaScript這種弱類型語言來說,我們不需要考慮類型轉化問題,對象繼承關系更關注于這個對象能做什么而不是它從哪里來。為此JavaScript提供了一套更為豐富的代碼重用模式。JavaScript是一門基于原型的語言,所以對象可以直接從其它對象繼承而來。

        2 原型對象的理解

        在認識原型對象之前,我們還應該理解一下基于類的語言和基于原型的語言對于類,對象,實例定義的差別。在基于類的語言中,程序員需要單獨對類進行定義,并且通過構造器來創(chuàng)建該類的實例,可以使用new操作符來實現(xiàn)創(chuàng)建類的實例。在JavaScript中也有著相類似的模式,與Java不同的是,JavaScript沒有類定義和特殊的構造器定義。需要程序員自己定義一個構造函數(shù)來創(chuàng)建屬性,而所有的函數(shù)都可以被用來定義構造函數(shù)。所謂實例,對于基于類的語言來說,一個實例就是一個類的個體成員,而類本身只是對對象屬性和行為的一種抽象定義。在JavaScript中,實例和類則沒有這樣的本質區(qū)別,實例可以看做是對象。

        了解到了JavaScript對于對象的定義,接下來我們來理解一下原型對象的概念。在JavaScript中,只要創(chuàng)建一個新函數(shù),就會根據一組特定規(guī)則為該函數(shù)創(chuàng)建一個prototype屬性,而這個屬性指向函數(shù)的原型對象。在默認情況下原型對象會自動獲得一個constructor屬性,而這個屬性包含一個指向prototype屬性所在函數(shù)對象的指針。

        當調用構造函數(shù)創(chuàng)建一個新實例后,該實例所包含的一個指針指向構造函數(shù)的原型對象。而在ECMA-262第5版中,這個指針叫做[[prototype]]。下面我們用Employee這個例子,簡單說明一下構造函數(shù),原型函數(shù)以及新創(chuàng)建的實例的實現(xiàn)以及在內存中的關系。

        inherit()函數(shù)的實現(xiàn)就是對原型式模式的應用,它可以防止庫函數(shù)對那些不受控制的對象的意外修改。原型式模式傳入的是引用類型值,所以也存在共享屬性的問題,如組合模式一樣,也可以用構造函數(shù)的類似方式解決這一問題。

        參考文獻:

        [1]Crockford D.JavaScript語言精粹[M].北京:電子工業(yè)出版社,2009.

        [2]Flanagan D.JavaScript權威指南(第六版)[M].北京:中國電力出版社,2001.

        [3]Nicholas C.Zakas JavaScript高級程序設計(第三版)[M].北京:人民郵電出版社,2012.

        作者簡介:王貫飛(1966.04-),女,副教授,本科,主要從事計算機多媒體、Flash動畫編程、多媒體課件制作。

        作者單位:遼寧輕工職業(yè)學院,遼寧大連 116100

        麻豆视频黄片在线免费观看| 欧美自拍视频在线| 国产精品入口蜜桃人妻| 国产AV无码一区精品天堂| 精品亚洲人伦一区二区三区| 日韩女优图播一区二区| 国产在线观看自拍av| 日日碰狠狠添天天爽五月婷| 天美麻花果冻视频大全英文版 | 亚洲精品无码专区在线在线播放| 国产欧美日韩精品专区| 亚洲av永久无码精品一区二区| 无码成人aaaaa毛片| 欧美a在线播放| 国产伦精品一区二区三区在线| 久久久人妻一区精品久久久| 国产桃色一区二区三区| 永久黄网站免费视频性色| 精品三级久久久久久久电影| 最近亚洲精品中文字幕| 久久精品不卡一区二区三区| 欧美丰满熟妇xxxx性| 国产精品18禁久久久久久久久| 狠狠躁狠狠躁东京热无码专区| 中文字幕精品久久天堂一区| 亚洲人妻av综合久久| 在线无码中文字幕一区| 人妻夜夜爽天天爽三区麻豆av网站| 欧美人与动牲交a欧美精品| av狼人婷婷久久亚洲综合| 亚洲成在人线天堂网站| 看全色黄大色黄大片 视频| AV无码最在线播放| 日本高清不卡一区二区三区| 国产精品国产传播国产三级| 艳妇臀荡乳欲伦69调教视频| 亚洲天堂2017无码中文| 亚洲性69影视| av中文字幕一区人妻| 48久久国产精品性色aⅴ人妻| 国产女人18毛片水真多|