I think it's because you have defined the method after your method call.
Try this :-
$(function parseQuery(url)
{
var result = {};
var parameters = window.location.search;
if (!parameters) return result;
parameters = parameters[1].split("&");
for (var parameter in parameters) {
var keyValue = parameters[parameter].split("=");
result[keyValue[0]] = decodeURIComponent(keyValue[1]);
}
return result;
});
var test = parseQuery(window.location.href);
var SSN = test.SSN;
console.log(SSN);
This is giving the perfect result for me.
Hope this one will help you :).
UPDATE
$(function () {
function parseQuery(url) {
var result = {};
var parameters = window.location.search;
if (!parameters) return result;
parameters = parameters[1].split("&");
for (var parameter in parameters) {
var keyValue = parameters[parameter].split("=");
result[keyValue[0]] = decodeURIComponent(keyValue[1]);
if (result[keyValue[0]] == null)
alert("The parameter is null");
else
alert(resultkeyValue[1]);
}
return result;
};
var test = parseQuery(window.location.href);
var SSN = test;
});
Remove $ from the method function parseQuery(url) { and try again.