Below is a function that i am studying from this example on a site..
Where the inline function ( Question: Is this an inline fuction ) is below. Can this function be removed from the ParseQueryString() function and referenced??
--The way it is now..
this.params = function(name)
{
if (arguments.length) {
if (defined(parameters[name]))
return parameters[name].clone();
else
return null;
}
else
return parameterNames.clone();
}
---The way i am wondering if it could be-----
this.params = function(SOME STRING VALUE)
{
}
function(name){
if (arguments.length) {
if (defined(parameters[name]))
return parameters[name].clone();
else
return null;
}
else
return parameterNames.clone();
-----------------------------------------------
---Complete code frame
function ParseQueryString()
{
var parameters = {};
var parameterNames = [];
/* defined for convience and readability */
function defined(expr)
{
return expr != undefined;
}
function init()
{
var i;
var pair, pairs;
var name, value;
if (location.search.length < 2)
return;
pairs = location.search.substr(1).split(/[&;]/);
for (i = 0; i < pairs.length; i++)
{
pair = pairs[i].split(/=/);
name = pair[0].decodeURL();
if (defined(pair[1]))
value = pair[1].decodeURL();
else
value = undefined;
if (!defined(parameters[name])) {
parameterNames.push(name);
if (defined(value))
parameters[name] = [value];
else
parameters[name] = [];
}
else if (defined(value))
parameters[name].push(value);
}
}
init();
var scalarParamIndex = 0;
this.param = function(name)
{
if (arguments.length) {
if (defined(parameters[name]))
return parameters[name][0];
else
return undefined;
}
else {
if (scalarParamIndex < parameterNames.length)
return parameterNames[scalarParamIndex++];
else {
scalarParamIndex = 0;
return undefined;
}
}
}
this.params = function(name)
{
if (arguments.length) {
if (defined(parameters[name]))
return parameters[name].clone();
else
return null;
}
else
return parameterNames.clone();
}
}
Erik