最近讀到一本書《JavaScript設計模式與開發實踐》上,講到js的多態,我在JavaScript高級程序編程里貌似都沒有見過關于這個的詳細講解,所以想問問大家有沒有什么推薦的文章或者博客,可以推薦給小弟的,讓小弟可以深入了解一下。先把那本上的例子拿出來跟大家分享:書里面的故事:本人家里養了一只雞,一只鴨。當主人向他們發出‘叫’的命令時。鴨子會嘎嘎的叫,而雞會咯咯的叫。轉化成代碼形式如下非多態代碼示例varmakeSound=function(animal){if(animalinstanceofDuck){console.log('嘎嘎嘎');}elseif(animalinstanceofChicken){console.log('咯咯咯');}}varDuck=function(){}varChiken=function(){};makeSound(newChicken());makeSound(newDuck());多態的代碼示例varmakeSound=function(animal){animal.sound();}varDuck=function(){}Duck.prototype.sound=function(){console.log('嘎嘎嘎')}varChiken=function(){};Chiken.prototype.sound=function(){console.log('咯咯咯')}makeSound(newChicken());makeSound(newDuck());多態背后的思想是將”做什么“和”誰去做以及怎樣去做分開“。
js 多態如何理解,最好能有個例子
九州編程
2019-04-13 08:36:55