I ran into a boolean test variable === Object(variable) but couldn't find anything that describes it.
Is it testing that variable is the same as Object(variable) and does Object(variable) cast this variable into object? Or does it do something else?
If it matches it will loop for (var key in variable) and uses key and variable[key] as parameters for another function. If it fails it uses just that variable as is.