If you don't want to use html/dom, you could use regex. I haven't tested this; but something along the lines of:
function parseHtmlEntities(str) {
return str.replace(/&#([0-9]{1,3});/gi, function(match, numStr) {
var num = parseInt(numStr, 10); // read num as normal number
return String.fromCharCode(num);
});
}
Note: this would only work for numeric html-entities, and not stuff like &oring;.
Fixed the function (some typos), test here: http://jsfiddle.net/Be2Bd/1/