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
繁體地址,請注明出處:http://hk.pswp.cn/news/909283.shtml
英文地址,請注明出處:http://en.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…