面向对象入门

多态
继承
封装
编程语言角度
编程思维角度 创建对象

知识点:

a)面向对象的概念 以及与面向过程对比(了解)

b)对象自变量的认识以及属性的使用方式

i.  对象的属性增删改查

1、创建一个空对象

        var per1 = new Object();

2、把该对象所需要的属性、方法添加进去

            per1.name = "曹勇";
            console.log(per1.name);
            per1.gender = "男";

给新对象添加方法(函数 )

            per1.manager = function () {
                alert("保持安静");
            };
            per1.name = "西门大官人";
            per1.age = 12;
            console.log(per1.age);

删除对象中的属性:delete+对象属性名

            delete per1.age;
            console.log(per1.age);

对象名.方法名():调用对象下的方法

            per1.manager();

如何区分:函数\方法
当函数属于一个对象时,该函数就是这个对象下的一个方法,通过方法名来调用该函数

如何区分:变量\属性
当变量属于某一个对象时,该变量就是这个对象下的一个方法,通过属性名来调用该变量

        把per1对象交给per2,这样per2就和per1一致
        var per2 = per1;
        console.log(per2.name);
        console.log(per2.age);
        per2.name = "张倩";
        console.log("修改后的p2name属性"+per2.name);

因为per2和per1所指向的是同一块内存,所以per2修改了这块内存的值,per1再来访问时,就会获取到新的值

        console.log("per1的name属性值" + per1.name);

ii. 对象属性、方法的使用(包括用for in来遍历)

iii. 点语法和[]访问属性的区别
c)

创建对象的方式(重点)

i. 普通方式

ii. 工厂模式

a) 面向对象的概念 以及与面向过程对比(了解) 万事万物皆对象.
几个重要的概念:类 对象:属性、方法 封装 继承 多态

b) 对象自变量的认识以及属性的使用方式
i. 对象的属性增删改查

ii. 对象属性、方法的使用(包括用for in来遍历)

iii. 点语法和[]访问属性的区别

c) 创建对象的方式(重点) 三种方式
i. 普通方式
直接创建

1 创建一个空对象

        var per1 = new Object();
        // 2、把该对象所需要的属性、方法添加进去
        per1.name = "杨笑谈";
       console.log(per1.name);
        per1.gender = "男";
        // 给新对象添加方法(函数 )
        per1.manager = function () {
            alert("嘘");
        };  

2 使用字面量创建对象

    var per1 = {
        name: "张三",
        age: 12,
        hobby: "打球",
        sayHi: function () {
            alert("你好");
        }
    }  

3 工厂模式

function CreatPerson (name, age) {
            // 1.1、 创建一个新的空对象
            
            var person = new Object();
            // 1.2、给空对象添加属性和方法
            person.name = name;
            person.age = age;
            person.sayHi = function () {
                return name + age;
            };
            
            // 1.3、把创建好的对象返回出去
            return person;

}
2、调用构造函数创建对象

            var per1 =  CreatPerson("张三", 23);
                 console.log(per1.name);
                 per1.sayHi();  
        var per2 = CreatPerson("李四", 56);

通过instanceof可以判断出该对象是否是通过某个函数创建出来的。

返回值为false,说明系统无法判断通过这种方法创造出来的对象和构造函数之间的关系
console.log(per2 instanceof CreatPerson);
console.log(per2.name);

使用new+构造函数方法创建出来的对象可以确定对象是否是通过某个函数创建出来的

        var arr = new Array();
       // 返回true
        console.log(arr instanceof Array);

你可能感兴趣的:(面向对象入门)