javascript 数据类型

来源:互联网 发布:linux 显卡查看 编辑:程序博客网 时间:2024/06/15 08:34

一、javascript数据类型的几种分类

原始类型<String Number Boolean>和对象类型可拥有方法类型和不可拥有方法类型<null undefined>可变类型<object、array>和不可变类型

javascript可以自由的进行数据类型转换。
javascript变量是无类型的,亦可理解为动态类型,变量可以被赋予任何类型的值,同一个变量可以重新赋予一个不同类型的值

var a='1';var a=3;var a=false;console.log(a);//打印 falseconsole.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是无意义的,返回NaNconsole.log(0/0);// 0除以0 返回NaNconsole.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());//2017console.log(now.getMonth());//0开始计数,输出7console.log(now.getDate());//1开始计数,输出19console.log(now.getDay());// 6 周六console.log(now.getHours());// 16或4pmconsole.log(now.getUTCHours());//使用UTC表示小时的时间,基于时区,中国时区8 

字符串string