当前位置: 首页 > news >正文

JavaScript中获取对象属性的不同方法

JavaScript中获取对象属性的不同方法

文章目录

  • JavaScript中获取对象属性的不同方法
  • 一、点记法
  • 二、方括号记法
  • 三、Object.keys()方法
  • 四、Object.values()方法
  • 五、Object.entries()方法
  • 六、Object.getOwnPropertyNames()方法
  • 七、Object.getOwnPropertyDescriptors()方法

JavaScript提供了多种方式来获取对象的属性。这些方法可以根据不同的需求和情况来选择使用。以下是其中一些主要方法:

一、点记法

点记法是最直接的方法。只需在对象后面加上点(.),然后是属性名。例如:

let obj = {name: 'John', age: 30};
console.log(obj.name);  // 输出 'John'

二、方括号记法

如果你试图访问的属性名包含空格或特殊字符(如点或美元符号),或者是一个变量,那么可以使用方括号记法。例如:

let obj = { 'name with spaces': 'John', 'name$': 'Doe' };
console.log(obj['name with spaces']);  // 输出 'John'
console.log(obj['name$']);  // 输出 'Doe'

三、Object.keys()方法

这个方法返回一个包含对象所有键的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.keys(obj));  // 输出 ['name', 'age']

四、Object.values()方法

这个方法返回一个包含对象所有值的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.values(obj));  // 输出 ['John', 30]

五、Object.entries()方法

这个方法返回一个包含对象所有键值对的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.entries(obj));  // 输出 [['name', 'John'], ['age', 30]]

六、Object.getOwnPropertyNames()方法

这个方法返回一个包含对象自身所有属性(包括不可枚举的属性)的数组。例如:

let obj = {name: 'John', age: 30, nonEnumerable: 'foo'};
console.log(Object.getOwnPropertyNames(obj));  // 输出 ['name', 'age', 'nonEnumerable']

七、Object.getOwnPropertyDescriptors()方法

这个方法返回一个描述对象的所有自有属性的对象。例如:

codelet obj = {name: 'John', age: 30, nonEnumerable: 'foo'};
console.log(Object.getOwnPropertyDescriptors(obj));  // 输出 {...} (包含name, age, nonEnumerable的描述符)

以上就是一些在JavaScript中获取对象属性的主要方式。根据你的需求和场景,选择合适的方法来访问和操作对象的属性。

相关文章:

JavaScript中获取对象属性的不同方法

JavaScript中获取对象属性的不同方法 文章目录 JavaScript中获取对象属性的不同方法一、点记法二、方括号记法三、Object.keys()方法四、Object.values()方法五、Object.entries()方法六、Object.getOwnPropertyNames()方法七、Object.getOwnPropertyDescriptors()方法 JavaScr…...

【STM32教程】第四章 STM32的外部中断EXTI

案例代码及相关资料下载链接: 链接:https://pan.baidu.com/s/1hsIibEmsB91xFclJd-YTYA?pwdjauj 提取码:jauj 1 中断系统 1.1 中断的概念 中断系统的定义:中断是指在主程序运行过程中,出现了特定的中断触发条件…...

力扣第40天----第121题、第122题

# 力扣第40天----第121题、第122题 文章目录 一、第121题--买卖股票的最佳时机二、第122题--买卖股票的最佳时机II 一、第121题–买卖股票的最佳时机 ​ 分2种情况考虑,根据持有股票、不持有股票这2种情况,完成递推公式。另外,这里要求只买卖…...

Flask 使用 JWT(二)

在 Python 使用 JWT 主要的方案是 PyJWT 工具。 安装与基本使用 可以使用 pip 安装 PyJWT: $ pip install pyjwt编码与解码 编码函数 def encode( self, payload: Dict[str, Any], # payload 参数 key: str, …...

从0到1理解ChatGPT原理

目录 写在前面 1.Tansformer架构模型 2.ChatGPT原理 3.提示学习与大模型能力的涌现 3.1提示学习 3.2上下文学习 3.3思维链 4.行业参考建议 4.1拥抱变化 4.2定位清晰 4.3合规可控 4.4经验沉淀 机械工业出版社京东自购链接 写在前面 2022年11月30日,ChatG…...

如何解决 “Component cannot be used as a JSX component“

原因是react版本与types/react版本不一致导致的, 在tsconfig.json中加入以下代码,将依赖指向项目里的node_modules "paths": {"react": [ "./node_modules/types/react" ]}改完后代码大概是长这样的 {"compilerOptions": {..."…...

小程序自定义tabbar

前言 使用小程序默认的tabbar可以满足常规开发,但是满足不了个性化需求,如果想个性化开发就需要用到自定义tabbar,以下图为例子 一、在app.json配置 先按照以往默认的形式配置,如果中间的样式特殊则不需要配置 "tabBar": {&qu…...

分布式系统第五讲:分布式事务及实现方案

分布式系统第五讲:分布式事务及实现方案 事务是一个程序执行单元,里面的所有操作要么全部执行成功,要么全部执行失败。而分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。本…...

算法通关村17关 | 透析跳跃游戏

1. 跳跃游戏 题目 LeetCode55 给定一个非负整数数组,最初位于数组的第一个位置,数组中的每个元素代表你再该位置可以跳跃的最大长度,判断你是否能够达到最后一个位置。 思路 如果当前位置元素如果是3,我们无需考虑是跳几步&#…...

ARM接口编程—RTC(exynos 4412平台)

RTC简介 RTC(Real Time Clock)即实时时钟,它是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电。 RTC内部原理 RTC寄存器 RTC控制寄存器 …...

数据分享|WEKA信贷违约预测报告:用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归...

完整报告链接:http://tecdat.cn/?p28579 作者:Nuo Liu 数据变得越来越重要,其核心应用“预测”也成为互联网行业以及产业变革的重要力量。近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活、便快捷地获得中小额度的贷…...

逆市而行:如何在市场恐慌时保持冷静并抓住机会?

市场中的恐慌和波动是投资者所不可避免的。当市场出现恐慌情绪时,很多投资者会盲目跟从大众,导致决策出现错误。然而,聪明的投资者懂得在恐慌中保持冷静,并将其视为抓住机会的时机。本文将分享一些在市场恐慌时保持冷静并抓住机会…...

SpringBoot项目在Linux上启动、停止脚本

文章目录 SpringBoot项目在Linux上启动、停止脚本1. 在项目jar包同一目录,创建脚本xxx.sh【注: 和项目Jar同一目录】2. xxx.sh脚本内容,实际项目使用,只需修改jar包的名称:xxxxxx.jar3. 给xxx.sh赋予执行权限4. xxx.sh脚本的使用 …...

基于32位单片机的感应灯解决方案

感应灯是一种常见照明灯,提起感应灯,相信大家并不陌生, 它在一些公共场所、卫生间或者走廊等场所,使用的较为广泛,同时它使用起来也较为方便省电。“人来灯亮,人走灯灭”的特性,使他们在部分场景…...

机器学习——支持向量机(SVM)

机器学习——支持向量机(SVM) 文章目录 前言一、SVM算法原理1.1. SVM介绍1.2. 核函数(Kernel)介绍1.3. 算法和核函数的选择1.4. 算法步骤1.5. 分类和回归的选择 二、代码实现(SVM)1. SVR(回归&a…...

HTTP协议初识·下篇

介绍 承接上篇:HTTP协议初识中篇_清风玉骨的博客-CSDN博客 本篇内容: 长链接 网络病毒 cookie使用&session介绍 基本工具介绍 postman 模拟客户端请求 fiddler 本地抓包的软件 https介绍 https协议原理 为什么加密 怎么加密 CA证书介绍 数字签名介绍…...

c++ 类的实例化顺序

其他类对象有作为本类成员&#xff0c;先构造类中的其他类对象&#xff0c; 释放先执行本对象的析构函数再执行包含的类对象的析构函数 #include <iostream> #include <string.h> using namespace std;class Phone { public:Phone(string name):m_PName(name){…...

Vue自动生成二维码并可下载二维码

遇到一个需求&#xff0c;需要前端自行生成用户的个人名片分享二维码&#xff0c;并提供二维码下载功能。在网上找到很多解决方案&#xff0c;最终吭哧吭哧做完了&#xff0c;把它整理记录一下&#xff0c;方便后续学习使用&#xff01;嘿嘿O(∩_∩)O~ 这个小东西有以下功能特点…...

应该下那个 ActiveMQ

最近在搞 ActiveMQ 的时候&#xff0c;发现有 2 个 ActiveMQ 可以下载。 应该下那个呢&#xff1f; JMS 即Java Message Service&#xff0c;是JavaEE的消息服务接口。 JMS主要有两个版本&#xff1a;1.1和2.0。 2.0和1.1相比&#xff0c;主要是简化了收发消息的代码。 所谓…...

【C语言】指针详解(3)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解指针(2)&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一.函数指针数组二.指向函数指针数组的指针&#xff08;不重要&#xff09;三.回调函数 一.函…...

直播人力成本居高不下?2026十大AI数字人直播平台推荐实现长效运营

引文&#xff1a; 2026年&#xff0c;直播电商的竞争早已从“拼人设”转向了“拼夜间值守效率”。据公开数据显示&#xff0c;AI数字人核心市场规模预计在2026年逼近千亿大关&#xff0c;其中“降本”和“长效运营”是众多商家投身高频无人直播的核心诉求。事实上&#xff0c;…...

独立开发者实战:AI编程的泥泞战壕与生存指南

1. 从“氛围编程”到真实战场&#xff1a;一个独立开发者的自白如果你最近也在关注独立开发或者AI编程工具&#xff0c;那你一定听过“氛围编程”这个词。它听起来很酷&#xff0c;对吧&#xff1f;仿佛你只需要对着AI描述一下心中的“氛围感”&#xff0c;一个完美的应用就能应…...

面向密集预测任务的神经网络架构搜索:从原理到工程实践

1. 项目概述与核心价值“神经网络架构搜索在密集预测任务中的应用与优化”&#xff0c;这个标题听起来很学术&#xff0c;但背后其实是我们这些在一线搞计算机视觉、图像分割、深度估计的工程师和研究员们每天都在琢磨的“硬骨头”。简单来说&#xff0c;它探讨的是如何让机器自…...

Easydict:基于Raycast的智能翻译与查词插件,提升开发效率

1. 项目概述&#xff1a;一个为效率而生的翻译与查词工具如果你和我一样&#xff0c;是个常年和外语资料打交道的程序员、学生或研究者&#xff0c;那么“查词”和“翻译”这两件事&#xff0c;大概率是你工作流里最频繁、也最容易被中断的环节。传统的操作路径是什么&#xff…...

Awesome-Robotics-3D:机器人3D视觉资源精选与高效利用指南

1. 项目概述&#xff1a;一个机器人学3D视觉的“藏宝图” 如果你正在机器人、自动驾驶或者三维感知领域摸爬滚打&#xff0c;并且时常为了找一个靠谱的开源实现、一篇奠基性的论文&#xff0c;或者一个高质量的数据集而翻遍GitHub、arXiv和各大实验室主页&#xff0c;那么你很可…...

ADI GitHub工程编译指南:以ADRV9009/ZC706为例,搞懂Tcl脚本工程的结构与自动化构建

ADI GitHub工程编译指南&#xff1a;深入解析Tcl脚本工程与自动化构建体系 当你在GitHub上打开Analog Devices的HDL仓库时&#xff0c;可能会被密密麻麻的Tcl脚本和Makefile文件搞得一头雾水。这种以脚本驱动的硬件项目组织方式&#xff0c;正逐渐成为开源硬件领域的标准实践。…...

别再全网搜了!企业微信后台三步找到你的CorpID和Secret(附AccessToken一键生成工具)

企业微信开发实战&#xff1a;3分钟获取CorpID与Secret的终极指南 第一次接触企业微信API开发时&#xff0c;最让人头疼的莫过于找不到CorpID和Secret这两个关键凭证。官方文档信息分散&#xff0c;后台界面又不够直观&#xff0c;很多开发者在这个环节浪费了大量时间。本文将…...

FPGA开发实战:从问题定位到系统化解决,构建硬件设计核心能力

1. 项目概述&#xff1a;当FPGA问题来袭&#xff0c;你的第一反应是什么&#xff1f;如果你正在设计一个嵌入式系统&#xff0c;或者在调试一块数字电路板时&#xff0c;遇到了一个用微控制器&#xff08;MCU&#xff09;难以解决的时序、并行处理或接口协议问题&#xff0c;你…...

HUM4D数据集:无标记人体动作捕捉的挑战与评估

1. HUM4D数据集概述HUM4D是一个专门针对无标记人体动作捕捉技术评估的基准数据集&#xff0c;由计算机视觉研究团队开发。这个数据集的核心价值在于填补了现有动作捕捉基准在复杂场景下的空白——那些包含快速运动、严重遮挡、深度突变和身份混淆的真实挑战。在动作捕捉领域&am…...

STM32CubeMX呼吸灯实战:用TIM3的PWM模式驱动LED(附完整代码与重映射避坑指南)

STM32CubeMX呼吸灯实战&#xff1a;用TIM3的PWM模式驱动LED&#xff08;附完整代码与重映射避坑指南&#xff09; 呼吸灯效果是嵌入式开发中经典的PWM应用场景&#xff0c;不仅能直观展示定时器功能&#xff0c;还能为产品增添交互美感。对于STM32开发者而言&#xff0c;利用Cu…...