摘要:多態(tài)在面向?qū)ο笾杏幸环N特性叫多態(tài),就是同一種方法的多種調(diào)用方式,在中也可以實(shí)現(xiàn),只不過是對傳入的參數(shù)做判斷以實(shí)現(xiàn)多種調(diào)用方式。
多態(tài)
在面向?qū)ο笾杏幸环N特性叫多態(tài),就是同一種方法的多種調(diào)用方式,在JavaScript中也可以實(shí)現(xiàn),只不過是對傳入的參數(shù)做判斷以實(shí)現(xiàn)多種調(diào)用方式。
//多態(tài) function add() { //獲取參數(shù) var arg = arguments, len =arg.length; switch(len){ //如果沒有參數(shù) case 0:return 10; //如果只有一個(gè)參數(shù) case 1:return 10 + arg[0]; //如果有兩個(gè)參數(shù) case 2:return arg[0] +arg[1]; } } //測試用例 console.log(add()); console.log(add(3)); console.log(add(5,7));
也可以轉(zhuǎn)化成更易懂的類形式
function Add() { //無參數(shù)算法 function zero() { return 10; } //一個(gè)參數(shù)算法 function one(num) { return 10 + num; } function two(num1,num2) { return num1 + num2; } this.add =function () { var arg = arguments, //獲取參數(shù)長度 len = arg.length; switch (len) { //如果沒有參數(shù) case 0:return zero(); case 1:return one(arg[0]); case 2:return two(arg[0],arg[1]); } } } //實(shí)例化類 var A = new Add(); //測試 console.log(A.add()); console.log(A.add(5)); console.log(A.add(6,7));
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/108533.html
摘要:在中,并沒有對抽象類和接口的支持。例如,當(dāng)對象需要對象的能力時(shí),可以有選擇地把對象的構(gòu)造器的原型指向?qū)ο?,從而達(dá)到繼承的效果。本節(jié)內(nèi)容為設(shè)計(jì)模式與開發(fā)實(shí)踐第一章筆記。 動態(tài)類型語言 編程語言按數(shù)據(jù)類型大體可以分為兩類:靜態(tài)類型語言與動態(tài)類型語言。 靜態(tài)類型語言在編譯時(shí)已確定變量類型,動態(tài)類型語言的變量類型要到程序運(yùn)行時(shí),待變量被賦值后,才具有某種類型。 而JavaScript是一門典型...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍(lán)圖或原型。在中,對象通過對類的實(shí)體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:之前,本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z言,因?yàn)樗鼘τ诜庋b繼承多態(tài)這些面向?qū)ο笳Z言的特點(diǎn)并沒有在語言層面上提供原生的支持。所以在中出現(xiàn)了等關(guān)鍵字,解決了面向?qū)ο笾谐霈F(xiàn)了問題。 ES6之前,javascript本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z言,因?yàn)樗鼘τ诜庋b、繼承、多態(tài)這些面向?qū)ο笳Z言的特點(diǎn)并沒有在語言層面上提供原生的支持。但是,它引入了原型(prototype)的概念,可以讓我們以...
摘要:基本概念面向?qū)ο缶幊淌怯贸橄蠓绞絼?chuàng)建基于現(xiàn)實(shí)世界模型的一種編程模式。使用面向?qū)ο缶幊淌菫榱舜龠M(jìn)更好的靈活性和可維護(hù)性。面向?qū)ο笈c面向過程比較,面向過程更注重過程。 1:基本概念 面向?qū)ο缶幊淌怯贸橄蠓绞絼?chuàng)建基于現(xiàn)實(shí)世界模型的一種編程模式。 這句話的意思是:每個(gè)對象能夠接受信息,處理數(shù)據(jù)和發(fā)送消息給其他對象;這就意味著在這個(gè)編程模式下,每一個(gè)對象都是一個(gè)獨(dú)立的個(gè)體,它可以接收,可以處理,...
閱讀 1467·2023-04-26 00:08
閱讀 797·2021-11-23 18:51
閱讀 1672·2021-11-12 10:34
閱讀 1008·2021-10-14 09:43
閱讀 502·2021-08-18 10:23
閱讀 2581·2019-08-30 15:55
閱讀 3392·2019-08-30 11:05
閱讀 2792·2019-08-29 12:50