Own isNaN vs. underscore/lodash isNaN (v6)

Revision 6 of this benchmark created on


Preparation HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>

Setup

function definitelyNaN (val) {
        if (val !== val) {
            return true;
        }
        return isNaN(val && val !== true ? Number(val) : parseFloat(val));
    }

Test runner

Ready to run.

Testing in
TestOps/sec
definitelyNaN
definitelyNaN(NaN);
definitelyNaN(0);
definitelyNaN(1);
definitelyNaN(1.23456789);
definitelyNaN(0x00025);
definitelyNaN("0");
definitelyNaN("1");
definitelyNaN("1.23456789");
definitelyNaN("0x00025");
definitelyNaN("1.2geoff");
definitelyNaN(".2geoff");
definitelyNaN("geoff");
ready
_.isNaN
_.isNaN(NaN);
_.isNaN(0);
_.isNaN(1);
_.isNaN(1.23456789);
_.isNaN(0x00025);
_.isNaN("0");
_.isNaN("1");
_.isNaN("1.23456789");
_.isNaN("0x00025");
_.isNaN("1.2geoff");
_.isNaN(".2geoff");
_.isNaN("geoff");
ready
nativeNaN
isNaN(NaN);
isNaN(0);
isNaN(1);
isNaN(1.23456789);
isNaN(0x00025);
isNaN("0");
isNaN("1");
isNaN("1.23456789");
isNaN("0x00025");
isNaN("1.2geoff");
isNaN(".2geoff");
isNaN("geoff");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.