I realize (yet again) that this is a noob question, but I don't find it adequately answered in the Scripting Index.
So, all the Scripting Index tells me is that a single leading underscore can be used, but not for what purpose. The only hint I found (after lazily employing Google) was related to Python, where a leading underscore hints at a variable being used internally. Does that also apply to JSL and what is the use of leading underscores in connection with Limit Tables?
To my knowledge single leading underscore is just convention some people use and it is mostly up to you how you want to use them (or not). There might be some places which use specification limits that can get messed up due to lsl/_lsl/usl/_usl variable names, but I cannot remember anymore where they were (and the issue might have been fixed).
A wide table contains three rows and one column for each column analyzed in the Process Capability platform plus a _LimitsKey column. In the _LimitsKey column, the three rows need to contain the identifiers _LSL, _Target, and _USL.
Scripting Guide > JSL Building Blocks > Global and Local Variables > Hide a Global Variable
To hide (or protect) a global variable, put two underscores (__) before the name. Protecting a global variable means that it will be hidden and can not be examined or shown. However, the behavior is different depending upon the context.
Scripting Guide > JSL Building Blocks > JSL Syntax Rules > JSL Rules for Names
Names must start with an alphabetic character or underscore and can continue with the following