8_1:对象基础
知识梳理
//1 JS中没有类的概念 只有对象 [ 和PHP不同 ]
//2 构造函数 不需要 return 就可以返回值
学习目标
//1 能够说出为什么需要对象
//2 能够使用字面量创建对象
//3 能够使用构造函数创建对象
//4 能够说出new的执行过程
//5 能够遍历对象属性
一 概念
1)什么是对象
//1 对象一定是一个具体的事务 //2 JS中的对象:一组无序的[ 属性 + 方法 的集合 ] //3 JS中所有事务都是对象,例如字符串、数值、数组、函数等
2)属性和方法
//属性:事务的特征 //方法:事务的行为
3)为什么需要对象
//1 保存一个值用 变量 //2 保存一组数据用 数组 //3 保存一个事务的完整信息用 对象
//4 JS中的对象表达结构更清晰、更强大
二 创建对象的三种方式
1)字面量创建
// 1 对象字面量是: 花括号 {} var obj = { name: '刘德华', age: 120, height: '165cm', say: function () { console.log('我是方法'); } } //注意点 //1 创建属性和方法用键值对的形式 和 css一样 //2 多个属性和方法之间用逗号分割 最后一个不用加逗号 //3 方法名 冒号 后面跟一个匿名函数
2)new关键字创建对象
//利用 new Object() 创建对象 var person = new Object(); //创建一个空对象 [ O是大写 ] person.name = '李白';//利用等号赋值 追加属性 person.age = 35; person.say = function () { //利用等号赋值 追加方法 alert('我是方法'); } person.say(); alert(person.name);
3)构造函数创建对象
var obj = new 构造函数名();
三 使用对象
// 1 调用属性方法1:对象名.属性名; [ 用点号 ]
调用属性方法2:对象名['属性名']; [ 用中括号 记得加引号 ]
// 2 调用对象方法:对象名.方法名(); [ 记得加小括号 ]
四 遍历对象属性 [ for in 循环 ]
var obj = { name : '李白', age : '45', sex : '男', say : function () { alert('遍历对象用 for in'); } } //遍历对象 for (var key in obj) { //console.log(key); //key 得到的是属性名 console.log(obj[key]);// obj[key] 得到的是属性值(必须用中括号 key是变量 不要加引号) //通常喜欢用 K 或者 key 就像for循环用i一样 }
对象的属性是无序的 不能用 i++ 来遍历
五 变量和属性的区别
//1 相同点:都是用来保存数据的
//2 不同点:
变量:单独声明并赋值 使用的时候直接写变量名 [ 单独存在 ]
属性:在对象里面存在 不需要var声明 使用的时候必须跟在对象名后面
六 函数和方法的区别
//1 相同点:都是做某件事
// 2 不同点
函数:单独声明 单独调用
方法:在对象里存在的 用的匿名函数