原型式继承
<script> function inheritObject(o){ function F(){} F.prototype = o; return new F(); } //原型对象的内容 var book = { name:'js book', alikeBook:['css book','html book'] }; var newBook = inheritObject(book); newBook.name = 'ajax book'; console.log( newBook ); newBook.alikeBook.push('as book'); var otherBook = inheritObject(book); console.log( otherBook ); </script>
二次封装
<script> function inheritObject(o){ function F(){} F.prototype = o; return new F(); } //原型对象的内容 var book = { name:'js book', alikeBook:['css book','html book'] }; function createBook(obj){ var o = inheritObject(obj); o.getName = function(){ console.log(this.name); } return o; } var newBook = createBook(book); newBook.getName(); </script>