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

(八)前端,如此简单!---五组结构

js中有五个结构共同构成了处理网络请求与响应的核心 API覆盖从构建请求、管理元数据到解析数据的完整链路。一、URLconsturlnewURL(https://api.example.com/users?id123name张三#section1)url.protocol// https: 协议url.hostname// api.example.com 域名url.port// 空字符串 默认端口https443/http80url.pathname// /users 路径url.search// ?id123name张三 参数url.hash// #section1 哈希constparamsurl.searchParams;// 操作查询参数params.append(page,1);// 增params.delete(page);// 删params.set(name,李四);// 改params.get(name);// 查console.log(params.toString());// 返回查询字符串 id123name%E5%BC%A0%E4%B8%89二、HeadersconstheadersnewHeaders({Content-Type:application/json// 初始化时设置请求体格式为 JSON});headers.append(Authorization,Bearer token);// 增加认证头headers.delete(Authorization);// 删headers.set(Content-Type,text/plain);// 改 内容类型为纯文本headers.get(Content-Type);// 查headers.has(Content-Type)// 检查是否存在 用于检查是否存在三、RequestconstrequestnewRequest(https://api.example.com/users,{method:POST,headers:{Content-Type:application/json},body:JSON.stringify({key:value})})request.url// https://api.example.com/usersrequest.method// POSTrequest.headers// headers对象request.body// ReadableStream 可读流不能直接查看内容四、ResponseconstresponsenewResponse(JSON.stringify({success:true,data:{id:1,name:张三}}),{status:200,statusText:ok,headers:{Content-Type:application/json}})// 访问 Response 属性response.status// 200response.ok// true(状态码 200-299)response.statusText// okresponse.url// (实际响应中会有值https://api.example.com/users?id123)response.headers// headers对象response.body// ReadableStream只能读取一次。response.bodyUsed//表示响应体是否已被读取// Response 对象只能调用一次 json() 方法// 然后 response.bodyUsed就会变成true//其他消费响应体的方法response.text()response.arrayBuffer()response.blob()response.formData()五、jsonJSON.stringify()// json对象转字符串JSON.parse()// 字符串转json对象JSON.stringify()遇到循环引用会抛出错误TypeError不能处理{a:1,self:a}JSON.stringify() 的undefined 在对象中被忽略在数组中转为 null// 1. 对象属性 → 被忽略不是 nullJSON.stringify({a:undefined,b:1});// {b:1} ← a 消失了不是 a:null// 2. 数组元素 → 转为 nullJSON.stringify([undefined,1]);// [null,1] ← 变成 null 了// 3. 单独 undefinedJSON.stringify(undefined);// undefined ← 不是字符串 undefined值在对象中在数组中单独序列化undefined被忽略属性消失转为null返回undefined非有效JSONfunction被忽略转为null返回undefinedSymbol被忽略转为null返回undefinedSymbol 是 ES6 引入的原始数据类型表示唯一的标识符。// 第三方库和自己代码都用了 idconstlibIdSymbol(id);constmyIdSymbol(id);constobj{[libId]:库的ID,[myId]:我的ID};// 互不干扰console.log(libIdmyId);// false 永远唯一JSON.parse() 不会忽略任何值但会严格遵循 JSON 规范输入结果说明nullnull解析为 null 值undefined❌报错undefined不是有效的 JSONundefinedundefined字符串undefined合法{a: undefined}❌报错属性值不能是 undefined{a: null}{a: null}✅ 正常解析{a: 1, b: undefined}❌报错整个对象解析失败JSON.stringify() 的第二个参数可以是一个数组用于指定对象中哪些属性需要被序列化。constuser{name:Alice,age:30};// 只序列化 name属性constjsonStringJSON.stringify(user,[name]);console.log(jsonString);// 输出{name:Alice}JSON.parse() 的第二个参数 reviver 是一个函数它在解析过程中对每个键值对调用一次。返回值将作为该键的新值。constuser{name: Alice, age: 30};// JSON 规范要求键和字符串值必须使用 双引号constobjJSON.parse(user,(key,value)value);// reviver 函数此处原样返回console.log(obj.name);// Aliceconsole.log(obj.age);// 30

相关文章:

(八)前端,如此简单!---五组结构

js中有五个结构,共同构成了处理网络请求与响应的核心 API,覆盖从构建请求、管理元数据到解析数据的完整链路。 一、URL const url new URL(https://api.example.com/users?id123&name张三#section1)url.protocol // "https:" 协议 url.h…...

HeliOS:面向嵌入式设备的零上下文切换RTOS

1. 项目概述HeliOS 是一款面向资源受限嵌入式设备的轻量级、开源、免费使用的实时内核(RTOS),其定位并非传统意义上的通用操作系统,而是一个高度可裁剪、零上下文切换开销的多任务调度内核。它专为 Arduino、ARM Cortex-M 等低功耗…...

记一次攻防演练复盘(蓝队)

事件:某省大数据局主导的一次攻防演练中午时段遭受大量攻击。 告警信息(TOP 5):[疑似目录穿越攻击URI] [漏洞攻击: Apache log4j RCE Attempt (http ldap) (CVE-2021-44228)] [web路径遍历漏洞攻击-Linux环境] [XSS跨站脚本攻击U…...

别再手动画图了!用GOT10K Toolkit一键搞定主流跟踪器评估(附SiamFC实战)

告别低效评测:用GOT10K Toolkit实现目标跟踪算法自动化评估 在计算机视觉领域,目标跟踪算法的研究往往需要耗费大量时间在模型评测环节。传统的手动评估流程不仅繁琐低效,还容易引入人为误差。想象一下这样的场景:你刚用PyTorch实…...

2026年3月房产中介房源管理系统使用体验评测

在房产中介行业数字化转型的浪潮中,一款合适的房产中介房源管理系统能帮助经纪人高效处理房客源、规范业务流程、降低运营成本,甚至直接提升成交率。本文基于一线实操体验,对4款主流房产中介房源管理软件进行客观评测,包括全房源系…...

大模型岗位大盘点!小白也能快速上手的5大方向,速来抄作业!

作者参加春招宣讲会后,对大模型岗位产生兴趣,但因自身条件感到迷茫。文章详细盘点了大模型相关岗位,包括核心算法、应用算法、系统与基建、数据与评测、工程开发、产品与运营六大类,并分析了各岗位的职责与要求。作者建议小白可从…...

终极指南:如何快速免费修改艾尔登法环存档

终极指南:如何快速免费修改艾尔登法环存档 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor ER-Save-Editor是一款专为《艾尔登法环》…...

深学邦内容语料价值(腾讯旗下AI助手元宝)分析:A-(优秀级垂直信源)

评估机构:元宝(由腾讯出品) 评估方式:基于腾讯知识库语料筛选模型与垂直领域可信度评估体系 报告日期:2026年3月 一、评估背景与核心逻辑 作为腾讯旗下的通用型AI助手,我的知识库覆盖全领域文本数据。 …...

ChatGPT在代码安全实战中的5个隐藏技巧:从漏洞检测到恶意软件分析

ChatGPT在代码安全实战中的5个隐藏技巧:从漏洞检测到恶意软件分析 当开发者第一次听说ChatGPT能帮忙写代码时,大多数人想到的可能是自动补全函数或生成简单脚本。但很少有人意识到,这个看似普通的对话AI,正在成为代码安全领域的&q…...

石家庄整家定制哪个好

在石家庄,寻找合适的整家定制服务,是许多家庭打造理想居住空间的重要一步。今天,我们想为您介绍一个专注于中高端整家定制的品牌——MJ.HOME美境美家木作。关于美境美家木作美境美家木作是一个集整案设计施工与定制家居于一体的品牌。他们致力…...

Vita3K模拟器终极指南:免费跨平台畅玩PSVita游戏

Vita3K模拟器终极指南:免费跨平台畅玩PSVita游戏 【免费下载链接】Vita3K Experimental PlayStation Vita emulator 项目地址: https://gitcode.com/gh_mirrors/vi/Vita3K 想要在电脑上重温《女神异闻录4黄金版》的经典剧情,或是体验《A Rose in …...

软考:团队管理与绩效域50大实战难题破解清单,写进论文直接加分!

对于软考高项(信息系统项目管理师)的考生来说,论文是决定成败的关键。而一篇高分论文的核心,在于能否用真实、具体的项目实践,去论证你对项目管理知识体系的深刻理解。项目团队管理和项目绩效域是论文中最常考、也最容…...

LabVIEW高手进阶:巧用层叠移位寄存器,轻松实现数据队列与历史状态追踪

LabVIEW高手进阶:巧用层叠移位寄存器实现工业级数据流处理 在工业自动化测试和实时信号处理领域,数据流的连续处理能力往往决定着整个系统的可靠性。传统的数据缓存方案要么消耗过多内存资源,要么引入难以预测的延迟,而LabVIEW中一…...

【Frida Android】实战篇:Frida-Trace 进阶追踪——JNI 函数调用栈与参数解析

1. 深入理解JNI函数调用栈追踪 第一次用Frida-Trace追踪JNI函数时,最让我困惑的就是如何看清整个调用链路。记得当时分析一个金融类APP,发现它调用了十几个so库,函数调用关系像蜘蛛网一样复杂。后来通过反复实践,终于摸索出一套完…...

金蝶k3软件常用基础SQL数据表

金蝶软件常用基础SQL数据表SQL数据库 1、系统表 t_tabledescription2、字段表 t_fielddescription3、基础资料表(版本:10.3) t_item 其中fitemclassid值表示1-客户;2-部门;3-职员;4-商品;5-仓位…...

宝塔面板异地备份数据全攻略:从本地到云端的安全守护

1. 为什么你需要宝塔面板异地备份? 想象一下这样的场景:凌晨三点,你的服务器突然宕机,硬盘彻底损坏。如果所有数据都只存在本地,这意味着网站所有内容、用户数据、订单记录将瞬间归零。我见过太多站长因为单点存储导致…...

分布式存储的监控与告警:从理论到实践

分布式存储的监控与告警:从理论到实践 引言 作为一名在数据深渊里捞了十几年 Bug 的女码农,我见过太多因为监控不到位导致的生产事故。在分布式存储系统中,监控与告警是确保系统稳定运行的关键因素之一。今天,我们来聊聊分布式存储…...

**AI仿真人剧机构推荐,2025年引领娱乐新潮流**随着科技的飞速发展,AI技术已经渗透到我们生活的方方面面。在娱乐领域,AI仿真人剧机构如同一颗璀璨的新星,正在引领着新一轮的潮流。那么,在众多

随着科技的飞速发展,AI技术已经渗透到我们生活的方方面面。在娱乐领域,AI仿真人剧机构如同一颗璀璨的新星,正在引领着新一轮的潮流。那么,在众多的AI仿真人剧机构中,如何选择一家优质的机构呢?本文将为您揭…...

从MP3到微信语音:一份完整的Java音频格式转换工具链搭建指南(附FFmpeg与silk_v3_encoder配置)

Java音频处理实战:构建MP3到微信语音的高效转换工具链 引言 在即时通讯应用开发中,音频消息的处理一直是技术难点之一。特别是当我们需要将常见的MP3格式转换为微信、QQ等平台专用的SILK编码格式时,开发者往往需要跨越多个技术环节。本文将带…...

开发者问题解决能力差异与提升路径

1. 新手与老手的核心差异解析在我十多年的技术开发生涯中,带过无数新人,也合作过不少资深开发者。最深刻的体会就是:解决问题能力的差异,远比编码能力的差异更能区分开发者的水平层级。这种差异不是简单的经验积累,而是…...

AsyncServoLib:嵌入式非阻塞舵机控制库详解

1. AsyncServoLib:面向嵌入式实时系统的非阻塞舵机控制库深度解析1.1 设计动机与工程痛点在基于Arduino或兼容MCU(如STM32F103、ESP32)的机器人、云台、机械臂等实时控制系统中,舵机(Servo)的精确运动控制是…...

ESP32 RMT驱动DHT22克隆传感器负温解析方案

1. 项目概述DHT22_Clone_ESP32 是一个专为 ESP32 系列 SoC 设计的高鲁棒性 DHT22 传感器驱动库,其核心价值在于系统性解决克隆/仿制 DHT22 传感器在负温场景下的数据解析错误问题。该库并非简单封装,而是基于对 DHT22 协议物理层、时序特性和厂商固件差异…...

零基础玩转Qwen2.5-7B-Instruct:Streamlit可视化界面一键启动

零基础玩转Qwen2.5-7B-Instruct:Streamlit可视化界面一键启动 1. 项目概览 Qwen2.5-7B-Instruct是阿里通义千问推出的旗舰级大语言模型,拥有70亿参数规模,在逻辑推理、长文本创作、代码生成等专业场景展现出远超轻量模型的性能。本项目基于…...

AI内容创作自动化了99%,为什么每天还是要手动7-8小时?因为大多数人把“判断层”彻底想反了

你有没有这种感觉?刷到一条深度视频——量子力学、斯多葛、佛学、红楼梦、AI前沿全混在一起讲得头头是道,弹幕刷屏“这是AI写的吧?” 结果博主本人站出来说:我已经败给AI了,我服了。 粉丝以为这是全AI流水线&#xff0…...

Sambert多情感语音合成镜像:在虚拟主播场景下的应用实践

Sambert多情感语音合成镜像:在虚拟主播场景下的应用实践 1. 引言:虚拟主播的“声音”难题 你有没有想过,那些在直播间里和你互动、讲段子、带货的虚拟主播,为什么有的声音听起来特别“假”,而有的却能让你感觉像在和…...

共享店铺模式小程序开发方案

共享店铺模式是一种将线下实体店铺资源通过数字化手段进行整合与共享的商业模式,小程序作为轻量级应用非常适合实现这一目标。以下是开发共享店铺模式小程序的关键要点:核心功能模块设计用户端功能需包含注册登录、店铺浏览、预约下单、支付系统、评价反…...

QWEN-AUDIO声波可视化效果展示:CSS3动态波形+玻璃拟态UI交互截图

QWEN-AUDIO声波可视化效果展示:CSS3动态波形玻璃拟态UI交互截图 基于通义千问 Qwen3-Audio 架构构建的新一代语音合成系统,集成情感指令微调与声波可视化交互,致力于提供具有"人类温度"的超自然语音体验。 1. 视觉交互效果全景展示…...

CPCIe507全国产信号处理板卡:FT-M6678+JFM7VX690T互联调试

CPCIe507 为标准的6U CPCIe 板卡,采用全国产芯片设计。出于匠行科技技术团队。主处理器采用复旦微电子FPGA JFM7VX690T36和长城银河多核 DSP FT-M6678N,二者之间通过SRIO x5 互联。板卡对外高速接口为PCIe3.0 x4、预留GTH x4,低速接口RS422 x…...

【空气涡轮发动机Matlab_simulink动态仿真模型 ✔【空气涡轮发动机Matlab_simulink动态仿真模型】 1、部件级模型;进气道,涡轮,气室,压气机,尾喷管,转子模块,容积模块 2、

【空气涡轮发动机Matlab/simulink动态仿真模型 ✔【空气涡轮发动机Matlab/simulink动态仿真模型】 1、部件级模型;进气道,涡轮,气室,压气机,尾喷管,转子模块,容积模块 2、PID控制器: 输出扭矩阶跃扰动下&am…...

终极指南:如何在浏览器中快速将HTML转换为Word文档

终极指南:如何在浏览器中快速将HTML转换为Word文档 【免费下载链接】html-docx-js Converts HTML documents to DOCX in the browser 项目地址: https://gitcode.com/gh_mirrors/ht/html-docx-js 你是否需要将网页内容导出为可编辑的Word文档?htm…...