The If() function evaluates the first result expression when its condition evaluates as true (a nonzero or nonmissing value). Otherwise, it evaluates the second result expression.
For Each Row( sex =
For each row in the table, sex is the column that is recoded.
|
|
Begins the If() loop.
|
|
If the value of sex is F, replaces the value with Female.
|
|
If the value of sex is M, replaces the value with Male.
|
|
If neither of the above conditions are true, replaces the value with Unknown. If this result were omitted and the value of sex were missing, the script would return a missing value.
|
|
You can also put actions and assignments in the result expression. The following example assigns 20 to x, because the first condition (y < 20) is false:
y = 25;
注意:Be careful to use two equal signs (==) for equality tests, not one equal sign (=). An If with an argument such as name=value assigns rather than tests the value.
Running a script that contains dozens of If()Statements can cause memory problems. We recommend reducing the If() nesting. Suppose that your script contains 100 If() statements in this format:
You can also try setting the maximum call depth. The Maximum Call Depth preference sets the default for the maximum call depth (or stack size) in which JSL built-in functions, user-defined functions, or Recurse() function calls can be made. By default, the maximum call depth is set to 256.