I'm reading Sitepoints 2007 book Simply Javascript and I encountered some code I just can't understand.
It's the following code:
Core.removeClass = function(target, theClass)
{
var pattern = new RegExp((^| ) + theClass + ( |$));
target.className = target.className.replace(pattern, $1);
target.className = target.className.replace(/ $/, );
};
The first call to the replace method is what puzzles me, I don't understand where the $1 value comes from or what it means. I would think that the call should replace the found pattern with .