I don’t understand what’s going on here:
$ node
> var f = function() {};
> f['length'] = '11';
'11'
> f['length']
0
If you’re not familiar with node, the code after > is what I typed, and the stuff not there are the returned values. So f['length'] == 0.
Length property for functions is the number of arguments a function expects.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Length
In your case,
fdoesn’t take any paramater, so its length is0.