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.