zoukankan      html  css  js  c++  java
  • 自定义对象

    我们知道了内置对象,那就不难理解自定义对象,随着社会的发展,一些内置对象满不足不了我们的需求,那这时就需要我们自己定义一些我们需要的对象,我们要了解他的一些基本概念,比如它的组成,作用啊。它是由属性和方法组成,他的作用是帮我们封装一些数据,方便我们在程序中传输和控制。它倒是有好几种创建方式:

    一:通过构造函数来创建

    // 自定义对象如何 创建   通过构造函数的方式创建对象
    var student = new Object(); //创建了一个学生的空对象
    // 属性(特征,姓名,性别,年龄,手机号,家庭)和方法(打招呼,游泳,打球)
    student.name = "张三";
    student.sex = "";
    student.age = 20;
    student.sayHi = function (){
    console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
    };

    // var num = 25;
    // console.log(num);

    console.log(student.name);
    console.log(student.age);
    console.log(student.sex);

    二:批量创建函数

    function  createStudent(name,age,sex){
    var student = new Object();// 用构造函数的方式创建了一个空对象并返回
    student.name =name;
    student.age = age;
    student.sex= sex;
    student.sayHi= function(){
    console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
    };
    return student;//将这个对象返回
    }

    var zs = createStudent("张三",25,"");
    zs.sayHi();

    var ls = createStudent("李四",26,"");
    ls.sayHi();
    var zs1 = createStudent("赵四",28,"");
    zs1.sayHi();

    上面批量创建对象里,student是对象,它可以有很多,那我们要怎么创建一个泛指的自定义对象呢,当我们调用时再给对象赋值,这样就可以使我们程序更简洁,我们可以使用两个关键字,this和new。

    function  createStudent(name,age,sex){
    //var student = new Object();// 用构造函数的方式创建了一个空对象并返回
    this.name =name; // 将当前的对象用另一个关键字来代替,就是this
    this.age = age;
    this.sex= sex;
    this.sayHi= function(){
    console.log("我叫"+this.name+",我今年"+this.age+",我是"+this.sex+"");
    };
    //return student;//将这个对象返回
    }

    //var zs = new createStudent("张三",22,"");
    //
    //zs.sayHi();

    用这种方法,是很方便,但我们要清楚的弄清this和new在这里的一些功能,因为这种构造方法中this和new是很重要的,this在这里可以指所有对象,当调用时,你想要什么对象。this它就指向谁,new在这里的作用就要多了点,它主要执行了四个步骤:

    // new 关键字来完成
    // 1. 创建一个空对象
    // 2. 将关键字this指向这个空对象
    // 3. 执行构造函数里面的代码,给当前空对象this设置属性和方法
    // 4. this这个当前对象返回

    三:对象字面量创建方式,它看上去更简洁,如果用的熟的话,那这个用起来是很方便的。

     var o = {
    name:"张三",
    age:20,
    address:"上海市",
    sex:"",
    // sayHi:function(){
    // console.log("大家好,我的名字是:"+ this.name+",我的年龄是:"+ this.age+",我是"+ this.sex+"");
    // }
    sayHi:function(){
    console.log("大家好,我的名字是:"+ o["name"]+",我的年龄是:"+ o["age"]+",我是"+ this.sex+"");
    }
    };

    它用一个{}把所有东西就包括进去了,当我们看见{}就要知道它是个对象,当看到[ ]时,我们要知道它是个数组,这两个符号都代表不同意义。

    其实这里面的格式和上面差不多,只是把对象"o"放到最外面,里面格式是属性+":"+属性值+","。理解了上面的几种方式后,看这种应该会觉得这种更简单,也简洁。

    JSON是JavaScript的对象的表达方式。我们只要知道他是传输数组的一种数据格式,他和对象字面量差不多,唯一的不同就是在属性上要加上双引号(“”);

     // 自定义对象如何 创建   通过构造函数的方式创建对象
       
    var student = new Object();  //创建了一个学生的空对象
       
    // 属性(特征,姓名,性别,年龄,手机号,家庭)和方法(打招呼,游泳,打球)
       
    student.name = "张三";
       
    student.sex = "";
       
    student.age = 20;
       
    student.sayHi = function (){
           
    console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
        };

    //    var num = 25;
    //    console.log(num);

       
    console.log(student.name);
       
    console.log(student.age);
       
    console.log(student.sex);

       
    //函数名();
        //
    对象名.方法名();
       
    student.sayHi();
  • 相关阅读:
    python学习笔记----正则表达式
    MongoDB系统CentOS 7.1 crash的排障过程
    MySQL实例crash的案例分析
    关于MySQL连接抛出Authentication Failed错误分析
    Redis偶发连接失败案例分析
    MYSQL NULL值特性
    一个MySQL 5.7 分区表性能下降的案例分析
    Linux 桥接网络不自动分配IP的问题
    Docker浅析
    配置Servlet 容器
  • 原文地址:https://www.cnblogs.com/cykblogs/p/5738650.html
Copyright © 2011-2022 走看看