FWIW, the following two tickcounts are nearly identical on my localhost so the reason to use one over the other (cfparam versus isdefined/set) is likely not due to performance...
<cfset starttick = getTickCount()> <cfloop index="i" from="1" to="10000"> <cfparam default="#i#" name="variables.var#i#"> </cfloop> <cfoutput>#Evaluate(getTickCount() - starttick)#</cfoutput> <cfset starttick = getTickCount()> <cfloop index="i" from="1" to="10000"> <cfif not IsDefined("variables.anothervar" & i)> <cfset SetVariable("variables.anothervar" & i, i)> </cfif> </cfloop> <cfoutput>#Evaluate(getTickCount() - starttick)#</cfoutput> On Wed, Sep 1, 2010 at 10:50 AM, Russ Michaels <r...@michaels.me.uk> wrote: > > defo better to make sure they are defined. > Also using isDefined() is also bad as this search every single scope for > your variable and is thus quite slow and can potentially cause timeouts. > Much better to use StructKeyExists() and only test the scope your variable > is in. > > -- > Russ Michaels > www.cfmldeveloper.com > Supporting the cf community since 1999 > FREE ColdFusion/Railo hosting for developers. > > > On Wed, Sep 1, 2010 at 4:40 PM, DURETTE, STEVEN J (ATTASIAIT) < > sd1...@att.com> wrote: > > > > > Using your way ensures that any variables that you are using already > > exist. > > > > I was always taught that I should define my variables before I use them > > in code (my ancient programming college courses). So, I tend to follow > > your method. > > > > Also, from a security stand, you should already know what should be > > coming into your page. If it isn't there then something went wrong. And > > if you didn't define it and it is there you should be ignoring it. > > > > Steve > > > > -----Original Message----- > > From: Michael Grant [mailto:mgr...@modus.bz] > > Sent: Wednesday, September 01, 2010 11:36 AM > > To: cf-talk > > Subject: CFParam vs. IsDefined > > > > > > I prefer to CFParam my vars with a default value of a zero len string or > > a 0 > > for numeric values. Then I skip the isdefined and just test against the > > value. Well recently someone I know said that it's better to test if > > it's > > defined. Is there a pro or con to doing it my way vs. IsDefined ? > > > > Thanks. > > > > > > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:336714 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm