¿Cómo puedo combinar dinámicamente las propiedades de dos objetos JavaScript?

Necesito poder combinar dos objetos JavaScript (muy simples) en tiempo de ejecución. Por ejemplo me gustaría:

var obj1 = { food: 'pizza', car: 'ford' }
var obj2 = { animal: 'dog' }

obj1.merge(obj2);

//obj1 now has three properties: food, car, and animal

¿Alguien tiene un script para esto o sabe de una forma integrada para hacer esto? No necesito recursión, y no necesito combinar funciones, solo métodos en objetos planos.

Respuestas a la pregunta(30)

Su respuesta a la pregunta