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();
  • 相关阅读:
    轻重搭配
    EF的优缺点
    使用bootstrap-select有时显示“Nothing selected”
    IIS发布 HTTP 错误 500.21
    js添加的元素无法触发click事件
    sql server查看表是否死锁
    sql server把一个库表的某个字段更新到另一张表的相同字段
    SQLSERVER排查CPU占用高的情况
    SQL server中如何按照某一字段中的分割符将记录拆成多条
    LINQ to Entities does not recognize the method 'System.DateTime AddDays(Double)' method, and this method cannot be translated into a store expression.
  • 原文地址:https://www.cnblogs.com/cykblogs/p/5738650.html
Copyright © 2011-2022 走看看