数据类型
1. 基本数据类型:null,string,undefined,number,Boolean,symbol
2. 引用数据类型:对象object 、数组Array、函数Function
字符串:是存储字符的变量
数字:可以带小数点,也可以不带,极大极小的数字可以通过科学计数法书写
布尔:只有两个值,true | false
数组:
var cars=new Array();
cars[0]="Saab";
cars[1]="dd";
cars[2]="bmw";
//或者
var vars=new Array("a","b","c");
js对象
对象由花括号分割,括号里,对象的属性以名称和值对的形式(name:value)来定义
var person={firstname:"Jones",lastname:"doe",id:22}
//对象两种寻址方式
name=person.lastname;
name=person["lastname"];
Undefined 和 Null
- undefined 代表变量定义了,没有赋值
- null代表变量赋值了,只是值为null
声明变量类型
当您声明新变量时,可以使用关键字“new”来声明其类型:
var carname=new String;
var x= new number;
and so on.
两种数据类型的区别
栈(stack):是自动分配的内存空间,大小固定,内存由系统自动释放。
堆(heap):是动态分配的内存,大小不一定,会自动释放。
- 存储位置不同: 基本类型存储在栈中,大小固定,占空间小,是频繁操作的数据。 引用数据类型存储在堆中,占据空间大,大小不固定。
- 传值方式不同: 基本数据类型 按值传递,无法改变一个基本数据类型的值,引用数据类型 应用类型值可以改变
- 值 基本类型的值是不可变的:即任何方法都无法改变一个基本类型的值,我们不能给基本类型添加属性和方法; 引用类型的值是可变的:我们可为为引用类型添加属性和方法,也可以删除其属性和方法。
- 比较
1. 基本数据类型的比较是值的比较,只有在它们的值相等的时候它们才相等;
2. 引用数据类型的比较是引用的比较,因为它是按引用访问的,换句话说就是比较两个对象的堆内存中的地址是否相同。