So, basically, it's a 'context' that accumulate functions and variables defined inside evaluate() and this context can be called "current script". Context does not change between evaluate, so following code:
Qt Code:
  1. evaluate( "var a = 1;" );
  2. evaluate( "var b = 2;" );
  3. evaluate( "a + b" );
To copy to clipboard, switch view to plain text mode 
Will evaluate to "3". Am i correct?

Also, what do you means by
But the function itself is defined in the context surrounding the function itself
Sorry for boring you with this stupid questions, but Qt documentation about scripting is a kind of limited and it's very important for me to know how it works .

So, as i understand for now, my original task will be like following:
1. push empty context
2. evaluate script from file.
3. As application executes, call script functions from time to time using evaluate( "function name" ).call()
4. If another script must be loaded, pop context, push empty one and goto step 2.