Let's start with the easy one first - initializing multiple variables to a single value. Now, keep in mind - there is no "right way" to do this - it's a matter of your personal preference and it also depends on how readable you want your code to be.
A best practice, and a good habit to get into, is to declare all the variables you're going to use in your method at the top of your method. This way, they're all in one place, and it's easy to assign default values. To demonstrate, here's some code:
var formName = null;In JavaScript - rather than having each command on its own line, you can combine commands (that end with a semi-colon) into a single line. So we could reduce 5 lines to 1 - but it's much less readable:
var showPreview = null;
var hasRecords = null;
var whatReport = "Customers";
var useDefaults = 1;
var formName = null; var showPreview = null; var hasRecords = null; var whatReport = "Customers"; var useDefaults = 1;So rather than putting all in a single line - you can reduce the top code to 3 lines - by defining all the variables with a single value into a single line:
var formName, showPreview, hasRecords = null;Now that we've set our variables - let's say we want to call another method and pass all the variables to that method. We could do it a couple of different ways - depending on how we define the incoming parameter list on our function.
var whatReport = "Customers";
var useDefaults = 1;
For example - we have two methods - one called setVariables() and one called doAction(). The setVariables() function will just set the variables like we did above and then it will call to doAction() method:
function setVariables() var formName, showPreview, hasRecords = null; var whatReport = "Customers"; var useDefaults = 1; doAction (formName, showPreview, hasRecords, whatReport, useDefaults);end function
Then when we define the doAction method - we define it like this:
However, there may be times when you need to package more information into a single variable. Each variable you pass to a function does not have to be a single value - they can be any object that Servoy supports! That means you can pass arrays, record objects - even entire foundsets between methods! Here's an example:
function doAction( formName, showPreview, hasRecords, whatReport, useDefaults)This is the best, and most readable way to accomplish passing the parameters. This will allow you to use all the variables in the doAction method just as they're specified and passed.
//my actions here
end function
However, there may be times when you need to package more information into a single variable. Each variable you pass to a function does not have to be a single value - they can be any object that Servoy supports! That means you can pass arrays, record objects - even entire foundsets between methods! Here's an example:
function setVariables()I hope this will help you with your Servoy development efforts! What other tricks to you guys use when passing/setting parameters?
var formName, showPreview = null;
var hasRecords = forms.customers.foundset;
var whatReport = "Customers";
var useDefaults = new Array[1,'blue','green'];
doAction (formName, showPreview, hasRecords, whatReport, useDefaults);
end function
2 comments:
Hey Bob. You da man. Thanks for this, it is exactly what I needed right now..
:)
Bevil
Thanks, so much, Bevil! I'm glad you found it helpful... Cheers, mate!
Post a Comment