javascript: special handling for space and underscore in identifiers