一,基本数据类型:number string Boolean NaN undefind
引用数据类型: (对象数据类型)Object (函数数据类型)function
number:正数 ,负数, 0
NaN: 是不相等的;
=/是赋值的意思;
==/是判断左右两边的值是否相等;
/isNaN()检测一个值是不是有效的命题 无效为ture 有效为false
parseInt()//强制取整转换 从左到右取整 不识别小数点
parseFloat()//强制取整小数
Boolean:ture false
!一个叹号是取反的意思 首先将值转化为布尔 在取反
!!两个叹号的作用 是将其他的数据类型转化为布尔值 取反两次相当于
对象==对象 //永远不相等
对象==字符串//先将对象转换为字符串 然后再进行比较(调用toString方法)比较
例子:
[1,2,3,4,5]="";
[1,2,3,4,5].toString()//"1,2,3,4,5"不等于空字符串""
二,数据类型转换规则
1>null ==undefined/ture 但是null,undefined和其他书籍类型比较都不相等;
2>数字==布尔//布尔需要转换为数字
3>数字==字符串 字符串转换为数字
4>如果只有一个值 判断这个值是真还是假,遵循:只有0,NaN "" null undefined
这五个是假的 其他都为真
Object:引用数据类型(对象数据类型)
//js数据类型中的对象数据类型
//有多组[属性名和属性值]组成,多组键值对组成,有多个key:value
//属性名和属性值是用来描述这个对象特征的
var obj ={name:"zhufeng",age:6};
var personinfo ={
name:"张三",
age:28,
height:"180cm",
weight:"60kg"
}
var obj ={name:"zhang"};//字面量创建方式 可以直观的看出
var obj =Object();//实例创建对象
//给一个对象增加一组属性名和属性值
obj.name ="zhang";
obj["name"]="zhang";
//获取属性名和属性值,如果属性名不存在,默认返回的结果是undefined
console.log(obj["name"]);
console.log(obj.name);
console.log(obj.zz);//没有obj.zz的属性值 所以为undefined
//删除属性名和属性值
假删除 obj.age = null;
真删除 delete obj.age;
console.log(obj);
//对象数据类型中,还可以具体细分;
//对象(object),数组(arr),正则(RegExp),时间(date),字符串(string)布尔
var obj ={};
var arr =[];
var reg =/$/;
//js中对象,类,实例的区别:对象是泛指:js中万物皆对象,类是对象的具体细分,
//实例是类中的一个具体的事物,万物皆对象
三,基本数据类型和引用数据类型的区别
var num1 = 12;
var num2 = num1;把num1变量代表的值给了num2变量
num++//自增1 自己加1 也可以写成 num+=1
数据类型的检测
//typeof运算符 无论检测什么数据类型都会返回字符串