Fixed handling of "undefined", broken by my last change.

1. Fixed handling of "undefined", broken by my last change.
2. Added a test for empty strings.
   * Also had to change the exponential number notation from an uppercase 'E' to a lowercase 'e'.
   * As it was, the tests refused to run on modern versions of Chrome, IE, and Firefox.
   * After changing it to a lowercase 'E', the tests pass on all three browsers.