jsマルチ継承実現

2261 ワード

        

2.4 ——

JavaScript prototype , , 。 JavaScript , 。

extend 。

// var extend = function(target, source) { // for ( var property in source) { // target[property] = source[property]; } // return target; };

PS: extend , , 。 jQuery , extend 。

var book = { name: "javascript ", alike: [ "css", "html", "javascript" ] }; var anotherBook = { color: "red" }; extend( anotherBook, book ); console.log( anotherBook.name ); console.log( anotherBook.alike ); anotherBook.alike.push( "ajax" ); anotherBook.name = " "; console.log( anotherBook.alike ); console.log( anotherBook.name ); console.log( book.alike ); console.log( book.name ); // var mix = function(){ var i = 1, len = arguments.length, target = arguments[ 0 ], arg; // for( ; i < len; i++ ){ // arg = arguments[ i ]; // for( var property in arg ){ // target[ property ] = arg[ property ]; } }; return target; }

, , Object , 。

Object.prototype.mix = function(){ var i = 0, // len = arguments.length, // arg; // // for( ; i < len; i++ ){ // arg = arguments[ i ]; for( var property in arg ){ // this[ property ] = arg[ property ]; } } }

。 JavaScript !!!