对象

创建对象的方式

给对象添加属性
对象名称.属性名称 = 值;
给对象添加行为
对象名称.行为名称 = 函数;

方式一:

        let obj = new Object(); //等号右边可以用 {}代替
        obj.name = "张张";
        obj.age = 24;
        obj.say = function () {
            console.log("hello guys!");
        }
        console.log(obj.name);
        console.log(obj.age);
        obj.say();

方式二:

let obj = {
            name: "张张", // 注意点: 属性名称和取值之间用冒号隔开, 属性和属性之间用逗号隔开
            age: 24,
            say: function () {
                console.log("hello guys!");
            }
        };
        console.log(obj.name);
        console.log(obj.age);
        obj.say();
函数和方法的区别 this

函数:函数就是没有和其它的类显示的绑定在一起的, 我们就称之为函数
方法:方法就是显示的和其它的类绑定在一起的, 我们就称之为方法

  • 函数可以直接调用, 但是方法不能直接调用, 只能通过对象来调用
  • 函数内部的this输出的是window, 方法内部的this输出的是当前调用的那个对象

无论是函数还是方法, 内部都有一个this
this是什么? 谁调用了当前的函数或者方法, 那么当前的this就是谁

工厂函数

工厂函数就是专门用于创建对象的函数, 我们就称之为工厂函数

let obj = {
            name: "张张",
            age: 24,
            say: function () {
                console.log("hello guys");
            }
        };
        let obj = {
            name: "欣欣",
            age: 23,
            say: function () {
                console.log("hi guys!");
            }
        };
        function createPerson(myName, myAge) {
            let obj = new Object();
            obj.name = myName;
            obj.age = myAge;
            obj.say = function () {
                console.log("hello guys");
            }
            return obj;
        }
        let obj1 = createPerson("张张", 24);
        let obj2 = createPerson("欣欣", 23);
        console.log(obj1);
        console.log(obj2);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 5,028评论 0赞 5
  • JavaScript面向对象 面向过程强调的是功能行为,关注的是解决问题需要哪些步骤 面向对象是将功能封装进对象,...
    七分之二十四阅读 309评论 0赞 1
  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,313评论 0赞 6
  • title: js面向对象date: 2017年8月17日 18:58:05updated: 2017年8月27日...
    lu900618阅读 727评论 0赞 2
  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,589评论 3赞 12

友情链接更多精彩内容