使用基本数据变量所创建的变量都是独立的,不能成为一个整体,对象属于复合型的数据类型,在对象中可以保存多个不同的数据类型的属性。
由ES标准中定义的对象
比如:Match、String、Number、Boolean、Function... ...
比如:BOM、DOM
开发人员自己创建的对象
var obj = new Object();
var obj = {};
添加属性:对象.属性名 = 属性值
读取属性值:对象.属性名
修改属性:对象.属性名 = 新的属性值
删除属性:delete 对象.属性名
<script type="text/javascript">
var obj = new Object();
obj.name = "小明";
obj.age = 18;
console.log("学生姓名:"+obj.name+"学生年龄:"+obj.age);
obj.age = 20;
console.log("学生姓名:"+obj.name+"修改后的学生年龄:"+obj.age);
delete obj.age;
console.log(obj.age);
</script>
添加属性:对象["属性名"] = 属性值
读取属性值:对象["属性名"]
修改属性:对象["属性名"]= 新的属性值
删除属性:delete 对象["属性名"]
<script type="text/javascript">
var obj = new Object();
obj["name"] = "小明";
obj["age"] = 18;
console.log("学生姓名:"+obj["name"]+"学生年龄:"+obj["age"]);
obj["age"] = 20;
console.log("学生姓名:"+obj["name"]+"修改后的学生年龄:"+obj["age"]);
delete obj["age"];
console.log(obj["age"]);
</script>
对象["属性名"] 这种格式是支持特殊的属性名的,因为在js中,对属性名的要求非常宽泛,不强制要求必须遵守命名规则,什么名字都可以用,但是如果要是用特殊的属性名,需要使用对象["属性名"] 这种格式,并且这种格式还可以传递一个变量,更加灵活。
<script type="text/javascript">
var obj = new Object();
var n = "123";
obj["123"] = "小明";
console.log(obj[n]);
console.log(obj["123"]);
</script>
<script type="text/javascript">
var obj = new Object();
var n = "123";
obj."123" = "小明";
console.log(obj.n);
console.log(obj."123");
</script>
检查一个对象里是否含有制定的属性,如果有就返回True,没有返回False。
<script type="text/javascript">
var obj = new Object();
var n = "123";
obj["123"] = "小明";
console.log(obj[n]);
console.log("123" in obj);
console.log("456" in obj);
</script>