Еслиseparator
является регулярным выражением со вложенными скобками, то каждый раз при совпаденииseparator
все результаты захвата скобками, включаяundefined
результаты, добавляются в выходной массив.
А для того, чтобы в JScript и Internet Explorer'ах разделители добавлялись в массив, можно переопределить метод String.prototype.split, который будет корректно работать везде (в соответствии со спецификацией ECMA-262 v3)
О том как это сделать можно прочитать тут -
http://blog.stevenlevithan.com/archives/cross-browser-split