Примерно так должно работать:
//for old browsers...
Array.prototype.indexOf = Array.prototype.indexOf || function(o) {
for(var k = 0; k < this.length; ++k)
if(this[k] === o) return k;
return -1;
};
var escapes = ['p', '(', ')', '?'];
var array = 'hey?'.split('');
for(var i = 0; i < array.length; ++i) {
var escapeIndex = escapes.indexOf(array[i]);
if(escapeIndex > -1) {
array[i] = '\\' + array[i];
}
}
var newString = array.join('');