Deep Merge Objects

What is the recommended way to deep merge 2 objects in JavaScript?
Example:

var obj1 = {
	x1: 'x1',
	x2: 'x2',
	x3: {
		x31: 'x31',
		x32: 'x32'
	}
}

var obj2 = {
	x3: {
		x33: 'x33',
	}
}

// Expected result from merging obj1 and obj2:
{
	x1: 'x1',
	x2: 'x2',
	x3: {
          x31: 'x31',
          x32: 'x32',
          x33: 'x33',
	}
}