JavaScript——创建对象

<script type="text/javascript">
  //声明变量的首字母是小写
  //1.对象字面量
  /*var person = {
    name:"张三三";
    age:20;
    study:function(){
    }
  };
  */


  //2.构造函数首字母要大写,实例化对象
  function Person(name){
    this.name = name;
  }

  var p = new Person("人1");
  p.age = 20;
  p.study=function(){
    alert("好好学习");
  }
  //p.study();
  //alert(p.age);


  //3.1字面量函数
  var student = {
    name:"zss",
    age:20,
    teacher:new Teacher("chenjun","java")
  }

  //alert(student.teacher.name);

  //3.2字面量+构造器函数
  var student = {
    name : "张三三",
    age : 20,
    teacher:new Teacher("chenjun","java")//实例化函数
  }


  function Teacher(name,major){
    this.name = name;  //这里的this指向的是new Teacher出来的对象
    this.major = major;
  }

  var t = new Teacher("zss",20);

  t.height = 180;  //利用javascript的动态性来追加成员

  //在student里调用teacher里的方法及值
  //alert(student.teacher.name);
  //alert(student["teacher"].name);//对象.属性
  //alert(student["teacher"]["name"]);

  //静态方法:

  Person.sp ="静态属性";

  Person.sp2 = "静态属性2";

  Person.sm1 = function(){

    alert('静态方法');

  }

  alert(Person.sp2);

  Person.sm1();

字面量和构造函数类型的区别:

1)对象自变量只能修改属性和值,构造函数可以创建出很多对象,函数里面可以写很多代码(业务逻辑)

自变量函数直接调用,构造函数是用来new(实例化);


</script>

 

原文地址:https://www.cnblogs.com/laizhouzhou/p/7900273.html