javascript面向对象基本概念

javascript面向对象基本概念javascript 面向对象从我刚开始接触 JS 这门语言 就有听说过一句话 世间万物皆对象 盘它就完事儿 那么对象究竟是什么 什么是面向对象编程 创建对象的方法从我刚开始接触 JS 这门语言 就有听说过一句话 世间万物皆对象 盘它就完事儿 那么对象究竟是什么 什么是面向对象编程 自己也查阅了部分书籍与资料 个人的一些理解 对象就是从我们现实生活中抽象出来的一个概念 有句话是这么说的 物以类

从我刚开始接触JS这门语言,就有听说过一句话:“世间万物皆对象,盘它就完事儿!”那么对象究竟是什么?什么是面向对象编程?

2.实例:程序使用类创建对象时,生成的对象叫类的实例。由类创建对象实例的过程叫做实例化。

3.对象定义:可以把对象理解为属性的集合,每个属性存放一个原始值、对象或函数。

4.面向对象:粗暴点讲就是不用去了解对象的内部结构,就可以去使用它,就比如我们玩英雄联盟,我们知道按键盘对应的键就能使用技能进行打击敌人,但是我们不必去了解它的内部工作原理(为什么我按这个键他就能触发技能),再比如我们生活中用手机打电话,一个原理,我们只需要知道手机能打电话就够了,不需要去了解它怎么生产的,就像我们js中使用date对象的方法就能获取和设置时间,但是我们不用弄清楚它为什么会实现这个功能,有点类似于我们常说的模块化,便于不同之间的协作。
不多说了,上干货,盘它。

创建对象的方法

  1. 基本函数模式
    在这里插入图片描述
    控制台打印:
    在这里插入图片描述


  2. 工厂函数模式:使用创建并返回特定类型的对象的函数(类似于工厂生产产品,原材料-加工-产品),优点:解决了多次重复创建多个对象的麻烦。 ;
    在这里插入图片描述
    控制台打印:
    在这里插入图片描述


  3. 构造函数模式:凡是使用new调用的函数都为构造函数,构造函数提供模板作为对象的基本结构,构造函数内部使用this变量,且this会绑定在实例对象上;
    在这里插入图片描述
    控制台打印:
    在这里插入图片描述


  4. 原型模式:每一个构造函数都有一个prototype属性指向另一个对象,这个对象的所有属性和方法都会被构造函数的实例继承,可以把那些不变的属性和方法,直接定义在prototype对象上 ;
  5. 构造函数原型组合模式:组合模式中实例属性与共享方法(用原型定义)是分离的,这与纯面向对象语言不太一致 ;
    在这里插入图片描述
    控制台打印:
    在这里插入图片描述


  6. 动态原型模式 :与混合的构造函数原型方式相同,就是在构造函数内定义非函数属性,而函数属性则利用原型属性定义,动态原型模式将所有构造信息都封装在一个构造函数中,又保持了组合的优点;
    在这里插入图片描述
    控制台打印:
    在这里插入图片描述
    这都是个人的一些理解(有些解释不清楚自己还故意去百度了下,哈哈,解释的不够专业,还望多多包涵)



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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225961.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:09
下一篇 2026年3月17日 上午8:09


相关推荐

  • iOS Instruments使用

    iOS Instruments使用一 Instruments 介绍 Instruments 一个很灵活的 强大的工具 是性能分析 动态跟踪和分析 OSX 以及 iOS 代码的测试工具 用它可以极为方便收集关于一个或多个系统进程的性能和行为的数据 并能及时随着时间跟踪而产生的数据 并检查所收集的数据 还可以广泛收集不同类型的数据 也可以追踪程序运行的过程 这样 instrument 就可以帮助我们了解用户的应用程序和操作系统的行为 总结一下 instrument 能做的事情 1 Instruments 是用于动态调追踪和分析 OSX 和 iOS 的

    2026年3月17日
    2
  • 智谱发布新一代旗舰开源模型 GLM-4.5,专为智能体应用打造

    智谱发布新一代旗舰开源模型 GLM-4.5,专为智能体应用打造

    2026年3月12日
    2
  • DropDownList1.SelectedIndex及DropDownList1.SelectedValue的赋值[通俗易懂]

    DropDownList1.SelectedIndex及DropDownList1.SelectedValue的赋值[通俗易懂]困扰好长时间的一个问题,理解之后发现这么简单我定义了一个DropDownList绑定了一个数据表,里面没有静态数据,我想让它编辑的时候传值过来选定要编辑那项,上网找了好多方法,可怎么也不能实现,后来查了SelectedValue的定义。publicvirtualstringSelectedValue{     get     {           intnum1=this.SelectedIndex;           if(num1>=0)           {     

    2022年7月18日
    19
  • java删除文件,重命名文件

    java删除文件,重命名文件在做项目时,遇到需要对文件做一些删除重命名等操作。基于java语言,保存代码段如下。//文件重命名,缩小数据量,将对应的文件列为一张2维的表,方便对摘要文档等的操作 publicstaticbooleanrenameFile(Stringpath,Stringoldname,Stringnewname){ Fileoldfile=newFile(path+oldnam

    2022年4月30日
    46
  • 数据同步利器-otter的搭建使用说明「建议收藏」

    数据同步利器-otter的搭建使用说明「建议收藏」一、Otter目前支持了什么1.单向同步,mysql/oracle互相同步2.双向同步,无冲突变更3.文件同步,本地/aranda文件4.双A同步,冲突检测&冲突补救5.数据迁移,中间表/行记录同步导历史表还需要程序实现吗?还在用mysql的主从复制吗?Otter都能为你解决。典型的场景

    2022年6月8日
    98
  • 剑指Offer面试题:11.调整数组顺序使奇数位于偶数前面建议收藏

    一题目:调整数组顺序使奇数位于偶数前面二解题思路如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在

    2021年12月19日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号