Context.newObject()

context.newObject( scope [constructor="Object" [args=null ] ] )
scope : Scriptable
constructor : String
args : Object[]

scopeからconstructorを探し出して、argsを引数としてオブジェクトの生成をします。ちなみに、scopeは自動的にトップレベルスコープ(最上位のスコープ、globalと呼ばれるもの)へと変換されます。激しく謎な仕様です。要するに、scopeをどんな値にしたところでglobalしか使われないということです。global以外にはコンストラクタを置くなということか?