2.用屬性檢查模仿接口
1. /* 2. interface Person { 3. function name(); 4. function gender(); 5. function birthday(); 6. } 7. */ 8. var man = function (name,gender,birthday){ this.implementsInterfaces = ['Person']; 9. //implements Person 10. }; function implements(object){ for(var i=1;i<arguments.length;i++){ var interfaceName= arguments[i]; var interfaceFound = false; for(object.implementsInterfaces.length;j++){ if(object.implementsInterfaces[j] == interfaceName){ interfaceFound = true; break; } } if(!interfaceFound){ return false; } } return true; }; funtion addPerson(PersonInstance){ if(!implements(PersonInstace,'Person'){ throw new Error("Object doesn't implement a required interface"); } }