JavaScript 中创建对象的方式( 9种 )

这篇具有很好参考价值的文章主要介绍了JavaScript 中创建对象的方式( 9种 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

JavaScript 中创建对象的方式( 9种 ),# Javascript理论与实践,javascript,创建对象方式,大剑师

No. 内容链接
1 Openlayers 【入门教程】 - 【源代码+示例300+】
2 Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3 Cesium 【入门教程】 - 【源代码+图文示例200+】
4 MapboxGL【入门教程】 - 【源代码+图文示例150+】
5 前端就业宝典 【面试题+详细答案 1000+】

JavaScript 中创建对象的方式( 9种 ),# Javascript理论与实践,javascript,创建对象方式,大剑师


JavaScript 中创建对象的方式多种多样,以下是几种常见的创建对象的方法:

  1. 工厂模式

    function createPerson(name, age) {
      var obj = {};
      obj.name = name;
      obj.age = age;
      obj.sayHello = function() {
        console.log("Hello, I'm " + this.name);
      };
      return obj;
    }
    var person = createPerson("John", 30);
    
  2. 构造函数模式

    function Person(name, age) {
      this.name = name;
      this.age = age;
      this.sayHello = function() {
        console.log("Hello, I'm " + this.name);
      };
    }
    var person = new Person("John", 30);
    
  3. 对象字面量(或称“对象直接量”):

    var person = {
      name: "John",
      age: 30,
      sayHello: function() {
        console.log("Hello, I'm " + this.name);
      }
    };
    
  4. 原型模式

    function Person() {}
    Person.prototype.name = "John";
    Person.prototype.age = 30;
    Person.prototype.sayHello = function() {
      console.log("Hello, I'm " + this.name);
    };
    var person = new Person();
    
  5. 混合构造函数和原型模式(组合构造函数模式和原型模式的优点):

    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    Person.prototype.sayHello = function() {
      console.log("Hello, I'm " + this.name);
    };
    var person = new Person("John", 30);
    
  6. 动态原型模式

    function Person(name, age) {
      this.name = name;
      this.age = age;
      
      if (typeof this.sayHello !== 'function') { // 只有当sayHello未定义时才添加
        Person.prototype.sayHello = function() {
          console.log("Hello, I'm " + this.name);
        };
      }
    }
    var person = new Person("John", 30);
    
  7. 寄生构造函数模式

    function createPerson(name, age) {
      var obj = new Object();
      obj.name = name;
      obj.age = age;
      obj.sayHello = function() {
        console.log("Hello, I'm " + this.name);
      };
      return obj;
    }
    var person = createPerson("John", 30);
    
  8. 稳妥构造函数模式(主要用于特殊情况,对象没有公共属性,只提供方法):

    function Person(name, age) {
      var that = new Object();
      var privateName = name;
      var privateAge = age;
    
      that.getDetails = function() {
        return privateName + ", " + privateAge;
      };
    
      return that;
    }
    var person = Person("John", 30);
    
  9. 使用类来创建对象
    随着ES6引入类(Class)语法,还可以使用类来创建对象,虽然在底层仍然是基于原型机制工作的:文章来源地址https://www.toymoban.com/news/detail-846403.html

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log("Hello, I'm " + this.name);
  }
}
var person = new Person("John", 30);

到了这里,关于JavaScript 中创建对象的方式( 9种 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaScript速成之路】JavaScript内置对象--字符串对象

    📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 📜前言:小杨在上一篇带着大家一起学习了JavaScript中的内置的数组对象,想必大家对JavaScript的内置的数组对象已经有所了解了,那么今天我们将继续带着大家学习一

    2023年04月10日
    浏览(43)
  • 【JavaScript】JavaScript 简介 ② ( JavaScript 书写方式 | 内联 JavaScript | 内嵌 JavaScript | 外部 JavaScript )

    与 CSS 类似 , JavaScrip 有 3 种 书写方式 , 分别是 : 内联 ( Inline ) JavaScript 脚本 ; 内嵌 ( Internal ) JavaScript 脚本 ; 外部 ( External ) JavaScript 脚本 ; 将 单行 或 少量 JavaScrip 代码 直接在 HTML 标签元素 中 的 onclick / onload / onmouseover 等事件 中 , 这种 JavaScrip 书写方式 称为 \\\" 内联 JavaScript

    2024年03月28日
    浏览(56)
  • JavaScript (五) -- JavaScript 事件(事件的绑定方式)

    目录 1.  JavaScript 事件的概述: 2.  事件的绑定(两种方式):         JavaScript事件是 指当网页中某个元素被触发时,可以执行一些JS代码来处理这个事件 ,例如鼠标单击、鼠标移动、键盘按键等。事件通常被认为是浏览器与用户交互的方式之一。       

    2024年02月03日
    浏览(51)
  • javascript基础十:说说你对Javascript中this对象的理解

    一、定义 函数的 this 在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定) this 是函数运行时自动生成的一个内部对象,只能在函数内部使用,总指向调用它的对

    2024年02月06日
    浏览(38)
  • JavaScript系列从入门到精通系列第二十篇:使用工厂方法创建JavaScript对象,JavaScript构造函数详解,JavaScript类概念的介绍

    文章目录 一:使用工厂方法创建对象 1:原始写法 2:工厂方式 3:结果验证  二:构造函数 1:什么是构造函数 2:构造函数和普通函数的区别 3:构造函数的执行流程 三:类 1:什么是类 2:如何检查一个对象是否是个类的实例 3:Object的地位 四:构造函数修改 1:重大问题

    2024年02月08日
    浏览(40)
  • JavaScript对象详解(六)

    JavaScript对象是存储 键值对 的集合,表示属性和值的映射关系,这与Java中的HashMap很相似。JavaScript中所有对象都是由 Object 类派生的。 1、对象的使用 1.1、使用对象字面量法 1.2、使用构造函数 1.3、使用 Object.create() 2、继承与原型链 所有的 JavaScript 对象至少继承于一个对象,

    2024年02月07日
    浏览(21)
  • JavaScript this对象

    this时是函数运行时自动生成的一个内部对象,只能在函数内部使用,总 指向调用它的对象 默认绑定 全局环境中定义函数,内部使用this 上述调用函数的对象在浏览器中为window,所以this指向window,输出Jenny 函数可以作为某个对象的方法来调用,此时this就指向这

    2024年03月11日
    浏览(32)
  • JavaScript—面向对象、作用域

    C#:从类继承 js:从对象继承 模板(类) 原型继承(实体) 有一个对象存在,构造函数设置原型为这个对象 创建出来的对象就继承与这个对象(从对象那里继承) 此时p1、p2用的不是同一个say方法 方法与变量name、age等字段一样,占据了对象的内存 也就是说,每创建一个这

    2024年02月11日
    浏览(47)
  • JavaScript有哪些内置对象

    还是大剑师兰特 :曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。 No. 内容链接 1 Openlayers 【入门教

    2024年04月13日
    浏览(31)
  • JavaScript(内置对象)

    Array:用于在单独的变量名中存储一系列的值 String:用于支持对字符串的处理 Math:用于执行常用的数学任务,包含若干个数字常量和函数 Date:用于操作日期和时间 创建数组 为数组元素赋值 访问数组 类别 名称 描述 属性 length 设置或返回数组中元素的数目 方法 join() 把数组

    2024年02月10日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包