Unmodified span
span : [object HTMLElement]
[span] : [object HTMLElement]
String(span) : [object HTMLElement]
String([span]) : [object HTMLElement]
span.toString() : [object HTMLElement]
[span].toString() : [object HTMLElement]
span.valueOf() : [object HTMLElement]
[span].valueOf() : [object HTMLElement]

span with modified toString and valueOf
span : valueOf
[span] : toString
String(span) : toString
String([span]) : toString
span.toString() : toString
[span].toString() : toString
span.valueOf() : valueOf
[span].valueOf() : toString

span with modified toString that returns an Object
span : valueOf
[span] : valueOf
String(span) : valueOf
String([span]) : valueOf
span.toString() : [object Object]
[span].toString() : valueOf
span.valueOf() : valueOf
[span].valueOf() : valueOf

span with modified valueOf that returns an Object
span : toString
[span] : toString
String(span) : toString
String([span]) : toString
span.toString() : toString
[span].toString() : toString
span.valueOf() : [object Object]
[span].valueOf() : toString

span with modified toString and valueOf that returns an Object
TypeError: No default value
TypeError: No default value
TypeError: No default value
TypeError: No default value
span.toString() : [object Object]
TypeError: No default value
span.valueOf() : [object Object]
TypeError: No default value

span with modified toString that throws an exception
span : valueOf
Exception
Exception
Exception
Exception
Exception
span.valueOf() : valueOf
Exception

span with modified valueOf that throws an exception
Exception
[span] : toString
String(span) : toString
String([span]) : toString
span.toString() : toString
[span].toString() : toString
Exception
[span].valueOf() : toString

span with modified toString an valueOf that throw exceptions
Exception
Exception
Exception
Exception
Exception
Exception
Exception
Exception


Unmodified window
window : [object DOMWindow]
[window] : [object DOMWindow]
String(window) : [object DOMWindow]
String([window]) : [object DOMWindow]
window.toString() : [object DOMWindow]
[window].toString() : [object DOMWindow]
window.valueOf() : [object DOMWindow]
[window].valueOf() : [object DOMWindow]

window with modified toString and valueOf
window : valueOf
[window] : toString
String(window) : toString
String([window]) : toString
window.toString() : toString
[window].toString() : toString
window.valueOf() : valueOf
[window].valueOf() : toString

window with modified toString that returns an Object
window : valueOf
[window] : valueOf
String(window) : valueOf
String([window]) : valueOf
window.toString() : [object Object]
[window].toString() : valueOf
window.valueOf() : valueOf
[window].valueOf() : valueOf

window with modified valueOf that returns an Object
window : toString
[window] : toString
String(window) : toString
String([window]) : toString
window.toString() : toString
[window].toString() : toString
window.valueOf() : [object Object]
[window].valueOf() : toString

window with modified toString and valueOf that returns an Object
TypeError: No default value
TypeError: No default value
TypeError: No default value
TypeError: No default value
window.toString() : [object Object]
TypeError: No default value
window.valueOf() : [object Object]
TypeError: No default value

window with modified toString that throws an exception
window : valueOf
Exception
Exception
Exception
Exception
Exception
window.valueOf() : valueOf
Exception

window with modified valueOf that throws an exception
Exception
[window] : toString
String(window) : toString
String([window]) : toString
window.toString() : toString
[window].toString() : toString
Exception
[window].valueOf() : toString

window with modified toString an valueOf that throw exceptions
Exception
Exception
Exception
Exception
Exception
Exception
Exception
Exception


Unmodified Navigator
Navigator : [object Navigator]
[Navigator] : [object Navigator]
String(Navigator) : [object Navigator]
String([Navigator]) : [object Navigator]
Navigator.toString() : [object Navigator]
[Navigator].toString() : [object Navigator]
Navigator.valueOf() : [object Navigator]
[Navigator].valueOf() : [object Navigator]

Navigator with modified toString and valueOf
Navigator : valueOf
[Navigator] : toString
String(Navigator) : toString
String([Navigator]) : toString
Navigator.toString() : toString
[Navigator].toString() : toString
Navigator.valueOf() : valueOf
[Navigator].valueOf() : toString

Navigator with modified toString that returns an Object
Navigator : valueOf
[Navigator] : valueOf
String(Navigator) : valueOf
String([Navigator]) : valueOf
Navigator.toString() : [object Object]
[Navigator].toString() : valueOf
Navigator.valueOf() : valueOf
[Navigator].valueOf() : valueOf

Navigator with modified valueOf that returns an Object
Navigator : toString
[Navigator] : toString
String(Navigator) : toString
String([Navigator]) : toString
Navigator.toString() : toString
[Navigator].toString() : toString
Navigator.valueOf() : [object Object]
[Navigator].valueOf() : toString

Navigator with modified toString and valueOf that returns an Object
TypeError: No default value
TypeError: No default value
TypeError: No default value
TypeError: No default value
Navigator.toString() : [object Object]
TypeError: No default value
Navigator.valueOf() : [object Object]
TypeError: No default value

Navigator with modified toString that throws an exception
Navigator : valueOf
Exception
Exception
Exception
Exception
Exception
Navigator.valueOf() : valueOf
Exception

Navigator with modified valueOf that throws an exception
Exception
[Navigator] : toString
String(Navigator) : toString
String([Navigator]) : toString
Navigator.toString() : toString
[Navigator].toString() : toString
Exception
[Navigator].valueOf() : toString

Navigator with modified toString an valueOf that throw exceptions
Exception
Exception
Exception
Exception
Exception
Exception
Exception
Exception


Unmodified History
History : [object History]
[History] : [object History]
String(History) : [object History]
String([History]) : [object History]
History.toString() : [object History]
[History].toString() : [object History]
History.valueOf() : [object History]
[History].valueOf() : [object History]

History with modified toString and valueOf
History : valueOf
[History] : toString
String(History) : toString
String([History]) : toString
History.toString() : toString
[History].toString() : toString
History.valueOf() : valueOf
[History].valueOf() : toString

History with modified toString that returns an Object
History : valueOf
[History] : valueOf
String(History) : valueOf
String([History]) : valueOf
History.toString() : [object Object]
[History].toString() : valueOf
History.valueOf() : valueOf
[History].valueOf() : valueOf

History with modified valueOf that returns an Object
History : toString
[History] : toString
String(History) : toString
String([History]) : toString
History.toString() : toString
[History].toString() : toString
History.valueOf() : [object Object]
[History].valueOf() : toString

History with modified toString and valueOf that returns an Object
TypeError: No default value
TypeError: No default value
TypeError: No default value
TypeError: No default value
History.toString() : [object Object]
TypeError: No default value
History.valueOf() : [object Object]
TypeError: No default value

History with modified toString that throws an exception
History : valueOf
Exception
Exception
Exception
Exception
Exception
History.valueOf() : valueOf
Exception

History with modified valueOf that throws an exception
Exception
[History] : toString
String(History) : toString
String([History]) : toString
History.toString() : toString
[History].toString() : toString
Exception
[History].valueOf() : toString

History with modified toString an valueOf that throw exceptions
Exception
Exception
Exception
Exception
Exception
Exception
Exception
Exception


Unmodified Selection
Selection : 
[Selection] : 
String(Selection) : 
String([Selection]) : 
Selection.toString() : 
[Selection].toString() : 
Selection.valueOf() : 
[Selection].valueOf() : 

Selection with modified toString and valueOf
Selection : valueOf
[Selection] : toString
String(Selection) : toString
String([Selection]) : toString
Selection.toString() : toString
[Selection].toString() : toString
Selection.valueOf() : valueOf
[Selection].valueOf() : toString

Selection with modified toString that returns an Object
Selection : valueOf
[Selection] : valueOf
String(Selection) : valueOf
String([Selection]) : valueOf
Selection.toString() : [object Object]
[Selection].toString() : valueOf
Selection.valueOf() : valueOf
[Selection].valueOf() : valueOf

Selection with modified valueOf that returns an Object
Selection : toString
[Selection] : toString
String(Selection) : toString
String([Selection]) : toString
Selection.toString() : toString
[Selection].toString() : toString
Selection.valueOf() : [object Object]
[Selection].valueOf() : toString

Selection with modified toString and valueOf that returns an Object
TypeError: No default value
TypeError: No default value
TypeError: No default value
TypeError: No default value
Selection.toString() : [object Object]
TypeError: No default value
Selection.valueOf() : [object Object]
TypeError: No default value

Selection with modified toString that throws an exception
Selection : valueOf
Exception
Exception
Exception
Exception
Exception
Selection.valueOf() : valueOf
Exception

Selection with modified valueOf that throws an exception
Exception
[Selection] : toString
String(Selection) : toString
String([Selection]) : toString
Selection.toString() : toString
[Selection].toString() : toString
Exception
[Selection].valueOf() : toString

Selection with modified toString an valueOf that throw exceptions
Exception
Exception
Exception
Exception
Exception
Exception
Exception
Exception



