学习笔记整理-面向对象-01-认识对象

这篇具有很好参考价值的文章主要介绍了学习笔记整理-面向对象-01-认识对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、认识对象

1. 对象

  • 对象(object)是键值对的集合,表示属性和值的映射关系

  • 对象的语法

    • k和v之间用冒号分割,每组k:v之间用逗号分割,最后一个k:v对后可以不书写逗号。
  • 属性是否加引号

    • 如果对象的属性键名不符合命名规范,则这个键名必须用引号包裹。
         var xiaoming = {
            name: '小明',
            age: 12,
            'favorite-book': '三毛流浪记'
        }    
      
  • 属性的访问

    • 可以用点语法访问对象中指定键的值。
    • 如果属性名不符合JS标识符命名规范,则必须用方括号的写法来访问。
    • 如果属性名以变量形式存储,则必须使用方括号形式。
  • 属性的更改

    • 直接使用赋值运算符重新对某属性赋值即可更改属性
  • 属性的创建

    • 如果对象本身没有某个属性值,则用点语法赋值时,这个属性会被创建出来
  • 属性的删除

    • 如果要删除某个对象的属性,需要使用delete操作符
         var obj = { a: 1, b: 2 }; 
         delete obj.a;   
      

2. 对象方法

  • 如果某个属性值是函数,则它也被称为对象的"方法"

       var xiaoming = {
          name: '小明', 
          age: 12, 
          sex: '男', 
          hobbys: ['足球', '游泳', '编程'], 
          'favorite-book': '舒克和贝塔', 
          sayHello: function () {   // sayHello方法
              console.log('你好,我是小明,今年12岁,我是个男生');
           }
      };   
    
  • 使用"点语法"可以调用对象的方法

  • 方法和函数文章来源地址https://www.toymoban.com/news/detail-649946.html

    • 方法也是函数,只不过方法是对象的"函数属性",它需要用对象打点调用。

3. 对象的遍历

  • 和遍历数组类似,对象也可以被遍历,遍历对象需要使用for...in...循环
  • 使用for...in...循环可以遍历对象的每个
      for (var k in obj) { 
        console.log('属性' + k + '的值是' + obj[k]); 
      }
    
    • 循环变量k,它会依次成为对象的每一个键。
    • obj要遍历的对象。
    • obj[k]要遍历的对象。

4. 对象的深浅克隆

  • 对象是引用类型值
    • 对象是引用类型值,这意味着:
      • 不能用var obj2 = obj1这样的语法克隆一个对象。
      • 使用==或者===进行对象的比较时,比较的是它们是否为内存中的同一个对象,而不是比较值是否相同。
  • 对象的浅克隆
    • 浅克隆:只克隆对象的"表层",如果对象的某 些属性值又是引用类型值,则不进一步克隆它们,只是传递 它们的引用
    • 使用for...in...循环即可实现对象的浅克隆
  • 对象的深克隆
    • 深克隆:克隆对象的全貌,不论对象的属性值是 否又是引用类型值,都能将它们实现克隆。
    • 和数组的深克隆类似,对象的深克隆需要使用递归。

到了这里,关于学习笔记整理-面向对象-01-认识对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 01-k8s学习笔记之认识 Kubernetes

    应用部署的三大阶段 k8s 的特点 Apache Mesos Docker Swarm Google Kubernetes

    2024年01月16日
    浏览(62)
  • 【JavaScript】面向后端快速学习 笔记

    制作动态页面 脚本语言 弱类型 TS 强类型 1.HTML内部包裹 但是只能单页面使用 引入外部JS文件 2.1 数据类型 数值类型统一为 number , 不区分整数和浮点数 字符串类型为 string 和JAVA中的String相似,JS中 不严格区分单双引号 ,都可以用于表示字符串 布尔类型为 boolean 和Java中的boolea

    2024年01月21日
    浏览(44)
  • 设计模式学习笔记 - 面向对象 - 1.面向对象到底讨论的是什么

    面向对象编程( OOP )的全称是 Object Oriented Programming 。 面向对象编程语言( OOPL )的全称是 Object Oriented Programming Language 。 面向对象编程中有两个非常重要的概念,就是类( Class )和对象( Object )。面向对象编程这个概念第一次使用是在 SmallTalk 这种编程语言中,它也被认

    2024年02月22日
    浏览(46)
  • Java面向对象学习笔记-4

    当编写Java程序时,了解如何处理异常是至关重要的。异常处理可以帮助我们在程序执行过程中处理各种错误情况,以确保程序能够正常运行或者 graceful 地退出。本文将介绍一些关于Java异常处理的基本概念和最佳实践,包括自定义异常类、用户输入的处理、异常捕获与处理、

    2024年02月09日
    浏览(40)
  • Java学习笔记(三):面向对象

    类(class)和对象(object, 也被称为实例 instance)是 java面向对象的核心,可以把类理解成某种概念,对象理解为一个具体存在的实体。也就是说,日常说的人,其实都是人的实例,而不是人类。 定义类的简单语法: 修饰符可以是 public、final、abstract,或者完全省略。 对一个类而

    2024年02月11日
    浏览(50)
  • Java面向对象学习笔记-3

    本文将介绍Java编程中的一些基本概念和用法,包括类、接口、抽象类、继承、多态和组合等。通过代码示例,我们将深入探讨这些概念,帮助读者更好地理解如何使用Java进行面向对象编程。 Java面向对象学习笔记-1 Java面向对象学习笔记-2 我们首先来看纸张和墨盒类,它们是

    2024年02月09日
    浏览(39)
  • Python学习笔记(二十)————面向对象

    (1)面向对象的好处 在日常中,记录数据时往往使用统一的表格,这样就不会使得数据信息格式混乱,同样在程序中的数据组织中,仅仅通过变量来记录会显得混乱不统一。 在程序中是可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的。 1. 在程序中 设

    2024年02月13日
    浏览(49)
  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?

    在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并没有发挥面向对象编程的优势。这就相当于手握一把屠龙刀

    2024年02月22日
    浏览(49)
  • Lua学习笔记:面向对象的实现

    前言 本篇在讲什么 Lua中的面向对象的实现 本篇适合什么 适合 初学Lua 的小白 本篇需要什么 对 Lua 语法有简单认知 依赖 Sublime Text 编辑器 本篇的特色 具有全流程的 图文教学 重实践,轻理论,快速上手 提供全流程的 源码 内容 ★提高阅读体验★ 👉 ♣ 三级标题 👈 👉 ♦

    2024年02月13日
    浏览(47)
  • C#学习笔记--面向对象三大特征

    用程序来抽象现实世界,(万物皆对象)来编程实现功能。 三大特性:封装、继承、多态。 类与对象 声明位置: namespace 中 样式: class 类名{} 命名:帕斯卡命名法(首字母大写) 实例化对象:根据类来新建一个对象。 Person p=new Person(); 成员变量 声明在类语句块中 用来描述

    2024年02月08日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包