OK, wanted to make a more positive contribution to start than just
plonking somebody. Here's something I've discovered using "priveleged
methods" a la Douglas Crockford
(http://crockford.com/javascript/private.html):
If you want a constructor to utilize priveleged methods the methods must
be defined in the constructor ABOVE where they are called. Consider the
following:
function ExaminableField (element, examCriteria)
{
var formElement = element;
var name = element.name;
var required = true;
//must be defined before used privately
this.isRequired = function()
{
if (arguments.leng th == 1)
{
required = arguments[0]
}
return required;
}
if (!!examCriteria )
{
this.isRequired (examCriteria.r equired);
}
}
It had been causing an error when I had my if block above the definition
of this.isRequired . Thought this might help somebody, and/or contribute
to a proper convention.
plonking somebody. Here's something I've discovered using "priveleged
methods" a la Douglas Crockford
(http://crockford.com/javascript/private.html):
If you want a constructor to utilize priveleged methods the methods must
be defined in the constructor ABOVE where they are called. Consider the
following:
function ExaminableField (element, examCriteria)
{
var formElement = element;
var name = element.name;
var required = true;
//must be defined before used privately
this.isRequired = function()
{
if (arguments.leng th == 1)
{
required = arguments[0]
}
return required;
}
if (!!examCriteria )
{
this.isRequired (examCriteria.r equired);
}
}
It had been causing an error when I had my if block above the definition
of this.isRequired . Thought this might help somebody, and/or contribute
to a proper convention.
Comment