JS对象笔记

对象声明

对象也只是一种数据类型/字面值。写对象这个字面值有两种写法,一种是普通的对象,这种对象用new 构造函数(),另一种是JS内特有的json对象。这个对象是直接{}就代表对象。且也是在堆内。

对象的构成

无论是上面那种定义出对象的写法,在堆内的对象都有两种,一种是属性(变量存放数值),一种是方法(存放函数)。在json对象内。json对象的写法都是变量,只不过有些变量内存放的是函数。json内部写法和css类似,只不过以逗号隔开,且一定需要作为语句的结束。当执行key:value这种,会在堆内存开辟key变量,内部存放value。和赋值差不多。因此value:的写法其实是值,因此需要和字面值写法一样。但是对于前面的key规定必须是字符串。我们会将“”内的值作为变量名。属性名的写法一定需要“”,但是创建对象会默认加“”,但是如果带—不会默认加"",因此需要自己加,对于变量名有-的。

对于变量名没有-的会自动加“”,但是对于有-不会需要自己加“”。且访问变量名也有差别,对于没有-都能找到。但是对于-的变量名,对象名.属性名,对象名【‘属性名’】这个属性名就是变量名,但是属性名如果加-,对于第一种他会认为是-号运算符。-中文英文一样的。都是减号运算符。需要直接点,不能加()。

对象的增删改查

对象也可以进行增删改查。能存放多个数据的都能进行增删改查。

     当改的时候没有这个变量就会增加这个变量,且赋值,增加的属性相当于写在最后。

delete 对象名.属性名

当能访问到,如果只是访问最后整体是一个数,如果访问且有=,是该值。

一个对象,如果仅仅只是一个对象,写完就只是创建了。你要再次通过什么去拿这个对象内某一值,除非用那个创建的对象,但是也只能用一次,因为那一次创建给值之后,再写就是另一个对象。我们要拿到同样的对象地址,对那个地址进行操作。一改多改。可以用变量,因为对象也只是一个字面值,变量可以接收这个对象的地址。我们要访问就可以变量名.属性名就会找到,变量名存放地址.就会去找变量名。对象内的变量名.。如果只写了能访问到对象,则这个整体是数值。但是让访问作为=左边,会改值。如果查不到,整体给一个undefined

查变量/对象/对象内的变量/数组

只要写访问的变量名,数组的写法只有下标这种。对象没有下标,是通过访问对象内的变量名。都是对象内的变量名先找到对象,再.变量名,就会找到变量名,如果只是找到最后整体是数。要不=。无论什么对象都可以。

对象名.变量名/对象名['变量名']

变量的增删改查

查:直接访问

增:let 改的时候没有

改:= 

删:没有

对象和变量增删改查的区别

无论什么内的查,变量还是变量内的变量都是直接写名字。用了let都当成变量来。

但是我们变量增都是需要关键词的,没写也是有关键词的。但是变量内的变量/对象内的变量。增的时候不用关键词。自己会加。对于变量的修改=来修改。对于对象内变量的修改找到赋值,不能加关键词,加关键词一律当变量。自己会加,一定不能加关键词。删除的时候能找到就能删,不需要关键词。

对于这个增删改查,可以对于变量内存储了任何都可以。

对象方法的使用

对象内的属性值可以是函数,就相当于1给变量赋值赋了一个函数。对于变量内存储的是函数,则只要变量名()调用内部函数。找到变量名()

对于对象内的变量名存储函数也是一样,找到变量,即使是一个字面值内的变量也可以。 也是一样只要找到(),对象名.变量名(),第一个写的都是栈内的变量名。无论属性值是什么规定一定要,来作为语句的结束。对于无论是那个变量存储函数,能访问到调用最终整个都是那个值一样的。

遍历对象

对于遍历对象内的变量,我们要依次拿到对象内的变量 ,for循环。如果是for,let i=1这种循环,可以利用这个数字每一次循环都取到,都可以做对应操作。对于对象,for循环内如果写let k in  arr写一个变量,in 对象/数组。会循环,每次循环都将变量名加上双引号给k每次都赋值给它。我们知道for()内的是定义在代码块内。我们可以每次循环都能拿到对象的每个属性值。但是我们要遍历对象变量。每一次循环都能取到值,是对象名.属性名/对象名[属性名]这两种。遍历也就是拿到。循环for可以拿到。但是拿的时候循环访问只能用第二种。因为不能去双引号,去不了。number是变成数字。如果arr是对象,是变量名,如果是数字是下标。按0开始赋值。或者对象是按照定义顺序赋值。这里它不自己let。for不会自己给let是定义变量在全局/局域,函数参数。数组【’1‘】可以的中括号得到的值都是去’‘内的值。k是字符串。

内置对象

这个变量名是Math内有属性值PI是Π值。且小数点很多。不用再定义。以及上面的函数会返回值。

max,min是参数之间比较。不叫实参几个数那个大,那个小,不会比较实参内的数据。null是将要创建对象,但是先定义。内部其实什么都没有。{}是对象。有的。堆内存内没有。Number对于null可以转。round变量名内存了函数,返回那个数左右两个数,那个距离更近的数。整数就是这个数呗。

内置对象生成随机数

变量math内有random变量可以返回一个[0,1)的任意数。每次去调用都能随意返回一个数。我们如果要取数组下标0-数组下标,任意一个数和0-10一样

10+1改查arr.length。当参数有代码的时候,因为执行赋值操作,所以会先将参数内执行。得出结果。参数内执行,当执行代码上又有调用函数会去执行,只要执行到调用函数就会首先执行函数体内代码,才能执行下一步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

道路坑洞数据集(坑洞目标检测)VOC+YOLO格式650张

路面坑洞的形成原因是由于设计、施工、养护处理不当、控制不适和受气候、环境、地质、水文等自然因素影响,以及车辆的运行和车辆超载运行导致路面破损,出现坑洞的现象。 路面坑洞的分类: (1)路面混凝土板中坑洞&…

python自动化测试实战 —— CSDN的Web页面自动化测试

软件测试专栏 感兴趣可看:软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识: 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更…

SpringBoot入门知识

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

前端体系:前端应用

目录 前端体系基础 html(超文本标记语言) css(层叠样式单) javascript() 一、前端体系概述 二、前端框架 React Vue Angular 三、前端库和工具 lodash Redux Webpack 四、模块化和组件化 ES…

微软AutoGen框架:AI的新时代,你的新机遇

一、引言 在科技日新月异的今天,人工智能已经深入到我们生活的各个角落。无论是智能手机、智能家居还是自动驾驶汽车,人工智能的应用无处不在。而在这个领域中,微软AutoGen框架无疑是一颗璀璨的新星。它以其独特的创新性和实用性&#xff0c…

【网络通信原理之套接字】

目录 概念 分类 数据报套接字:使用传输层UDP协议 流套接字:使用传输层TCP协议 原始套接字 Socket编程注意事项 前言:本文主要介绍了在什么是套接字及在Java中套接字是什么,和在套接字编程的注意事项。 概念 Socket套接…

大数据技术之Hive(超级详细)

第1章 Hive入门 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序 …

WPF实现更加灵活绑定复杂Command(使用Microsoft XAML Behaviors 库)

1、安装NuGet 2、在XAML的命名空间引入&#xff1a; xmlns:i"http://schemas.microsoft.com/xaml/behaviors" 3、使用&#xff1a; <Canvas Background"Aqua"><Rectangle Stroke"Red" Width"{Binding RectModel.RectangleWidth}…

Java面向对象思想以及原理以及内存图解

文章目录 什么是面向对象面向对象和面向过程区别创建一个对象用什么运算符?面向对象实现伪代码面向对象三大特征类和对象的关系。 基础案例代码实现实例化创建car对象时car引用的内存图对象调用方法过程 成员变量和局部变量作用范围在内存中的位置 关于对象的引用关系简介相关…

Leetcode刷题笔记题解(C++):328. 奇偶链表

思路&#xff1a;遍历链表生成奇链表和偶链表&#xff0c;然后拼接两个链表生成新的链表。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), ne…

JS基础之作用域链

JS基础之作用域链 作用域链作用域链函数创建函数激活总结 作用域链 当JavaScript代码执行一段可执行的代码&#xff08;execution code&#xff09;时&#xff0c;会创建对应的执行上下文&#xff08;execution context&#xff09;。 对于每个执行上下文&#xff0c;都有三个重…

恢复出厂设置后在 Android 上恢复照片的 6 种常用方法

恢复出厂设置可帮助您删除电子设备的所有信息并将其恢复到原始系统状态。但是&#xff0c;如果您不小心按下了恢复出厂设置按钮并从 Android 设备中删除了所有难忘的照片&#xff0c;该怎么办&#xff1f;好吧&#xff0c;您无需担心&#xff0c;因为可以通过以下一些方法来恢复…

Apache Flink(十三):Flink History Server

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

区块链的可拓展性研究【05】闪电网络

1.闪电网络&#xff1a;闪电网络是一种基于比特币区块链的 Layer2 扩容方案&#xff0c;它通过建立一个双向支付通道网络&#xff0c;实现了快速、低成本的小额支付。闪电网络的交易速度非常快&#xff0c;可以达到每秒数万笔交易&#xff0c;而且交易费用非常低&#xff0c;几…

04.仿简道云公式函数实战-QLExpress基础语法

1. 前言 小伙伴大家好&#xff0c;在上一篇文章我们简单初探了QLExpress表达式引擎&#xff0c;我们简单写了一个HelloWorld的程序&#xff0c;并成功的运行期望的结果。在本篇文章中我们来熟悉一下QLExpress的语法&#xff0c;因为我们在后面简道云公式实战的时候&#xff0c…

发布 Whatsonchain 上的 BSV20 插件

我们发布了 whatsonchain 上的 BSV20 插件来验证 BSV20 代币。 对于任何交易&#xff0c;whatsonchain 都可以通过以下网址打开&#xff1a; https://whatsonchain.com/tx/{hash}我们使用此 bsv20 v21 交易 打开 Whatsonchain 。 打开whatsonchain后你会看到BSV20插件&#x…

Linux系统安装MySQL8.0版本详细教程【亲测有效】

首先官网下载安装包&#xff1a;https://downloads.mysql.com/archives/community/ 一、上传到安装服务器 二、解压 tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz三、移动位置并重新命名 mv mysql-8.0.31-linux-glibc2.12-x86_64 /usr/local/mysql四、创建mysql用户…

官宣 | HelpLook已入驻企业微信应用市场

HelpLook正式入驻企业微信第三方应用市场。 HelpLook支持自定义域名与AI站内搜索&#xff0c;能够帮助企业微信用户搭建所见即所得的企业知识库、产品帮助中心、用户手册、企业博客。 | 怎么找到HelpLook并开始使用 在企业微信的第三方应用就可直接搜索HelpLook&#xff0c;添…

虚幻学习笔记14—重叠和碰撞事件

一、前言 在开发应用当中两个物体的重叠和碰撞事件会经常用到&#xff0c;在虚幻中哲两个有很大的区别&#xff0c;在官方文档碰撞概述其实已经讲了怎样发生碰撞和重叠&#xff0c;但是还是遗漏不少注意事项合细节&#xff0c;主要文档写的太粗糙了&#xff0c;这也让我在使用的…

Docker Compose入门:打造多容器应用的完美舞台

Docker Compose 是一个强大的工具&#xff0c;它允许开发者通过简单的 YAML 文件定义和管理多容器的应用。本文将深入讨论 Docker Compose 的基本概念、常用命令以及高级应用场景&#xff0c;并通过更为丰富和实际的示例代码&#xff0c;助您轻松掌握如何通过 Docker Compose 打…