zoukankan      html  css  js  c++  java
  • 有关Js 创建对象的几种方式

    JS 创建对象的几种方式

    • new Object()构造函数
    ​         var student1 = new Object();
    ​         student.name = "zs";
    ​         student.id = 123;
    ​         student.message = function(){
    ​                 console.log("name:" + name + "id:" + id);
    ​          }
    
    ​      //调用方法
    ​      student1.message();
    
    • 对象字面量{}
      var student2 = {
      ​       name: "zs",
      ​       id: 123,
      ​       message: function(){
      ​            console.log("name:" + name + "id:" + id);
      ​       }
      }
      student2.message();
    
    • 工厂函数
      function createStudent(name,id){
      ​      var student = new Object();
      ​      student.name = name;
      ​      student.id = id;
      ​      student.message = function(){
      ​         console.log("name:" + this.name + "id:" + this.id);
      ​      }
      ​      return student;
      }
    
      //字面量写法
      function createStudent(name,id){
      ​    return {
      ​              name : name;
      ​               id : id;
      ​               message : function(){
      ​                    console.log("name:" + this.name + "id:" + this.id);
      ​               }
      ​     };
      }
    
      //生成真正的对象
      var student3 = createStudent("zs",456);
    
      var student4 = createStudent("zw",123);
    
      student3.message();
    
    • 自定义构造函数

      • 构造函数是根据具体的事物抽象出来的抽象模板

      • 实例对象是根据抽象的构造函数模板得到的具体实例对象

      • 与工厂函数不同的是,构造函数的命名首字母大写,构造函数内部,不用构造一个空对象再赋值给变量里,直接将属性添加给this关键字,没有return语句。

       function Student(name,id){
      ​      this.name = name;
      ​      this.id = id;
      ​      this.message = function(){
      ​              console.log(this.name + "," + this.id);
      ​      };
      }
    
      //生成对象实例
      var student5 = new Student("ls",789);
    
      //调用方法
      student5.message();
    
  • 相关阅读:
    有关WCSF的几点整理
    应用Response.Write实现带有进度条的多文件上传
    使用Response.Write实现在页面的生命周期中前后台的交互
    多线程实现Thread.Start()与ThreadPool.QueueUserWorkItem两种方式对比
    LinQ to SQL 及 non-LinQ方式实现Group的Performance对比
    Object.assign()方法
    继承
    面对对象和原型链
    画布实现验证码
    日期的格式 字符串转日期
  • 原文地址:https://www.cnblogs.com/dreamtown/p/14507680.html
Copyright © 2011-2022 走看看