JavaScript中的数据类型:
5种基本数据类型:undefined、null、boolean、number 和 string
string:
创建方式:
var str = new String("hello"); // 使用typeof可以看出是object类型
var str = "hello"; // 使用typeof可以看出是string类型
undefined类型只有一个值,即:undefined 在使用var声明变量但未对其进行初始化时,这个变量的值就是undefined
说明:
1)声明的变量没有被初始化、对象的属性或方法不存在时:undefined
2)对于尚未声明过的变量,只能执行一项操作,即使用typeof操作符检测其数据类型,并且对于未初始化和未声明的变量执行typeof操作符都会返回undefied值
null类型也只有一个值,即:null 从逻辑角度来看,null值表示一个空对象指针,故使用typeof操作符检测null值时会返回“object”
说明:
1)对象不存在时:null
2)如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null
boolean类型有两个值:true和false
注:可以使用转型函数 Boolean() 将一个值转换为其对应的Boolean值
string类型:Boolean(任何非空字符串)-->true Boolean(空字符串)-->false
number类型:Boolean(任何非零数字值)-->true Boolean(0或NaN)-->false
object类型:Boolean(任何对象)-------->true Boolean(null)-->false
undefined类型: Boolean(undefined)-->false
注意:在逻辑运算中,0、""、false、null、undefined、NaN均表示false!!!
引用数据类型:object、array、function
object类型
创建Object类型的对象:
方式一:var obj = new Object();
方式二(常用):使用对象字面量表示法:
var person = {
name : "john",
age : 17
};
方式三:使用自定义的构造函数,通过this关键字为对象的属性赋值
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function(){
alert("hello, i am " + this.name);
};
}
var person = new Person("jack", 17);
说明:函数就是一个对象,即函数对象。
注意:
1)在使用函数对象的属性或方法之前,必须先new对象,不能直接使用函数对象。
即:通过new出来的对象实例来调用、修改、增加、删除函数对象的属性或方法。
2)构造函数中的this指代该函数对象(这里的this和Java中的this相同)
array类型
创建数组的方式:
方式一:使用Array的构造函数
var array = new Array(); // 注意:这里new关键字可以省略
var array = new Array(20); // 创建长度为20的数组
var array = new Array("a", "b");// 创建包含"a","b"的数组
方式二(常用):数组字面量表示法
var array = [];
var array = ["a", "b"];
注意:
var array = new Array(); // 使用typeof可以看出是object类型
var array = []; // 使用typeof可以看出是object类型
说明:二者完全等价。
数组的length属性不是只读的,通过设置这个属性,可以从数组的末尾移除数组元素或向数组中添加新元素。
eg:
var colors = ["red", "blue", "green"];
colors.length = 2; // 把colors数组的最后一个元素去掉
var colors = ["red", "blue", "green"];
colors[colors.length] = "black"; // 添加colors[3],赋值为black
colors[colors.length] = "brown"; // 添加colors[4],赋值为brown
function类型
函数是对象,每个函数都是function类型的实例