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();