原始类型
number (数字)
整数
可以正,0,负数,也可以10,8,16,等不同进制基数表示。
八进制是0开头的,后面的每一个数都不超过7,超过7就为十进制。
十六进制是以0x开头,后面跟0-9,A-F。
浮点数
可以小数点,也可以包含e(表示10幂次方数)两个同时包含也可以,不能用8进制和16进制。
浮点数将会自动转换为整数
var num=1.00;
console.log(num);//1,自动转换为整数
浮点数的最高精度是17位
var num1=0.1;
var num2=0.2;
console.log(num1+num2);//3.0000000000000004
(浮点数计算会产生舍入误差问题)
数字常量,Math对象获取
Math.E -自然对数的底数,e
Math.LN2 -2的自然对数
Math.LN10 -10的自然对数
Math.LOG2E -以2为底e的对数
Math.LOG10E -以10为底e的对数
Math.PI -常数π
Math.SQRT1_2 -0.5的平方根
Math.SQRT2 -2的平方根
特殊值,Number对象获取
Number.MAX_VALUE(可表示最大值)
Num.NaN(非数学字符)
Num.MIN_VALUE(可表示最小值)
Num.POSTIVE_INFINITY(正无穷大)
Num.NEGATIVE_INFINITY(负无穷小)
NaN;非数字类型
var ab="a1"
console.log(ab/10);//NaN
console.log(NaN==NaN);false;
注:涉及到的任何关于NaN的操作,都会返回NaN,NaN不等于自身。
isNaN函数
用于判断是否为一个数字类型。
如果传入的参数是一个非数字类型,那么返回true;否则返回false;
isNaN()函数,传入一个参数,函数会先将参数转换为数值。
如果参数类型为对象类型,会先调用对象的valueOf()方法,再确定方法返回的值是否可以转换为数值类型。如果不能,再调用对象的tostring()方法,再确定返回值。
数值转换
Number()转型函数,可以用于任何数据类型;
parseInt()将数字转为整型,用的比较多;
parseFloat;将值转换为浮点型。
string (字符串)
字符串类型string
字符串是以单引号或双引号括起来的任意文本,比如"abc",'xyz'等等,作用效果完全一样,但注意单双引号只是表示方式,不是字符串的一部分。
字符串有length属性。
显示字符串的长度,不显示字符串本体。
var str="hello";
console.log(str.length);//5
字符串的值是不可变的
转型函数string(),适用于任何数据类型(null,undefined转换为null和undefined);
toString()方法(null,defined没有toString()方法)
显示特殊的字符号串,要用转义符号;
\b -退格键
\f -换页
\n -换行
\r -回车
\t -制表符
\v -纵向列表
\" -双引号
\' -单引号
\( -左括号
\{ -左大括号
\[ -左方括号
\\ -反斜线
\/ -正斜线
\xxx -3位八进制
\xx -2位八进制
\uxxxx -4位十六进制表示的双字节字符
\* -星号
\+ -加号
\? -问号
Boolean (布尔型)
要么ture,要么false
可以直接这俩单词表示
也可以用表达式的结果来表示
js中布尔值只能用这两单词表示,不能用0,1
转型函数Boolean(),将某个值转换为Boolean类型。
如:console.log(Boolean(0));
undefined(未定义型)
表示在变量被创建后,没给该变量赋值之前所具有的值
例;
var name="lijinwen";
var age;
console.log(name);//lijinwen
console.log(age);//undefined(未定义)
console.log(a);//error报错
console.log(typeof name);//string(字母)
console.log(typeof age);//undefined(未定义)
console.log(typeof a);//undefined(未定义)
null (空值型)
被看作空对象指针,null类型也是空的对象引用
只有一个值,即null,所以,在你用typeof操作符去检测null的值时,结果是object类型。
如果你定义了一个变量,但是想在以后把这个变量作为对象使用,那么最好将该对象初始化为null值。
object (对象)
对象是一组属性与方法的集合,复杂数据类型。
constructor属性:构造函数属性,可确定返回当前对象的构造函数。
var o =new Object();
console.log(o.constructor);
//输出显示了o的构造函数Object
var arr=new Array();
console.log(arr.constructor);
//输出显示了arr的构造函数Array
var person ={};//创建了一个空对象
var student={
name:"小白",
age:18,
read:function(){
console.log("学生会阅读!")
}
}
/*创建了对象student,定义了静态属性name:小白,age:18,
自定义构造了动态函数function,其函数内容的表达式为“学生会阅读!”*/
Comments NOTHING