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。当参数有代码的时候,因为执行赋值操作,所以会先将参数内执行。得出结果。参数内执行,当执行代码上又有调用函数会去执行,只要执行到调用函数就会首先执行函数体内代码,才能执行下一步。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ransac 算法的探索和应用

Ransac 算法python 应用和实现 Ransac 算法是一种常用的图像匹配算法,在参数估计领域也经常被使用到。针对估计各种曲线的鲁棒模型参数,效果显著。这里对ransac算法进行某些探索。 python program: import numpy as np import matplotlib.pyplot as p…

Profibus、Profinet、Ethernet有什么区别?

PROFINET 是一种新的以太网通讯系统,是由西门子公司和 Profibus 用户协会开发。 PROFINET 具有多制造商产品之间的通讯能力,自动化和工程模式,并针对分布式智能自动化系统进行了优化。其应用结果能够大大节省配置和调试费用。 PROFINET 系统集…

_pickle.PicklingError: Can‘t pickle : import of module failed

有问题 没问题的 python - pickle cant import a module that exists? - Stack Overflow

华媒舍:怎样利用旅游业发展媒体套餐宣传推广分析7个经典案例

1.分析经典案例在旅游业发展中,依靠媒体套餐开展宣传推广成为了一种常见的方法。下面将详细介绍7个经典案例,从这当中我们可以得出一些宝贵经验。 案例一:目标市场定位成功宣传推广一定要明确市场定位,针对不同的受众群体制定合理…

【FPGA/verilog -入门学习12】Verilog可配置的PWM设计,参数传递的3种方式

需求: 基于任务(task)的PWM设计仿真验证 需求分析: 1,需求实现可配置PWM输出(频率,占空比) 2,输入,输出端口 input i_clk, //clk 50Mhz input i_rst_n, input i_en, output…

设计模式(三)-结构型模式(1)-适配器模式

一、为何需要适配器模式(Adapter)? 在软件设计中,某个模块里有很多公用的功能接口,其中有些公用接口需要用到不同的类当中时,会出现接口不兼容的问题。因为这些不同的类对这个相同任务的接口,都有各自代码…

DNSLog漏洞探测(七)之SQL注入漏洞实战

DNSLog漏洞探测(七)之SQL注入漏洞实战 在前面的文章之中,我们已经学习了XSS、RCE、XXE、SSRF漏洞中有关于DNSLog平台的使用。这些漏洞本身在执行时就有解析URL地址,发起网络请求的操作,所以只要我们把DNSLog平台获取的子域名地址发送到存在漏…

优化钢铁加工:RFID技术的革新应用

优化钢铁加工:RFID技术的革新应用 RFID是一种无线通信技术,通过将标签上的电子数据以无线电信号的形式传输,实现对物品的远程识别和跟踪。在钢铁加工领域,RFID技术的应用能够提高生产效率、降低成本并优化物流管理。本文将探讨RF…

DevOps 和人工智能 – 天作之合

如今,人工智能和机器学习无处不在,所以它们开始在 DevOps 领域崭露头角也毫不令人意外。人工智能和机器学习正在通过自动化任务改变 DevOps,并使各企业的软件开发生命周期更高效、更深刻和更安全。我们在 DevOps 趋势中简要讨论过这一问题&am…

【Hive】——DDL(DATABASE)

1 概述 2 创建数据库 create database if not exists test_database comment "this is my first db" with dbproperties (createdByAllen);3 描述数据库信息 describe 可以简写为desc extended 可以展示更多信息 describe database test_database; describe databa…

有意思!40小时工作制来了,996再见

​在中国,加班文化已经深入人心。工资越高加班越多,“996”已成为一些行业标签,月薪30k以上的职场人中超过86%经常加班。所以今天我就来说一下这40小时工作制到底是从何而来,感兴趣的往下看看吧! 40小时工…

【Hive_02】查询语法

1、基础语法2、基本查询(Select…From)2.1 全表和特定列查询2.2 列别名2.3 Limit语句2.4 Where语句2.5 关系运算函数2.6 逻辑运算函数2.7 聚合函数 3、分组3.1 Group By语句3.2 Having语句3.3 Join语句(1)等值与不等值Join&#x…

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分 概述NLP 简介文本处理词嵌入上下文理解 文本数据加载to_device 函数构造数据加载样本数量 len获取样本 getitem 分词构造函数调用函数轮次嵌入 RobertaRoberta 创新点NSP (Next Sentence Prediction…

uniapp原生插件之安卓动态权限申请原生插件

插件介绍 安卓动态权限申请原生插件,集成了常用的权限申请,可以自定义权限申请 该插件为原生开发,如果您想使用UTS版本可以点击这里 插件地址 安卓动态权限申请原生插件,支持常用的权限申请,支持自定义权限申请 - DC…

CleanMyMac X2024中文版好不好用?有哪些特点

CleanMyMac X您的 Mac。极速如新。点按一下,即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下,即可运行所有任务,让您的 Mac 保持干净、快速并得到最佳防护。CleanMyMac 是一款功能强大的 Mac 清理程序…

【网络安全】Suspicious DNS Query(可疑的DNS查询)

文章目录 名词解释可能原因分析Action sinkhole在防火墙里面查询Suspicious DNS Query预防Suspicious DNS查询带来的风险推荐阅读 名词解释 “Suspicious DNS Query(可疑的DNS查询)”通常指的是在网络中检测到的可能具有风险或异常行为的DNS&#xff08…

【数据结构】栈和队列超详解!(Stack Queue)

文章目录 前言一、栈1、栈的基本概念2、栈的实现(数组实现)3、栈的基本操作3.1 栈的结构设计3.2 栈常见的基本函数接口 4、栈的实现4.1 初始化栈4.2 栈的销毁4.3 入栈4.4 出栈4.5 判空4.6 长度4.7 获取栈顶元素 完整代码Stack.hStack.cTest.c 二、队列1、…

点对点协议PPP

目录 一. PPP协议的特点1.1 PPP 协议应满足的需求1.2 PPP 协议的组成 二. PPP协议的帧格式2.1 PPP协议的透明传输2.1.1 同步传输2.1.2 异步传输 三. PPP协议的工作状态 \quad 一. PPP协议的特点 \quad \quad 用户到ISP的链路使用PPP协议 \quad \quad 1.1 PPP 协议应满足的需求 …

面试题:HashMap 为什么不能一边遍历一遍删除

文章目录 前言foreach 循环?HashMap 遍历集合并对集合元素进行 remove、put、add1、现象为什么会抛出这个异常呢?2、细究底层原理 前言 上面出现这样的原因是在使用 foreach 对 HashMap 进行遍历时,同时进行 put 赋值操作会有问题&#xff0c…

6-6 堆排序 分数 10

typedef int Datatype; typedef struct {Datatype* elem; int Length; }SqList; typedef SqList HeapType; void swap(int* a, int* b) {int tmp *a;*a *b;*b tmp; } //建大堆 //m: 结点个数 s: 待下调父结点下标 void HeapAdjust(HeapType H, int s, int m) {int child …