Thanks, I want to define global variable without _G in script, and other script can access this global variable. so that I can code the global variable name directly and call it
The _G is just a naming convention, it is not required to make the variable global.
Personally I do not like the use of global because you lose all control of scope: The variable can be overwritten in a near untraceable way by any script, including other community content, in your game.
I would consider alternative options:
Context
Networked custom properties
Can be used with property changed event
Broadcast
If you need to change data from multiple locations it is useful to consider how you might track the change request location: This can be done in a variety of ways e.g. sending additional parameters when using broadcast or APIs that identify the sender/caller. This makes it much easier to trace the cause of incorrect values.