You could also use worldScripts.nullgate.nullgate where the first nullgate is the script name and the second is the function name within it. That method does have the disadvantage though that it can't cope with spaces in the script name.
Which is probably also why this works:
log(this.name,"worldScripts['nullgate'].nullgate is not null!");
...but this does not:
log(this.name,"worldScripts["nullgate"].nullgate is not null!");
Which is probably also why this works:
log(this.name,"worldScripts['nullgate'].nullgate is not null!");
...but this does not:
log(this.name,"worldScripts["nullgate"].nullgate is not null!");
Notepad++ should give you a clue when this is going to be a problem. When editing a recognised JS script it automatically greys out the text that is part of a recognised string...
log(this.name,"worldScripts['nullgate'].nullgate is not null!")
log(this.name,"worldScripts["nullgate"].nullgate is not null!")