Narcissus is neither as fast nor as feature-rich as SpiderMonkey, BUT it is substantially easier to read, understand, and (critically) modify. If you have a new feature idea, Narcissus is an ideal tool. With the Zaphod addon, you can also integrate Narcissus into the browser as your JS engine in order to do some real meaningful tests. Also, since your changes will be separate from the browser code base, you can more easily share your ideas with others.
Zaphod will process any script tag with a type of “application/narcissus” using the Narcissus engine. Since SpiderMonkey will ignore script tags of an unknown type, it won’t interfere with Narcissus. Also, you can specify the script type of the page as Narcissus with a meta tag:
<meta http-equiv=”Content-Script-Type” content=”application/narcissus” />
Doing so will cause Narcissus to execute the various on* listeners specified for different elements. (Unfortunately, SpiderMonkey will also execute them, which may or may not cause issues).