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.rhkb.cn/news/217067.html

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

相关文章

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系,这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系,这部分步骤有时间补充 3.骨骼绑定 切换到物体模式,选中机器人头部,Shift选中骨骼,切换到姿态模式,&am…

《Easy3d+Qt+VTK》学习

《Easy3dQtVTK》学习-1、编译与配置 一、编译二、配置注 一、编译 1、 资源下载:easy3d giuhub 2、解压缩 3、用qt打开CMakeLists.txt即可 4、点击项目,选择debug或者release,图中3处可自行选择,因为我的qt版本是6&#xff0c…

【TC3xx】GETH

目录 一、RGMII 二、SMI接口 三、TC3xx MCAL 3.1 MCU 3.2 Port 3.3 DMA 3.4 中断配置 3.5 ETH 3.6 集成 一、RGMII TC3xx支持MII/RMII/RGMII三种以太网数据通信接口。其中RGMII经常用于MAC和MAC之间,或MAC与PHY之间的通信,RGMII的带宽可以是10M…

ViTDet论文笔记

arxiv:https://arxiv.org/abs/2203.16527 GitHub:https://github.com/ViTAE-Transformer/ViTDet 摘要 本文提出使用plain,non-hierarchical视觉transformer作为目标检测的主干网络。通过这种设计可以使得ViT结构模型不需要再重新设计一个分…

51单片机控制1602LCD显示屏输出两行文字一

51单片机控制1602LCD显示屏输出两行文字一 1.概述 这篇文章介绍1602型号显示屏的基础知识,以及使用单片机控制它输出两行内容。 2.1602基础知识 1602 液晶显示模块是一种通用的工业液晶显示模块,专门用来显示字母、数字、符号等的点阵型液晶显示模块…

Windows 安全基础——NetBIOS篇

Windows 安全基础——NetBIOS篇 1. NetBIOS简介 NetBIOS(Network Basic Input/Output System, 网络基本输入输出系统)是一种接入服务网络的接口标准。主机系统通过WINS服务、广播及lmhosts文件多种模式,把NetBIOS名解析对应的IP地址&#xf…

IntelliJ IDEA无公网远程连接Windows本地Mysql数据库提高开发效率

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…

资产侦查灯塔系统ARL部署

在docker和docker-compose都安装好的前提下进行部署 随便创建一个目录 mkdir docker_arl 切换到该目录 cd docker_arl 下面步骤是安装pip,如果已安装可以直接跳到wget命令下载灯塔系统文件 (但是我不确定pip版本是否有影响,你也可以将命…

iOS按钮控件UIButton使用

1.在故事板中添加按钮控件,步聚如下: 同时按钮Shift+Commad+L在出现在控件库中选择Button并拖入View Controller Scene中 将控件与变量btnSelect关联 关联后空心变实心 如何关联?直接到属性窗口拖按钮变量到控件上,出现一条线,然后松开,这样就关联成功了 关联成功后属性窗口…

Clickhouse RoaringBitmap

https://blog.csdn.net/penriver/article/details/119736050 https://juejin.cn/post/7179956435806076988 BitMap适合连续密集的正整数存储,对于稀疏的正整数存储,其性能在很多时候是没办法和int数组相比的,尤其是正整数跨度较大的场景&…

实验制备高纯酸PFA酸纯化器材质分析,SCH亚沸蒸馏器特点是什么

.酸纯化器:也称酸蒸馏器、高纯酸提取系统、酸纯化系统、亚沸腾蒸馏器、高纯酸蒸馏纯化器。常规实验室分析中,各种酸及试剂被广泛应用于日常的样品处理及分析中。那么应该选用什么材质的酸纯化器呢 氟塑料酸纯化器,提纯酸效果好,避…

CentOS7安装 Docker Compose

docker系列 CentOS7安装 Docker Compose docker系列前言1、下载 Docker Compose2、 授权执行权限3、添加软链接4、验证安装 前言 下面的操作是在centos7中完成的。这里安装的是2.23.3版本的docker-compose。 1、下载 Docker Compose 确保你具有 curl 工具,然后使用…

机器学习可重复性危机下,创建复杂数据系统的挑战

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 数据科学系统已成为众多研究领域的关键性工具,其开发者群体呈现出多元化的背景特征。在过去十年中,尽管数据科学与机器学习的强…

[Kubernetes]1.Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群

一. Kubernetes(K8S)简介 Kubernetes (K8S) 是一个为 容器化应用 提供 集群部署 和 管理 的开源工具,和docker swarm类似,由 Google 开发. Kubernetes 这个名字源于希腊语,意为 “ 舵手 ” 或 “ 飞行员 ” , k8s 这个缩写是因为 k 和 s 之间有八个字符的关系, Google…

家政预约小程序带商城,图文详解

家政预约小程序开发,在线选择服务分类,选择上门时间,提交订单,在线支付。 商城模块:商品分类,在线下单支付。 个人中心:订单管理(家政订单,搬家订单,商品订…

C# WPF上位机开发(通讯协议的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 作为上位机,它很重要的一个部分就是需要和外面的设备进行数据沟通的。很多时候,也就是在这个沟通的过程当中,上…

【功能更新】HelpLook AI能力数据分析能力强化提升!

功能更新速览👇 AI能力: 1.AI搜索支持设置为手动查看 2.新增文心一言3.5机器人模型 3.支持多轮对话 数据分析: 1.搜索词新增对应点击文章的数据统计 2.支持统计内容创建作者及相关数据 3.新增操作日志 4.新增获取留资列表API AI能力 1.AI搜索支持…

C/C++ 编程规范总结

目录 前言 一、编程规范的作用 二、规范的三种形式 三、规范的内容 1. 基本原则 原则1-1 原则1-2 原则1-3 原则1-4 原则1-5 原则1-6 原则1-7 2. 布局 规则2-1-1 规则2-1-2 规则2-1-3 规则2-1-4 规则2-1-5 规则2-1-6 规则2-2-1 规则2-2-2 规则2-2-3 建议2…

ubuntu22.04 安装cuda

CUDA(Compute Unified Device Architecture)是由 NVIDIA 开发的一种并行计算平台和编程模型。它允许开发者利用 NVIDIA 的 GPU(图形处理单元)进行高效的计算处理。CUDA 通过提供一系列的 C、C 和 Fortran 扩展,使得开发…

CountDownLatch用法、详解

目录 ​编辑 概述: 应用场景: 优点: 缺点: 主要方法: 1. CountDownLatch(int count): 2. void await(): 3. boolean await(long timeout, TimeUnit unit): 4. void countDo…