Number:
var a = 1.23, b = 3.21;
a = b + (b = a) * 0; //a = 3.21 b = 1.23
a = b + (b = a, 0); //a = 1.23 b = 3.21
a = Number(b, b = a); //a = 3.21 b = 1.23
Boolean
var a = true, b = false;
a = Boolean(b & (b = a, true)); //a = false b = true
a = Boolean(b, b = a); //a = true b = false
String:
var a = '萌萌哒', b = '么么哒';
a = b + (b = a, ''); //a = '么么哒' b = '萌萌哒'
a = String(b, b = a); //a = '萌萌哒' b = '么么哒'
Object:
var a = {val:'萌萌哒'}, b = {val:'么么哒'};
a = Object(b, b = a); //a = {val:'么么哒'} b = {val:'萌萌哒'}