JS进阶 Day01

1.作用域和作用域链

let不可访问

var可访问,因为没有块作用域这一说法

2.JS垃圾回收机制以及算法

下图如上图同理

下图这个三个相互引用的,根部找不到,就进行清除。

3.JS闭包

4.变量和函数提升(了解)

5.函数剩余参数和展开运算符

还有种写法

6.ES6箭头函数的使用

如果只有一个形参的话,小括号可以省略

只有一行代码的话

该count函数指向obj

7.数组解构

8.对象解构

// 需求①:对象解构并打印
const pig = {name: '佩奇', age: 6}
const {name, age} = pig
console.log(name)  // 输出: 佩奇
console.log(age)  // 输出: 6// 需求②:将name改为uname
const {name: uname} = pig
console.log(uname)  // 输出: 佩奇// 需求③:数组对象解构
const goods = [{goodsName: '小米',price: 1999}
]// 解构数组中的第一个对象
const [firstItem] = goods
const {goodsName, price} = firstItem
console.log(goodsName)  // 输出: 小米
console.log(price)    // 输出: 1999// 或者更简洁的一步解构方式
const [{goodsName: product, price: cost}] = goods
console.log(product)  // 输出: 小米
console.log(cost)     // 输出: 1999

解构后台数据

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>// 1. 这是后台传递过来的数据const msg = {"code": 200,"msg": "获取新闻列表成功","data": [{"id": 1,"title": "5G商用自己,三大运用商收入下降","count": 58},{"id": 2,"title": "国际媒体头条速览","count": 56},{"id": 3,"title": "乌克兰和俄罗斯持续冲突","count": 1669},]}// 需求1: 请将以上msg对象  采用对象解构的方式 只选出  data 方面后面使用渲染页面// const { data } = msg// console.log(data)// 需求2: 上面msg是后台传递过来的数据,我们需要把data选出当做参数传递给 函数// const { data } = msg// msg 虽然很多属性,但是我们利用解构只要 data值function render({ data }) {// const { data } = arr// 我们只要 data 数据// 内部处理console.log(data)}render(msg)// 需求3, 为了防止msg里面的data名字混淆,要求渲染函数里面的数据名改为 myDatafunction render({ data: myData }) {// 要求将 获取过来的 data数据 更名为 myData// 内部处理console.log(myData)}render(msg)</script>
</body></html>

9.forEach遍历数组

10.渲染商品案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>商品渲染</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.list {width: 990px;margin: 0 auto;display: flex;flex-wrap: wrap;padding-top: 100px;}.item {width: 240px;margin-left: 10px;padding: 20px 30px;transition: all .5s;margin-bottom: 20px;}.item:nth-child(4n) {margin-left: 0;}.item:hover {box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);transform: translate3d(0, -4px, 0);cursor: pointer;}.item img {width: 100%;}.item .name {font-size: 18px;margin-bottom: 10px;color: #666;}.item .price {font-size: 22px;color: firebrick;}.item .price::before {content: "¥";font-size: 14px;}</style>
</head><body><div class="list"><!-- <div class="item"><img src="" alt=""><p class="name"></p><p class="price"></p></div> --></div><script>const goodsList = [{id: '4001172',name: '称心如意手摇咖啡磨豆机咖啡豆研磨机',price: '289.00',picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',},{id: '4001594',name: '日式黑陶功夫茶组双侧把茶具礼盒装',price: '288.00',picture: 'https://yanxuan-item.nosdn.127.net/3346b7b92f9563c7a7e24c7ead883f18.jpg',},{id: '4001009',name: '竹制干泡茶盘正方形沥水茶台品茶盘',price: '109.00',picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',},{id: '4001874',name: '古法温酒汝瓷酒具套装白酒杯莲花温酒器',price: '488.00',picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',},{id: '4001649',name: '大师监制龙泉青瓷茶叶罐',price: '139.00',picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',},{id: '3997185',name: '与众不同的口感汝瓷白酒杯套组1壶4杯',price: '108.00',picture: 'https://yanxuan-item.nosdn.127.net/8e21c794dfd3a4e8573273ddae50bce2.jpg',},{id: '3997403',name: '手工吹制更厚实白酒杯壶套装6壶6杯',price: '99.00',picture: 'https://yanxuan-item.nosdn.127.net/af2371a65f60bce152a61fc22745ff3f.jpg',},{id: '3998274',name: '德国百年工艺高端水晶玻璃红酒杯2支装',price: '139.00',picture: 'https://yanxuan-item.nosdn.127.net/8896b897b3ec6639bbd1134d66b9715c.jpg',},]// 1. 声明一个字符串变量let str = ''// 2. 遍历数据 goodsList.forEach(item => {// console.log(item)  // 可以得到每一个数组元素  对象 {id: '4001172'}// const {id} =  item  对象解构const { name, price, picture } = itemstr += `<div class="item"><img src=${picture} alt=""><p class="name">${name}</p><p class="price">${price}</p></div>`})// 3.生成的 字符串 添加给 list document.querySelector('.list').innerHTML = str</script>
</body></html>

11.综合案例-筛选商品案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>商品渲染</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.list {width: 990px;margin: 0 auto;display: flex;flex-wrap: wrap;}.item {width: 240px;margin-left: 10px;padding: 20px 30px;transition: all .5s;margin-bottom: 20px;}.item:nth-child(4n) {margin-left: 0;}.item:hover {box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);transform: translate3d(0, -4px, 0);cursor: pointer;}.item img {width: 100%;}.item .name {font-size: 18px;margin-bottom: 10px;color: #666;}.item .price {font-size: 22px;color: firebrick;}.item .price::before {content: "¥";font-size: 14px;}.filter {display: flex;width: 990px;margin: 0 auto;padding: 50px 30px;}.filter a {padding: 10px 20px;background: #f5f5f5;color: #666;text-decoration: none;margin-right: 20px;}.filter a:active,.filter a:focus {background: #05943c;color: #fff;}</style>
</head><body><div class="filter"><a data-index="1" href="javascript:;">0-100元</a><a data-index="2" href="javascript:;">100-300元</a><a data-index="3" href="javascript:;">300元以上</a><a href="javascript:;">全部区间</a></div><div class="list"><!-- <div class="item"><img src="" alt=""><p class="name"></p><p class="price"></p></div> --></div><script>// 2. 初始化数据const goodsList = [{id: '4001172',name: '称心如意手摇咖啡磨豆机咖啡豆研磨机',price: '289.00',picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',},{id: '4001594',name: '日式黑陶功夫茶组双侧把茶具礼盒装',price: '288.00',picture: 'https://yanxuan-item.nosdn.127.net/3346b7b92f9563c7a7e24c7ead883f18.jpg',},{id: '4001009',name: '竹制干泡茶盘正方形沥水茶台品茶盘',price: '109.00',picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',},{id: '4001874',name: '古法温酒汝瓷酒具套装白酒杯莲花温酒器',price: '488.00',picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',},{id: '4001649',name: '大师监制龙泉青瓷茶叶罐',price: '139.00',picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',},{id: '3997185',name: '与众不同的口感汝瓷白酒杯套组1壶4杯',price: '108.00',picture: 'https://yanxuan-item.nosdn.127.net/8e21c794dfd3a4e8573273ddae50bce2.jpg',},{id: '3997403',name: '手工吹制更厚实白酒杯壶套装6壶6杯',price: '100.00',picture: 'https://yanxuan-item.nosdn.127.net/af2371a65f60bce152a61fc22745ff3f.jpg',},{id: '3998274',name: '德国百年工艺高端水晶玻璃红酒杯2支装',price: '139.00',picture: 'https://yanxuan-item.nosdn.127.net/8896b897b3ec6639bbd1134d66b9715c.jpg',},]// 1. 渲染函数  封装function render(arr) {// 声明空字符串let str = ''// 遍历数组 arr.forEach(item => {// 解构const { name, picture, price } = itemstr += `<div class="item"><img src=${picture} alt=""><p class="name">${name}</p><p class="price">${price}</p></div> `})// 追加给list document.querySelector('.list').innerHTML = str}render(goodsList)  // 页面一打开就需要渲染// 2. 过滤筛选  document.querySelector('.filter').addEventListener('click', e => {// e.target.dataset.index   e.target.tagNameconst { tagName, dataset } = e.target// 判断 if (tagName === 'A') {// console.log(11) // arr 返回的新数组let arr = goodsListif (dataset.index === '1') {arr = goodsList.filter(item => item.price > 0 && item.price <= 100)} else if (dataset.index === '2') {arr = goodsList.filter(item => item.price >= 100 && item.price <= 300)} else if (dataset.index === '3') {arr = goodsList.filter(item => item.price >= 300)}// 渲染函数render(arr)}})</script>
</body></html>

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

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

相关文章

详解Python当中的pip常用命令

想象一下&#xff0c;如果建造房屋时&#xff0c;每一块砖、每一根钢筋都需要你自己亲手烧制和打造&#xff0c;那会是怎样一番景象&#xff1f;软件开发也是如此。如果没有现成的、高质量的、可复用的代码库&#xff0c;开发者们就不得不重复“发明轮子”&#xff0c;效率低下…

LangChain面试内容整理-知识点10:文本嵌入模型(Embeddings)使用

文本嵌入(Embeddings)是将文字转换为向量(高维数值向量)的过程和结果。在LangChain中,Embeddings模块负责调用各种嵌入模型,将文本转化为向量表示,以便后续在向量空间执行相似度搜索、聚类等操作。这在实现语义搜索、RAG中非常关键,因为向量可以让计算机“理解”文本语…

To be or Not to be, That‘s a Token——论文阅读笔记——Beyond the 80/20 Rule和R2R

本周又在同一方向上刷到两篇文章&#xff0c;可以说&#xff0c;……同学们确实卷啊&#xff0c;要不卷卷开放场域的推理呢&#xff1f; 这两篇都在讲&#xff1a;如何巧妙的利用带有分支能力的token来提高推理性能或效率的。 第一篇叫 Beyond the 80/20 Rule: High-Entropy Mi…

bisheng系列(三)- 本地部署(后端 1.2版本)

一、导读 环境&#xff1a;Ubuntu 24.04、open Euler 23.03、Windows 11、WSL 2、Python 3.10 、bisheng 1.2.0 背景&#xff1a;需要bisheng二开商用&#xff0c;故而此处进行本地部署&#xff0c;便于后期调试开发 时间&#xff1a;20250612 说明&#xff1a;bisheng的1.2…

使用 PolarProxy+Proxifier 解密 TLS 流量

一、简介 在分析恶意样本或加密流量时,我们常常需要将 TLS 加密通信还原为明文。 本文介绍如何通过 PolarProxy 和Proxifier 解密 TLS 流量并保存为 pcap 文件,在 Wireshark 中进行进一步分析。 二、工具准备 ✅ PolarProxy(推荐 Windows x64 版本)✅ Proxifier(强制非浏…

[技术积累]成熟的前端和后端开发框架

1、后端 1.1、低代码开发框架 1.1.1、jeecg 官网&#xff1a;JEECG技术论坛 - 基于BPM的低代码开发平台 1.1.2、APIJSON github官网地址&#xff1a;https://github.com/APIJSON gitee官网地址&#xff1a;https://gitee.com/Tencent/APIJSON 官网地址&#xff1a;腾讯AP…

产品升级 | 新一代高性能数据采集平台BRICK2 X11,助力ADAS与自动驾驶开发

随着ADAS&#xff08;高级驾驶辅助系统&#xff09;和自动驾驶&#xff08;AD&#xff09;开发中对数据采集与处理的需求日益增长&#xff0c;高性能硬件的重要性愈发凸显。 为此&#xff0c;康谋正式发布了其BRICK系列的最新产品——BRICK2 X11&#xff0c;作为BRICK2的直接升…

蚂蚁集团法人变更:韩歆毅接任,公司治理的正常安排

企查查APP显示&#xff0c;6月11日&#xff0c;蚂蚁科技集团股份有限公司发生工商变更&#xff0c;井贤栋卸任法定代表人&#xff0c;由韩歆毅接任。同时&#xff0c;韩歆毅由董事、总经理变更为执行公司事务的董事、总经理。目前&#xff0c;井贤栋仍担任该公司董事长职务。 接…

2025虚幻游戏逆向工程解包尝试

2025虚幻游戏逆向工程解包 前言 在2025游戏模型提取攻略写了&#xff0c;但是想要找的时候又忘了在哪篇文章中写的&#xff0c;所以干脆专门写一下。中间有许多坑。 一坑接一坑。 先说结论&#xff1a;用Umodel&#xff08;UV Viewer&#xff09;查看和导出模型。FModel虽然…

Qt学习及使用_第1部分_认识Qt---Qt开发基本流程

前言 学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面. 参考书:<Qt 6 C开发指南>(以下称"本书") 标识说明:概念用粗体倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字), 本书原话内容用深蓝色标识,比较重要的内容用加粗倾…

大模型的开发应用(十):对话风格微调项目(上):数据工程与模型选型

数据工程 1 项目介绍2 数据工程2.1 申请 API Key 并测试2.2 文本嵌入模型2.3 生成训练集2.3.1 制作风格模板2.3.2 调用大模型获取数据2.3.3 对大模型生成的数据进行质量过滤2.3.4 程序入口 2.4 数据转换 3 模型选型3.1 候选模型与评估数据集3.2 模型评估 附录&#xff08;对比不…

Jmeter压测手册:脚本配置、服务器环境搭建与运行

序 本文记录了我在新公司的首次压测遇到的一些问题以及解决方案。公司服务部署在国外&#xff0c;网络延迟导致的压不上去&#xff0c;需要本地调试脚本&#xff0c;然后用国外服务器压测的过程。同时记录了过程中遇到的一些问题&#xff0c;特别是Jmeter本身占用CPU资源&#…

立定跳远--二分枚举答案+cehck

P10909 [蓝桥杯 2024 国 B] 立定跳远 - 洛谷 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<int,int> pii; int n,m; int a[N]; int an; bool check(int l) {int pos0;int c1;int wm;for(int i1;i<n;i){if…

蓝桥杯20112 不同的总分值

问题描述 在今年蓝桥杯的决赛中&#xff0c;一共有 10 道题目&#xff0c;每道题目的分数依次为 5 分&#xff0c;5 分&#xff0c;10 分&#xff0c;10 分&#xff0c;15 分&#xff0c;15 分&#xff0c;20 分&#xff0c;20 分&#xff0c;25 分&#xff0c;25 分。 假设某…

[论文阅读] 系统架构 | 零售 IT 中的微服务与实时处理:开源工具链与部署策略综述

零售IT中的微服务与实时处理&#xff1a;开源工具链与部署策略综述 论文信息 Microservices and Real-Time Processing in Retail IT: A Review of Open-Source Toolchains and Deployment Strategies Aaditaa Vashisht (Department of Information Science and Engineering, …

【面板数据】A股上市公司注册地所在地数据集(1991-2023年)

数据简介&#xff1a;上市公司注册地所在地数据指企业在工商行政管理部门登记注册的法定住所信息&#xff0c;涵盖省、市、区三级行政区划及详细地址。该数据是公司法律身份的核心标识&#xff0c;直接影响税务管辖、诉讼归属、政策适用及市场准入等关键环节。更是连接企业行为…

21、Create React App的使用

Create React App 是官方支持的创建单页 React 应用程序的方法。提供了一个现代的构建设置&#xff0c;无需配置。它虽然只是一个包&#xff0c;但不建议全局安装。如果本地安装过可先卸载&#xff0c;这样能保证每次创建项目时使用最新版本的功能。 开始使用 可以使用npx&…

CSS盒子 flex弹性布局

使用flex弹性布局页面效果图&#xff08;源代码在文章末尾&#xff09;&#xff1a; 目录 flex弹性布局 一、基本容器 二、设置主轴方向 三、设置主轴对齐方式 四、设置交叉轴上的对齐方式 flex弹性布局 一、基本容器 Flexbox 是 CSS3 引入的一种一维布局模型&#xff0…

数据结构与算法-线性表-线性表的应用

1 线性表 1.5 线性表的应用 1.5.1 线性表的合并 【算法步骤】 分别获取 LA 表长 m 和 LB 表长 n 。从 LB 中第 1 个数据元素开始&#xff0c;循环 n 次执行以下操作&#xff1a; 从 LB 中查找第 i 个数据元素赋给 e &#xff1b;在 LA 中查找元素 e &#xff0c;如果不存在&…

流数据机器学习框架 CapyMOA

环境准备: pip install capymoa 使用 HoeffdingTree 对流数据做在线分类: from capymoa.streams import FileStream from capymoa.learners import HoeffdingTreeClassifier from capymoa.evaluation import ProgressiveEvaluator# 1. 构造流&#xff1a;假设 data/stream…