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

    首先要介绍一下对象的定义和作用:

    对象其实就是一组无序属性的集合,对象是由属性和方法组成的,事物特有的特征叫属性,事物拥有的行为叫方法

    对象可以帮助我们封装一些数据,方便我们在程序中传输或者控制

    程序中常见的对象主要有三种:Math  Array   function,现实生活中其实万物皆对象

    程序中除了三种主要的对象,我们就需要自定义一些对象,然后拿来传输,使用

    我们可以通过构造函数来创建自定义对象

    可以通过实例来帮助了解

    var shudent=new Object();                     -------------创建一个放置学生信息的对象

    student.name="赵四";          -----------属性

    student.sex="男";            -----------属性

    student.sayHi=function(){        -----------方法

      console.log("我叫"+student.name+"性别"+student.sex);

      }

    };

    console.log("student.name");

    console.log("student.sex");

    student.sayHi();             -----------对象名.方法名();

    批量创建对象,借助函数能创造更多对象

    function  creatStudent(name,sex){

      var shudent=new Object(); 

      student.name=name;

      student.sex=sex;

      student.sayHi=function(){        

      console.log("我叫"+student.name+"性别"+student.sex);

      }

      return student;

    };

    var a= creatStudent(赵四,男);

    a.sayHi();

    var b= creatStudent(张三,男);

    b.sayHi();

    。。。

    理解以上步骤后,现在可以更简化

    function  Student(name,sex){                                         -----------构造函数来创建对象

      this.name=name;                    -----------this指代当前创建出来的属性

      this.sex=sex;

      this.sayHi=function(){        

      console.log("我叫"+this.name+"性别"+this.sex);

      }

    };

    var a=new  Student(赵四,男);

    a.sayHi();

    var b=new  Student(张三,男);

    b.sayHi();                    ------------谁调用,this就指代谁,始终指向当前对象

    用new关键字来完成,

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

    4将this这个当前对象返回

    字面量对象

    var o={

      name:"赵四",

      sex:"男",

      age:20,

      sayHi=function(){        

      console.log("我叫"+o.name+"性别"+o.sex+"年龄"+o.age);

      }

    }

      console.log(o.name);

      o.sayHi();

    还有另外一种表达输出方式

    var o={

      name:"赵四",

      sex:"男",

      age:20,

      sayHi=function(){        

      console.log("我叫"+o["name"]+"性别"+o["sex"]+"年龄"+o["age"]);

      }

    }

      console.log(o["name"]);

      o["sayHi"]();

  • 相关阅读:
    461. Hamming Distance
    342. Power of Four
    326. Power of Three
    368. Largest Divisible Subset java solutions
    95. Unique Binary Search Trees II java solutions
    303. Range Sum Query
    160. Intersection of Two Linked Lists java solutions
    88. Merge Sorted Array java solutions
    67. Add Binary java solutions
    14. Longest Common Prefix java solutions
  • 原文地址:https://www.cnblogs.com/sw1990/p/5738413.html
Copyright © 2011-2022 走看看