var func = function (callback, a, b, c) { return callback(a, b, c);}var funAdd = function (a, b, c) { function callback(a, b, c) { return a + b + c; } return func(callback, a, b, c);}var funMul = function (a, b, c) { function callback(a, b, c) { return a * b * c; } return func(callback, a, b, c);}var x = 2, y = 3, z = 4;alert(funAdd(x, y, z)); //9alert(funMul(x, y, z)); //24alert(func(funAdd, x, y, z)); //9alert(func(funMul, x, y, z)); //24