I've looked around to see whether Javascript supports associative arrays and despite the fact that it clearly says that it doesn't
Where did you see that it clearly stated that JavaScript does not support associative arrays?
Associative arrays--a collection of key/value pairs (also called maps, dictionaries, and many other names in various contexts)--are the fundamental datatype in Javascript. However, in JavaScript, they are called "objects".
However, given your sample code:
var foo = new Array;
foo["bar"] = "It works";
it seems you may be asking a slightly different question, which is "Can a JavaScript array contain properties (other than its numerically indexed ones)"?
The answer, as well documented, and covered in countless question here on SO, is "yes". The reason is that in JavaScript, arrays are a special type of object, so like all objects, they can have named properties.
whether or not it's recommended to use them.
If you mean is it recommended to hang named properties off a JavaScript array, opinions differ. You can take a look at this question.