对象基础知识点第一部分
对象:万物皆对象
1、概念:js中的对象就是无序的键值对的集合
2、键值对的集合:多个键值对,通过逗号( ,)隔开
描述特征:对象的属性
描述性对:对象的方法/对象中的函数
3、创建对象的两种方式:
(1)字面量 Var obj={};
(2)构造函数 var obj = new object();
4、对象的取值和赋值:
1、点语法
取值:对象名.属性名; (1)有这个属性名,返回对应值 (2)没有这个属性名,返回undefined
对象名.方法名();
赋值:对象名.属性名=‘ 新的值 ';(1)有这个属性名覆盖 (2)没有这个属性名 新建一个属性并赋值
2、中括号语法--关联数组的方式----说白了就是把对象当成数组看待,在中括号中可以是变量或者字符串(要加引号)
----如果想要使用一个变量来获取到对应的属性值,只能使用中括号,不能使用点语法
取值:对象名['属性名']
赋值:对象名['属性名']=‘新的值’
总结:点语法不支持变量,简洁方便
中括号语法支持变量,灵活,只要访问对象属性时,需要用到变量,只能使用中括号
5、遍历对象:访问对象的所有属性, 通过for·······in········语法可以遍历一个对象,属性名key,就是键 ,值obj[key]
语法:for(var k in obj){......}
6、删除对象的属性:delete 操作符
1、操作符可以删除对象的属性
2、有一个结果,结果是一个布尔值 true表示删除成功 false 表示删除失败
7、批量创建对象:可以同时创建多个对象
1、使用工厂函数批量创建 --通过工厂函数批量创建的对象,没有具体类型的,都是object,虽然封装了,但是还是通过字面量的方式创建的,所以类型还是object
语法:function createPerson(name){ var obj= { name:name } return obj }
2、构造函数的方式:----给新创建的对象 添加属性和方法(实例化对象)
语法:var 函数名=new 函数名();----构造函数必须要配合关键字new一起使用
new的四个作用: (1)新创建一个对象 并指定对象的类型
(2)让构造函数的this指向新创建的对象
(3)执行构造函数
(4)将新创建的对象返回
8、值类型与引用类型
概念:值类型(简单数据类型):存储在变量中,存的是值本身
引用类型(复杂数据类型):存储在变量中,存的是内存地址
赋值特征:值类型存储在变量,存的是值本身,所以赋值给其他变量的时候,赋值的也是值本身
引用类型存储在变量中,存的是内存地址,所以赋值给其他变量时,赋值的是内存地址