1.对象的概念:任何可被描述的事物,都是对象。
在现实生活中,采取某些,如 属性名:属性值 的格式,可被描述 的事物,叫对象。
在程序中,这个描述事物的信息,叫对象,即new出来的都是对象。
对象的组成:键值对:、属性名、属性值(属性名和属性值要成对出现)
如: name: "xiaoming"
2.对象的创建(对于对象属性的操作,第一步就是先创建一个对象)
字面量创建对象:
var obj1 = {}; //这是一个普通空对象
注意:obj1为对象名,{}中存的数据就是对象的属性与属性值,相邻的属性在属性值后以逗号间隔
构造函数创建
var obj2 = new Object(); // 空对象
console.log(obj1); // Object
console.log(obj2);
console.log(obj1 == obj2); // false 任何两个对象都不相等
3.操作对象
3.1、对象结构介绍
点语法:“.” 当对象的属性名是一个具体的名字时。
中括号语法:“[]”当对象的属性名是一个不具体的名字时
获取内容:对象名.属性
设置内容:对象名.属性 = 要设置的内容
var obj = {
name:"admin",
age:18
}
// 目前的name和age是一个具体的名字
console.log(obj.name); // admin
//目前的对象的属性名,不是一个具体的名字,是一个变量
var str = "age";
console.log(obj[str]); // 18
或
//仔细品一品,那个str解析之后,其实就是字符的形式
console.log(obj["age"]); // 18
3.2、给对象赋值
直接赋值:
obj.name = 'twoheartliu'
obj.age = '19'
var age = 'height'
obj[age] = '180'
obj['age'] = '19'
批量赋值:
Obj.assign(obj, {age: '18', height: '169', hobby: 'play game'})
字面量创建对象的同时赋值:
var obj = {name: “xiaoming” , age : 18 , boolean: true};
构造函数时赋值:
var obj = new Object({name: 'twoheart', gender: 'male'})
3.3、更改对象的属性值:
obj.name = "zhangsan"; // 1.直接更改
// 2.变量形式给属性age赋值,把原来的值覆盖掉(也可认为删除老值)
obj[str] = "hahahhah";
// 3.为对象添加属性的同时赋值
obj.sex = "男";
3.4、关键字删除:delete
用作删除对象的属性,删除操作都不建议使用,慎用!
delete obj.name;
注意:
1、对象的属性是字符串,不是标识符
2、obj.name = undefined 并不能使属性被删除,也不能以此为依据判断属性是不存在于obj中
3.属性值可以是任何类型,包括函数
实际测试中:对于对象的属性操作,第一步就是创建对象,第二步才能进行对象操作,如果没有创建对象就直接以 对象.属性 或 对象[] 的格式进行操作对象的话会让程序报错,会显示对象未定义。其次,对象的操作都是在对象的{}外进行的,在{}内进行会造成语法错误。最后,对于对象的创建,可以创建空对象,也可以创建对象的同时赋好属性值,完全根据自愿。
以上内容都是在对象的基础语法中进行整理的,如果想进一步了解还需要查阅相关资料。