首页 > 其他分享 >04-JS中的面向对象ES5

04-JS中的面向对象ES5

时间:2024-07-07 15:30:40浏览次数:12  
标签:ES5 console name 04 age JS person var log

01 JS对象中key的类型

02 创建对象的方法

03 对象的常见操作

3.1 访问对象的属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var person = {
            name: "kobe",
            age: 30,
            height: 1.98
        }
        console.log(person.age)
        console.log(person.height)
    </script>
</body>
</html>

3.2 修改对象的属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var person = {
            name: "kobe",
            age: 30,
            height: 1.98
        }
        person.age = 25
        console.log(person.age)
    </script>
</body>
</html>

3.3 给对象中添加属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var person = {
            name: "kobe",
            age: 30,
        }
        person.height = 1.98
        console.log(person.height)
    </script>
</body>
</html>

该属性存在就修改,不存在就添加上去

3.4 删除对象中的属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var person = {
            name: "kobe",
            age: 30,
        }
        delete person.age
        console.log(person.age)
    </script>
</body>
</html>

04 对象的方括号使用

主要是因为key是一个字符串的原因

05 对象的遍历

5.1 for循环示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var info = {
            name: "kobe",
            age: 30,
            height: 1.98
        }

        var infokeys = Object.keys(info)
        for (var i = 0; i < infokeys.length; i++) {
            console.log(infokeys[i])
        }
    </script>
</body>
</html>

5.2 for ... in ...

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var info = {
            name: "kobe",
            age: 30,
            height: 1.98
        }

        for (var key in info) {
            console.log(info[key])
        }
    </script>
</body>
</html>

06 内存分配初步理解图

07 js中一些现象的理解

7.1 现象1: 2个对象的比较

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var obj1 = {}
        var obj2 = {}
        console.log(obj1 === obj2)
    </script>
</body>
</html>

因为在js中只要是对象就一定会在堆内存中创建一个新的对象,就意味着它们在堆内存中会有2个不同的地址,所以它们肯定是不等的

7.2 现象2: 引用赋值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var info = {
            name: "kobe",
            friend: {
                name: "james"
            }
        }

        var friend = info.friend
        friend.name = "john"
        console.log(info.friend.name)
    </script>
</body>
</html>

08 创建一系列对象的方式

8.1 第1种方式: 字面量的方式

这种方式虽然可以创建,但是可以发现它们是非常类似,只有属性的值不一样,这样写就会写大量的重复代码

8.2 第2种方式: 函数的方式

8.3 第3种方式: 通过js提供的方式[ES5]

new一个对象时,js帮我们做的事情如下

标签:ES5,console,name,04,age,JS,person,var,log
From: https://www.cnblogs.com/yufc/p/18288548

相关文章

  • 【Three.js 分子/晶体结构解析教程】
    Three.js分子/晶体结构解析教程环境准备最终效果思路解析1、基本配置2、解析结构3、进行解析1)原子部分2)连健部分3)晶格部分4)绘制位置调整5)绘制环境准备目前使用的Three.js版本是0.165.0npmithree最终效果结构化学式Al4As14思路解析绘制分子/晶体结构首先......
  • JSP静态Webshell编码
    #0x00 背景介绍JSP静态Webshell分析,包括unicode、html、cdata、特殊字体编码等,相互结合以达到欺骗效果。#0x01unicode编码JSP中可以解析unicode编码,通过contentType字段定义。原始一句话如下:Stringcmd=request.getParameter("cmd");Processprocess=Runtime.getRu......
  • 20240704
    NFLSOJT2CF1076GArrayGame阿瑞游戏。考虑从后往前推。如果一个位置后面能走到的位置中有一个必败态,则一定会走过去,则当前位为必胜态。否则两人必然在当前位反复磨,直到一方不得不滚蛋为止。不得不滚蛋的那位就输了。因此当前位是否必胜只与当前位的奇偶性与后\(m\)位的状态......
  • Node.js之Express
    Express介绍Express是一个简洁、灵活的node.jsWeb应用开发框架,是目前最流行的基于Node.js的Web开发框架.它提供一系列强大的功能,比如:模板解析静态文件服务中间件路由控制还可以使用其他模块来帮助你创建各种Web和移动设备应用使用express本地安装$npminstallexp......
  • CesiumJS【Basic】- #073 日月矢量
    文章目录日月矢量1目标2代码日月矢量1目标绘制对日矢量和对月矢量2代码/**@Author:alan.lau*@Date:2024-06-1611:15:48*@LastEditTime:2024-06-1611:43:02*@LastEditors:alan.lau*@Description:*@FilePath:\my-cesium......
  • node.js_HTTP协议
    HypertextTransferProtocol  超文本传输协议1.HTTP报文 请求行 请求头请求体 它的内容形式很灵活,可以设置任意内容  2.HTTP响应报文响应状态码响应状态的描述遇到陌生的状态码可以参考一下这个网址:https://developer.mozilla.org/zh-CN/docs/Web/HT......
  • 04-归纳概括题3
    123自己在做题的时候,多问问这个词配不配出现在答题纸上,寻找一种感觉。这里有几个词是需要注意的。也许后文可以用得到。,4这里只是引入了“村寨银行”,存在并没有发生什么变化,只是后面说用于干什么、、、,但是还没有结果啊!!!没有体现出结果啊!5这个管理制度是我忽视的,引入......
  • Java语言,MySQL数据库;基于springboot的阅读系统 86095(免费领源码)计算机毕业设计项目推
    摘 要从古至今,阅读都是人们学习新技能,新知识的一种方式。随着互联网时代的到来,传统的纸质阅读早已满足不了人们对于阅读的渴望。在这样的大背景下,电子阅读便快速崛起。越来越多的人们喜欢愿意通过这样方式来阅读书籍。基于以上种种,本文设计并实现了书籍阅读系统。目的在于......
  • Java语言,MySQL数据库;基于微信小程序的安全教育平台面向大学生 85871(免费领源码)计算机
    目 录摘要1绪论1.1研究背景1.2研究现状1.3论文结构与章节安排2 基于微信小程序的安全教育平台面向大学生系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3系统功能分析2.3.1功能性分析......
  • KubeSphere 社区双周报|2024.06.21-07.04
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2024.06.21-07.04。贡献者名单新晋KubeSpherecontribu......