Or a duck singing, for Example.
1. Prototype add methods or properties to an object
<script>varMakesound=function(animal) {animal.sound (); } varduck=function() {} Duck.prototype.sound=function() {console.log ("quack"); } varchichen=function() {} Chichen.prototype.sound=function() {console.log ("giggle"); } makesound (NewChichen ()); MakeSound (NewDuck ())</script>
Methods for adding sound to defined duck and chicken
2, typeof and Instanceof usage
Only animals with sound methods can sing.
1) typeof
Used to detect the data type of a given variable, the possible return value:
1. ' Undefined '---this value is undefined;
2. ' Boolean '---this value is a Boolean value;
3. ' String '---this value is a string;
4. ' Number '---this value is numeric;
5. ' Object '---this value is an object or null;
6. The ' function '---this value is a functional.
var makesound=function (animal) { if(typeof animal.sound=== ' function ') { animal.sound (); }}
2) instanceof is used to determine whether an object is the strength of another object, the return value TRUE or False
var makesound=function (animal) { ifinstanceof Function) { animal.sound (); }}
JavaScript Design Patterns and open practice learning (a) JavaScript implementation polymorphism