1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 1 1 1 32 32 4 28 1 27 7 20 2 18 10 8 32 1 | define(function () { var UNDEF; /** * Parses string and convert it into a native value. */ function typecast(val) { var r; if ( val === null || val === 'null' ) { r = null; } else if ( val === 'true' ) { r = true; } else if ( val === 'false' ) { r = false; } else if ( val === UNDEF || val === 'undefined' ) { r = UNDEF; } else if ( val === '' || isNaN(val) ) { //isNaN('') returns false r = val; } else { //parseFloat(null || '') returns NaN r = parseFloat(val); } return r; } return typecast; }); |