js对象的几种创建方式

js对象的几种创建方式

一、字面量方式

var obj = {    name: 'mm',    age: 18,    sayName: function() {            console.log(this.name);    }}

登录后复制

问题:创建多个对象时会造成代码冗余,很占内存空间。

二、工厂模式

02e4cfb45e5b62d72c7f40b7ab6e247.png

问题:虽然解决了对象字面量创造对象冗余的问题,但是存在对象识别的问题,不能反映它们之间的内在关系。

三、构造函数模式

c2fbbdc5cf087b95289f3ab7f66f7a5.png

问题:解决了工厂模式的问题,但是相同方法重复创建就浪费了内存空间。

四、原型模式

2e0a2decf6815b3b72f294b00ab194d.png

问题:共享方法,解决了构造函数的问题。但是当前实例的引用类型的属性被所有实例共享,一个变所有变。

五、组合模式(构造函数+原型模式)

13c345862861f48cb18cc7749db978f.png

这是常用的创建方式。

通过构造函数模式定义实例属性,通过原型模式定义方法和共享的属性。

推荐教程:js入门教程

以上就是js对象的几种创建方式的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2728606.html

(0)
上一篇 2025年3月7日 23:58:00
下一篇 2025年2月24日 21:27:22

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jQuery 插件开发教程

    扩展jquery插件和方法的作用是非常强大的,它可以节省大量开发时间。这篇文章将概述jquery插件开发的基本知识,最佳做法和常见的陷阱。 一、入门 编写一个jQuery插件开始于给jQuery.fn加入新的功能属性,此处添加的对象属性的名…

    编程技术 2025年3月7日
    000
  • js中如何判断数据类型

    方法一、js内置方法typeof 检测基本数据类型的最佳选择是使用typeof typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object”,“func…

    2025年3月7日
    200
  • JavaScript 如何实现横向瀑布流

    最近在做一个小程序项目,在 UI 上借鉴了一下其他 App 设计,其中有一个图片横向布局铺满的 UI 感觉挺好看的,类似于传统的瀑布流布局横过来一样。于是就自己实现了一下,并且将原本的横向两张图的方法扩展了下,改成了可以自定义显示张数的方法…

    2025年3月7日
    200
  • js如何对乱序数组进行排序

    具体代码为: nbsp;html>            Document     var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; arr.sort(function (a, b) { retur…

    2025年3月7日
    200
  • 利用js实现表格隔行换色效果

    首先我们来看一下实现的效果,如下图所示: 思路: 确定事件: 文档加载完成 onload 2. 事件要触发函数: init() 3. 函数:操作页面的元素 要操作表格中每一行 动态的修改行的背景颜色 具体代码: nbsp;html> …

    2025年3月7日
    200
  • JS 中 9 个强大主流写法(各种 Hack 写法)

    1. 全局替换 我们知道,字符串函数 replace () 仅替换第一次出现的情况。 您可以通过在正则表达式的末尾添加 /g 来替换所有出现的内容。 var example = “potato potato”;console.log(exa…

    2025年3月7日
    200
  • js中!与!!的用法介绍

    js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值, 1、!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。 !null=true…

    2025年3月7日
    200
  • js实现图片预加载

    什么是预加载: 当页面打开图片提前加载,并且缓存在用户本地,需要用到时直接进行渲染;在浏览图片较多的网页(百度图库,淘宝京东等),可以有更好的用户体验; 一张图片的预加载 var img=new Image();    img.addEve…

    2025年3月7日
    200
  • js如何实现下拉控制列表

    重要属性介绍: ondblclick=”selectOne()”:双击事件 select标签的属性: multiple=”multiple”: 看一下实现效果: 具体实现代码: nbsp;ht…

    2025年3月7日
    200
  • js如何创建不可变的对象

    对象的不变性意味着我们不希望对象在创建后以任何方式更改(将它们设置为只读类型)。 假设我们需要定义一个 car 对象,并在整个项目中使用它的属性来执行操作。我们不能允许错误地修改任何数据。 const myTesla = { maxSpee…

    2025年3月7日
    200

发表回复

登录后才能评论