varx // Oops! No whitespace between the keyword var and the variable x.
var x // That's better...because of the whitespace the interpreter
// can now read our code.
Whitespace is optional when there is some other
delimiter (separator) that tells ActionScript
where one token ends and another begins. The following code is quite
legitimate because the operators =, +, and / separate
x, 10, 5, and y from one
another:
x=10+5/y; // Crowded, but legitimate
x = 10 + 5 / y; // Easier to read, but the same as above
Similarly, whitespace is optional when there are other characters
such as square brackets, parentheses, curly braces, commas, and
greater-than or less-than signs to act as delimiters. These are all
perfectly legal if somewhat claustrophobic:
for(var i=0;i<10;i++){trace(i);}
if(x==7){y=[1,2,3,4,5,6,7,8,9,10];}
myMeth=function(arg1,arg2,arg3){trace(arg1+arg2+arg3);};
Extra whitespace is simply a matter of style, because it is ignored
by the ActionScript interpreter. That said, there are conventions you
should follow to make your code more readable. For example, the
following is another legitimate way to rewrite the earlier assignment
expression, but it is obviously harder to read:
x =
10
+ 5
/ y;
Notice that the statement is terminated by the
semicolon not the line breaks. In nearly all
cases, line breaks are inconsequential and do not act as statement
terminators. Hence, we often use one or more line breaks (in concert
with spaces or tabs) to make complex statements easier to read:
myNestedArray = [[x, y, z],
[1, 2, 3],
["joshua davis", "yugo nakamura", "james patterson"]];
// Much nicer than:
myNestedArray = [[x, y, z], [1, 2, 3],["joshua davis","yugo nakamura",
"james patterson"]];
// And also nicer than:
myNestedArray = [[x, y, z],
[1, 2, 3],
["joshua davis","yugo nakamura","james patterson"]];