数字操作 转为false的类型 typeof操作符 isNaN函数
console.group('数字操作'); // 浮点数值的内存空间是整数的两倍; // 会alert出来3e-7;从小数点后面6个0开始,就用科学计数法了; //alert(0.0000003); // 这样会正常输出 console.log(0.000003); // 输出:0.30000000000000004 console.log(0.1+0.2); // 输出0.3 console.log(0.15+0.15); // NaN console.log(0/0); // Infinity console.log(1/0); // -Infinity console.log(-1/0); // NaN的任何操作都返回NaN console.log(NaN*0); // NaN与NaN不相等,与谁都不等; console.log(NaN==NaN); // Infinity console.log(Infinity+Infinity); // Infinity console.log(Infinity*Infinity); // NaN console.log(-Infinity+Infinity); // -Infinity console.log(-Infinity-Infinity); // -Infinity console.log(-Infinity*2); console.groupEnd(); console.group('typeof 操作符'); var str; // 输出undefined console.log(typeof str); // 没有定义的变量,也输出undefined console.log(typeof str1); console.log(typeof 1); console.log(typeof 'a'); console.log(typeof true); // 输出为number console.log(typeof NaN); // 输出为number console.log(typeof Infinity); // 输出为number console.log(typeof -Infinity); // 输出为undefined console.log(typeof undefined); console.log(typeof {}); console.log(typeof new Date()); // 输出为object console.log(typeof []); // 输出为object console.log(typeof null); console.groupEnd(); // 转为false的内容; console.group('转为false'); console.log(Boolean(0)); console.log(!!''); console.log(!!NaN); console.log(!!null); console.log(!!undefined); console.groupEnd(); console.group('isNaN函数'); // 返回true,的确不是数字 console.log(isNaN(NaN)); // 返回false console.log(isNaN(10)); console.log(isNaN('10')); // 返回true console.log(isNaN('blue')); // 返回false,true可以变成数字1 console.log(isNaN(true)); console.log(isNaN(false)); // 输出2 console.log(true+1); // 输出false,Infinity也算是数字 console.log(isNaN(Infinity)); console.groupEnd();