Assuming callback is your successCallback object doing window[callback] === 'function' will only check that there is an object called '$.Namespace.SomeFunction' at the root of the window object. But what you want to achieve is to check if there is an object called SomeFunction in the object Namespace itself contained within the $ object.
To do so you can either use what @rps wrote aka typeof typeof myNamespace.myFunc if you already know the namespace and the function or use the below function that will traverse an object and look for a given path, in your case $.Namespace.SomeFunction :
var get = function (model, path, def) {
path = path || '';
model = model || {};
def = typeof def === 'undefined' ? '' : def;
var parts = path.split('.');
if (parts.length > 1 && typeof model[parts[0]] === 'object') {
return get(model[parts[0]], parts.splice(1).join('.'), def);
} else {
return model[parts[0]] || def;
}
}
and now do something like
typeof get(window, '$.Namespace.SomeFunction', 'undefined') === 'function'