一、对象的定义
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。
二、创建对象
1、通过对象字面量创建对象
var student={
name:"lucky" , //student有一个name属性,值为"lucky"
grade:"大三" ,
say:function(){ //student有一个say属性,值为一个函数 / student有一个say方法
console.log("你好");
}
}
2、通过内置构造函数创建对象
知识回顾:js中内置的构造函数有哪些?
1、Number();
2、String();
3、Boolean()
4、Object();
5、Array();
6、Function();
7、Date();
8、RegExp();
9、Error()
以上九种如:new Object()、new Date()、new Array()、new RegExp() 都是内置的构造函数。
var student = new Object();
student.name = "lucky";
student. grade = "大三" ;
student say=function(){
console.log("你好");
}
三、 对象的属性操作
获取属性
第一种方式:. 语法
student.name 获取到name属性的值,为:"lucky"-
第二种方式:[]语法
student["name"] 等价于student.name,获取到name属性的值,为:"lucky"两种方式的差异
.语法更方便,但是有局限性(坑比较多),比如:
- .后面不能使用js中的关键字、保留字(class、this、function。。。)
- .后面不能使用数字[]使用更广泛
- 可以是变量o1[变量name]
- 可以是js中的关键字、保留字 ["class"]、["this"]都可以随意使用obj["this"]=10
- 可以是[0]、[1]、[2]
- 甚至还可以这样用:["[object Array]"]
(jquery里面就有这样的实现)
- 也可以这样用:["{abc}"]
给对象添加了{abc}属性
设置属性
student["gender"]="女"
等价于: student.gender="女"
含义:如果student对象中有gender属性就修改,没有gender属性就添加。
删除属性
delete student["gender"]
等价于 delete student.gender
今天我们先聊js对象的基本使用,对象的高级用法改天再聊。