【前端 09】JavaScript中的对象与JSON

JavaScript中的对象与JSON

在JavaScript中,对象和JSON(JavaScript Object Notation)是两个紧密相连但又有区别的概念。它们都在数据处理和交换中扮演着重要角色。本文将详细讲解JavaScript中的自定义对象以及JSON对象的基本概念、格式、用法以及它们之间的转换。
请添加图片描述

自定义对象

在JavaScript中,自定义对象是一种非常灵活的数据结构,允许我们存储属性(键值对)和函数(方法)。通过对象字面量语法,我们可以轻松创建自定义对象。

语法格式

var 对象名 = {  属性名1: 属性值1,   属性名2: 属性值2,  属性名3: 属性值3,  函数名称: function(形参列表){  // 函数体  }  
};

调用属性和方法

  • 调用属性:对象名.属性名
  • 调用方法:对象名.函数名()

示例

var person = {  name: "Alice",  age: 30,  greet: function() {  console.log("Hello, my name is " + this.name);  }  
};  console.log(person.name); // 输出: Alice  
person.greet(); // 输出: Hello, my name is Alice

JSON对象

尽管JSON在JavaScript中经常被提及,但需要注意的是,JSON本身并不是JavaScript的一个对象或数据类型。JSON是一种轻量级的数据交换格式,它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。

格式

JSON对象使用大括号{}包围,内部包含多个键值对,键值对之间使用逗号,分隔。键(key)必须使用双引号"包围,值(value)可以是多种数据类型,包括数字、字符串(必须用双引号包围)、布尔值、数组(方括号[]包围)、对象(花括号{}包围)或null

示例

{  "name": "Alice",  "age": 30,  "isStudent": false,  "courses": ["Math", "Science", "English"],  "address": {  "street": "123 Elm St",  "city": "Somewhere"  }  
}

在JavaScript中使用JSON

在JavaScript中,我们经常需要将JSON字符串转换为JavaScript对象,以便进行进一步的操作。这可以通过JSON.parse()方法实现。相反,如果我们需要将JavaScript对象转换为JSON字符串以便传输或存储,可以使用JSON.stringify()方法。

示例
// JSON字符串转JS对象  
var jsonString = '{"name":"Alice","age":30}';  
var personObj = JSON.parse(jsonString);  
console.log(personObj.name); // 输出: Alice  // JS对象转JSON字符串  
var personObj = {name: "Alice", age: 30};  
var jsonString = JSON.stringify(personObj);  
console.log(jsonString); // 输出: "{"name":"Alice","age":30}"

总结

JavaScript中的自定义对象和JSON都是处理数据的重要工具。自定义对象提供了灵活的数据存储和操作方式,而JSON则是一种轻量级的数据交换格式,便于不同系统之间的数据交换。通过JSON.parse()JSON.stringify()方法,我们可以轻松地在JavaScript对象和JSON字符串之间进行转换。希望这篇文章能帮助你更好地理解JavaScript中的对象和JSON。

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

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

相关文章

基于微信小程序+SpringBoot+Vue的教务管理系统(带1w+文档)

基于微信小程序SpringBootVue的教务管理系统(带1w文档) 基于微信小程序SpringBootVue的教务管理系统(带1w文档) 在目前的情况下,可以引进一款基于web的高校教务管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完…

python拼接字符串方法

文章目录 1. 使用加号()2. 使用str.join()方法3. 使用格式化字符串(f-strings, % 操作符, .format() 方法)4. 使用列表推导式和join()结合 性能对比 在Python中,字符串拼接是将两个或多个字符串合并成一个新字符串的过…

生成RSA公钥的n值

简介:RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥。 原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将…

【leetcode 详解】生成特殊数字的最少操作【中等】(C++思路精析)

题目见下: 测试数据: 解题思路笔记: 最初拿到这道题是很蒙的,联想不到什么数据结构的模型(肯定是笔者积累太少了),甚至惯性地想怎么实现“删除数字”的操作:在原字符串中抽出一个字符然后将剩…

VS code 与Pycharm 的使用区别(个人)

注明:本文从这开始VS code简称VS,Pycharm简称PY 安装包大小 VS:PY 1:0 安装后实际大小 vs py VS:PY 2:0 界面ui(简易) vs py VS:PY 2:1 启动速度 VS:PY 3:1 注:以上为个人测评,无特殊意图

为什么AI会一本正经地胡说八道

泛泛地说,AI一本正经地胡说八道的原因可以归结为:AI的理解能力受到其训练数据和算法的限制,如果问题表达不清晰或者背景信息不足,AI可能会产生错误的推理或输出;AI语言模型本质上是基于统计学习和模式匹配的&#xff0…

第一个设计模式——单例模式

目录 一、特点: 二、实现单例模式步骤 三、饿汉式 四、懒汉式 五、双重检查锁 六、静态内部类 七、枚举 八、可能被反序列化和反射破坏什么意思? 九、如何解决呢? 一、特点: 唯一性,单例模式确保程序中只有一…

数据结构 -- 算法的时间复杂度和空间复杂度

数据结构 -- 算法的时间复杂度和空间复杂度 1.算法效率1.1 如何衡量一个算法的好坏1.2 算法的复杂度 2.时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3常见时间复杂度计算举例 3.空间复杂度4. 常见复杂度对比 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法…

我在高职教STM32——EXTI之外部按键中断(1)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

人工智能学习①

LLM背景知识介绍 大语言模型 (LLM) 背景 用于理解和生成人类语言,能够处理诸如文本分类、问答、翻译和对话等多种自然语言任务。 语言模型 (Language Model, LM) :给定一个短语(一个词组或者一句话)语言模型可以生成&#xff0…

Oat++ 后端实现跨域

这里记录在官方的例子中,加入跨域。Oat Example-CRUD 在官方的例子中,加入跨域。 Oat Example-CRUD 修改AppComponent.hpp文件中的代码,如下: #include "AppComponent.hpp"#include "controller/UserController…

idea-springboot后端所有@注释含义汇总-持续更新!

(1)启动类 ①SpringBootApplication 出现这个代表这个就是整个程序的入口,是运行的开始位置 (2)Dao层 ①Repository 作用就是声明自己这个为bean文件(每一个controller都是一个bean文件)&am…

blender顶点乱飞的问题解决

初学blender,编辑模式下移动某些顶点,不管是移动还是滑动都会出现定点乱飞的问题,后来才发现是开了吸附工具的原因!!!! 像下面这样,其实我只是在Z轴上移动,但是就跑的很…

Anaconda目录

安装目录 Anaconda 在默认情况下会安装到 C:\ProgramData\Anaconda3,而 conda 环境和包会安装在 C:\Users\username\.conda\ 目录下。 备注:我是在windows下安装 的Anaconda。我的安装目录是C:\Program Files\Anaconda3 pkgs目录 在以上两个目录下都有…

CH571F基于官方模版创建工程

直接使用MounRiver创建的工程只有最简单的串口和GPIO功能,其他PWM和SPI等驱动基本上都有,但蓝牙和USB只有参考官方的示例来,全部自己写属实有点麻烦了,而且还需要添加BLE的库。下面就简单基于官方的示例工程创建我们自己的工程。 …

抓包工具——wireshark的使用

​ 什么是wireshark wireshark是一个数据包捕捉程序。和linux下的tcpdump,以及sniffer,Fidder等软件功能类似。按理说,我们的计算机中的网卡设备只会将发给本机的数据包传输到上层进行解析,而其他的数据包会进行丢弃,…

jenkins集成allure测试报告

1.allure插件安装 (1)点击首页的【Manage Jenkins】-【Manage Plugins】 (2)选择【Available】选项,搜索输入框输入Allure,搜索出来的名字就叫Allure,当安装后名字会变为Allure Jenkins Plugi…

PPT模板替换秘籍:一键撤销原模板,轻松更换新风格!

将PPT中的模板换成另一个模板,可以通过几种不同的方法实现。以下是几种常用的方法: 方法一:使用PowerPoint内置的设计选项卡 打开PowerPoint:首先,打开你想要更改模板的PPT文件。 选择“设计”选项卡:在…

Mysql-覆盖索引和前缀索引

一.SQL提示 SQL提示,是优化数据库的一个重要手段,简单来说,就是在SQL语句加入一些人为的提示来达到 二.覆盖索引 尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少select* 知识小贴士: using index condition :查找…

android前台服务

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、使用2.1 添加权限2.2 新建…