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日
    浏览(47)
  • 【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日
    浏览(57)
  • JavaScript (五) -- JavaScript 事件(事件的绑定方式)

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

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

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

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

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

    2024年02月08日
    浏览(44)
  • [JavaScript]JSON对象

    eval函数能将一个字符串当做一段JS代码解释并执行。 1.什么是JSON? JavaScript Object Notation(JavaScript标记对象),简称JSON。 JSON是一种 轻量级的数据交换 格式。 轻量级:体现在JSON的体积小,但可以表示的数据很多。 数据交换:例如C语言查询数据库之后(JDBC),拼接了一个

    2024年02月04日
    浏览(36)
  • JavaScript BOM对象

    一、window对象 顾名思义window是窗口的意思,也就是浏览器的窗口,所有浏览器都支持window对象,因此所有的JavaScript全局对象,函数,变量都是window对象的成员 全局变量是window对象的属性 全局函数是window对象的方法 子对象: 属性: 方法: 二、location 对象 location 对象用于获

    2024年02月05日
    浏览(44)
  • JavaScript this对象

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

    2024年03月11日
    浏览(35)
  • JavaScript---环境对象this

    环境对象 :指的是  函数   内部特殊的 变量   this , 它代表着当前函数运行时所处的环境。每个函数都有环境对象this。函数调用的方式不同,this指代的对象不同。 普通函数里面this指向的是window 谁调用,this就指向谁(是判断this指向的粗略规则) 箭头函数没有this

    2024年02月14日
    浏览(36)
  • JavaScript:DOM对象

    严格意义上讲,我们在 JavaScript 语法阶段学习的知识绝大部分属于 ECMAScript 的知识体系,ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的。浏览器将 ECMAScript 大部分的规范加以实现,并且在此基础上又扩

    2024年02月02日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包