一、javascript数据类型的几种分类
原始类型<String Number Boolean>和对象类型
可拥有方法类型和不可拥有方法类型<null undefined>
可变类型<object、array>和不可变类型
javascript可以自由的进行数据类型转换。
javascript变量是无类型的,亦可理解为动态类型,变量可以被赋予任何类型的值,同一个变量可以重新赋予一个不同类型的值
var a='1';
var a=3;
var a=false;
console.log(a);//打印 false
console.log(Math.pow(2,53));// 打印2的53次幂
console.log(Math.round(.6));// 打印1.0 四舍五入
console.log(Math.ceil(.6)); // 打印1.0 向上求整
console.log(Math.floor(.6));// 打印0.0 向下求整
console.log(Math.abs(-5)); // 打印5 求绝对值
console.log(Math.max(5,3,2));//打印xyz中最大值
console.log(Math.min(5,3,2));//打印xyz中最小值
console.log(Math.random()); //打印生成一个大于等于0小于1.0的随机数
console.log(Math.PI);// 打印π圆周率
javascript中的算术运算在溢出(overflow),下溢(underflow),被0整除时不会报错.
console.log(Math.pow(2,10000));
//打印 Infinity 无穷大,相对的,当数值超出javascript所能表示的最小数值时为负无穷大
/*
下溢是运算结果无限接近于零并比javascript能表示的最小值还小的一种情况,会返回0
负数发生下溢返回负零
*/
// 被0整除并不报错,返回无穷大Infinity或者负无穷大-Infinity
// 0除以0是无意义的,返回NaN
console.log(0/0);// 0除以0 返回NaN
console.log(2/0); //被0整除返回Infinity
/*
无穷大除以无穷大 0/0
负数开方运算
算术运算符与不是数字或者不能转换为数字的操作数一起使用
以上情况皆返回NaN
*/
console.log(Math.pow(2,10000)/Math.pow(2,10000)); //无穷大除以无穷大
console.log(Math.sqrt(-3));// 负数开方
console.log(5/"ssdfsf");//不是数字或不能转化为数字的操作数进行算术运算
//以上3行代码打印 NaN
javascript中的非数字值和任何值都不相等,包括自身。无法通过x==NaN来判断变量x是否是NaN。应当使用x!=x来判断,当且仅当x为NaN时,为true。
isNaN() 如果参数是NaN或者是一个非数字值(比如字符串和对象),返回true
isFinite() 参数不是NaN、Infinity、-Infinity时,返回true
正零值和负零值是相等的
var a = 0;
var b = -0;
console.log(a===b);// true
整无穷大和负无穷大是不等的
var a = 0;
var b = -0;
console.log(1/a===1/b); //false
== 判断值 ===判断值和数据类型
Date() 表示日期和时间的对象
系统时间为 2017/8/19 16:54 周六
var now = new Date();
console.log(now);
//打印Sat Aug 19 2017 16:54:16 GMT+0800 标准时间
console.log(now.getFullYear());//2017
console.log(now.getMonth());//0开始计数,输出7
console.log(now.getDate());//1开始计数,输出19
console.log(now.getDay());// 6 周六
console.log(now.getHours());// 16或4pm
console.log(now.getUTCHours());
//使用UTC表示小时的时间,基于时区,中国时区8