对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性
对象的分类:
1.内建对象
- 由ES标准中定义的对象,在任何ES的实现中都可以使用
例如:Math String Number Boolean Function Object...
2.宿主对象
- 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如:BOM(浏览器对象模型) DOM(文档对象模型)
例如 我们常用的console.log() 就是DOM 中的对象
3.自定义对象
- 由咱们开发人员自己定义的对象
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
var obj=new Object();//创建对象
在对象中保存的值称为属性:
向对象添加属性的语法: ①对象.属性名=属性值 ② 对象["属性名"]=属性值
读取对象属性的语法: ①对象.属性名 ②对象["属性名"]
- 注意:如果对象中没有的属性,不会报错而是返回undefined
重要!!!对象的属性值可以是任意的数据类型
属性名:
对象的属性名不强制要求遵守标识符规则
什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则。
in运算符
通过该运算符检查一个对象中是否含有指定的属性
如果含有则返回true,如果没有则返回false
语法 :"属性名" in 对象
Eg:var work=new Object(); work.name="小王";
work.adress="公园";var boss=new Object();
boss.name="小明"; boss.staff=work;
console.log("adress" in boss);
对象字面量:
创建一个对象var obj=new Object();
使用对象字面量来创建一个对象var obj={};
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名1:属性值1,属性名2:属性值2,...}
对象字面量的属性名可以加引号,也可以不加,建议不加
如果要使用一些特殊的属性名,则必须加上引号(obj["123"]="123234234";)
属性名与属性值是一组键值对结构,
键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开
如果一个属性之后没有其他的属性了,就不要写","逗号(符号都要是英文状态下的)。
Eg:var num={ name:xiaowu, age:20};
JavaScript基本数据类型与引用数据类型
- 基本数据类型:String Number Boolean Null Undefined
- 引用数据类型:Object
- JS中的变量都是保存在栈内存中的
基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响到其他的变量
对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间,而变量保存的是对象的内存地址(对象的应用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另外一个也会受到影响。
6.JavaScript对象字面量
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名1:属性值1,属性名2:属性值2,...}
对象字面量的属性名可以加引号,也可以不加,建议不加
如果要使用一些特殊的属性名,则必须加上引号
属性名与属性值是一组键值对结构,
键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开
如果一个属性之后没有其他的属性了,就不要写","逗号
对象的分类:
1.内建对象
- 由ES标准中定义的对象,在任何ES的实现中都可以使用
例如:Math String Number Boolean Function Object...
2.宿主对象
- 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如:BOM(浏览器对象模型) DOM(文档对象模型)
例如 我们常用的console.log() 就是DOM 中的对象
3.自定义对象
- 由咱们开发人员自己定义的对象
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
var obj=new Object();//创建对象
在对象中保存的值称为属性:
向对象添加属性的语法: ①对象.属性名=属性值 ② 对象["属性名"]=属性值
读取对象属性的语法: ①对象.属性名 ②对象["属性名"]
- 注意:如果对象中没有的属性,不会报错而是返回undefined
重要!!!对象的属性值可以是任意的数据类型
属性名:
对象的属性名不强制要求遵守标识符规则
什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则。
in运算符
通过该运算符检查一个对象中是否含有指定的属性
如果含有则返回true,如果没有则返回false
语法 :"属性名" in 对象
Eg:var work=new Object(); work.name="小王";
work.adress="公园";var boss=new Object();
boss.name="小明"; boss.staff=work;
console.log("adress" in boss);
对象字面量:
创建一个对象var obj=new Object();
使用对象字面量来创建一个对象var obj={};
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名1:属性值1,属性名2:属性值2,...}
对象字面量的属性名可以加引号,也可以不加,建议不加
如果要使用一些特殊的属性名,则必须加上引号(obj["123"]="123234234";)
属性名与属性值是一组键值对结构,
键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开
如果一个属性之后没有其他的属性了,就不要写","逗号(符号都要是英文状态下的)。
Eg:var num={ name:xiaowu, age:20};
JavaScript基本数据类型与引用数据类型
- 基本数据类型:String Number Boolean Null Undefined
- 引用数据类型:Object
- JS中的变量都是保存在栈内存中的
基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响到其他的变量
对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间,而变量保存的是对象的内存地址(对象的应用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另外一个也会受到影响。
6.JavaScript对象字面量
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名1:属性值1,属性名2:属性值2,...}
对象字面量的属性名可以加引号,也可以不加,建议不加
如果要使用一些特殊的属性名,则必须加上引号
属性名与属性值是一组键值对结构,
键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开
如果一个属性之后没有其他的属性了,就不要写","逗号