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 不同点
函数:单独声明 单独调用
方法:在对象里存在的 用的匿名函数  
原文地址:https://www.cnblogs.com/fuyunlin/p/14406626.html