| 2023-06-26 用 JavaScript 介紹函數式編程 用 JavaScript 介紹函數式編程以 JavaScript 編程語言介紹函數式編程的主要概念。 函數式編程介紹 一級函數 可以分配給變量 可以用作其他函數的參數 可以由函數返回 高階函數 聲明性編程 聲明性 vs 命令性 不變性 const Object.assign() concat() filter() 純度 數據轉換 Array.map() Array.reduce() 遞歸 組合 在純 JS 中進行組合 使用 lodash 進行組合 函數 ...
| 2023-06-26 string.trimStart() 方法 string.trimStart() 方法了解 JavaScript 字串的 trimStart() 方法 從原始字串的開頭移除空白並回傳新的字串 1234'Testing'.trimStart() //'Testing'' Testing'.trimStart() //'Testing'' Testing '.trimStart() //'Testing ' ...
| 2023-06-26 JavaScript算術運算子 JavaScript算術運算子在任何編程語言中,進行數學運算和計算是一個非常常見的操作。JavaScript提供了幾個運算子來幫助我們處理數字。 加法 (+) 減法 (-) 除法 (/) 餘數 (%) 乘法 (*) 指數運算 (**) 遞增運算子 (++) 遞減運算子 (--) 一元否定運算 (-) 一元正運算 (+) 加法 (+)12const three = 1 + 2const four = three + 1 如果使用字符串,+ 運算子也可以用於字符串 ...
| 2023-06-26 理解 process.nextTick() 理解 process.nextTick()Node.js的 process.nextTick 函数以特殊的方式与事件循环进行交互。 当你尝试理解 Node.js 事件循环 时,其中一个重要部分就是 process.nextTick()。 每次事件循环完成一次循环,我们称之为一次 tick。 当我们将一个函数传递给 process.nextTick() 时,我们指示引擎在当前操作结束后,在下一个事件循环 tick 开始之前调用该函数: 123process.nextTick(( ...
| 2023-06-26 Node:接收命令行参数 Node:接收命令行参数如何在Node.js程序中从命令行接收参数 在调用Node.js应用程序时,您可以传递任意数量的参数 1node app.js 参数可以是独立的,也可以由键和值组成。 例如: 1node app.js flavio 或者 1node app.js name=flavio 这会影响您在Node代码中如何检索这个值。 要检索它,可以使用Node内置的process对象。 它暴露了一个argv属性,它是一个包含所有命令行参数的数组。 第一个参数是nod ...
| 2023-06-26 Linux 命令:cp Linux 命令:cpcp 命令是用來移動文件和文件夾的快速指南。 你可以使用 cp 命令來複製一個文件: 12touch testcp apple another_apple 要複製文件夾,你需要加上 -r 選項來遞歸地複製整個文件夾的內容: 12mkdir fruitscp -r fruits cars 這個命令可以在 Linux、macOS、WSL 以及任何有 UNIX 環境的地方使用。 tags: [“Linux commands”, “cp”, “file ...
| 2023-06-26 露營生活:冬季 露營生活:冬季我喜歡冬天。冬天充滿了挑戰。 在露營車上旅行,當然很有趣,但當天氣變冷時就不同了。如果你計劃只在夏天使用你的露營車,那就沒有太多需要了解的。 隨著冬天的到來,會有不同的需求出現。 注意:我要談談低於攝氏-30度/華氏-22度的寒冷, 这在瑞典和意大利阿爾卑斯山附近(我住的地方)都有經歷過(是的,義大利的某些地方也會這麼冷)。我對更低的溫度沒有經驗。 首先需要注意的是,你需要一個加熱系統。我的露營車裡有兩個。最初它是配備的一個Truma Combi ...
| 2023-06-26 一個捕獲不帶查詢字串參數的URL的正則表達式 一個捕獲不帶查詢字串參數的URL的正則表達式我需要捕獲不帶查詢參數的URL。 適用於 http 和 https 鏈接。 下面是我使用的正則表達式: 1/^(http[^?#]+).\*/gm 這是一個示例: 1234567891011const regex = /^(http[^?#]+).\*/gmconst result = regex.exec("https://test.com?test=2")console.log(result)/*[ &#x ...
| 2023-06-26 為 Vue 開發配置 VS Code 為 Vue 開發配置 VS CodeVS Code 是目前使用最廣泛的程式碼編輯器之一。當你成為這麼受歡迎的編輯器時,人們會開發出很多好用的插件。其中一個很棒的插件是可以幫助 Vue.js 開發者的工具。 Vetur 安裝 Vetur 語法高亮 程式碼片段 智能提示 腳手架 Emmet 程式碼檢查 程式碼格式化 VS Code 是目前使用最廣泛的程式碼編輯器之一。編輯器(editor)如同許多軟體產品一樣,都有不同的周期。曾經有一段時間開發人員最愛的是 TextMate ...
| 2023-06-26 JavaScript中的類型轉換 JavaScript中的類型轉換如何在JavaScript中從一個類型轉換為另一個類型 即使JavaScript是一個弱類型的語言,你可能需要將一個值從一個類型轉換為另一個類型。 在JavaScript中,我們有以下的原始類型: Number String Boolean Symbol 以及物件類型: Object (還有null和undefined,但不需要將它們轉換) 例如,你可能想要將以下類型進行轉換: 從數字轉換為字符串 從字符串轉換為數字 從字符串轉換為布 ...
| 2023-06-26 如何修復 Prettier 在儲存時搞亂你的 HTML 如何修復 Prettier 在儲存時搞亂你的 HTML就像其他人一樣,我使用 Prettier 來格式化我的 JS 檔案。 但是,我遇到了一些 Prettier 對我的 HTML 進行格式化的問題,就像下面這樣: 我找到了解決方法,只需將以下內容添加到您的 settings.json 檔案中,讓 VS Code 使用預設的 HTML 格式化工具,而不是 Prettier: 12345{ "[html]": { "ed ...
| 2023-06-26 iPhone / iPad / Android應用程式 作為獨立製作人,你應該建立什麼樣的產品呢? 有很多不同種類的產品可以製作。這裡有一些最常見的例子,這些產品可以很容易地作為一個人的業務來製作。 ####信息產品 製作產品最簡單的方法之一就是將您現有的一組信息進行分類,適當地編排並打包它們。 一般來說,任何類型的知識都適用於這種產品。你可能認為自己沒有資格,或者對該主題了解不夠多,或者在行業權威面前算不上什麼,但如果你認為你擁有一套數百萬其他人所沒有的技能,或者對該主題有獨特的見解,那麼你絕對有話要說。 在這些在這個主題上比你 ...
| 2023-06-26 how-to-get-yesterday-date-javascript #如何使用JavaScript獲取昨天的日期 你想要使用JavaScript獲取昨天的日期嗎? 那就先獲取當前時間的日期(今天),然後從它減去一天: 1234567const today = new Date()const yesterday = new Date(today)yesterday.setDate(yesterday.getDate() - 1)today.toDateString()yesterday.toDateString() 我們使用yesterday ...
| 2023-06-26 電子學基礎:你的第一個電路 電子學基礎:你的第一個電路我們可以建立的最簡單正常運作的電路之一是點亮一個 LED 的電路。 我們將使用一個 9V 電池、一個 470歐姆的電阻和一個 LED。 關於電阻和 LED 的細節我們以後再談,現在讓我們創建我們的第一個電路。 如果你不想買任何設備或零件,這個並不是必須的,但我強烈建議你這樣做,而且從 Elegoo 購買一個名為「ELEGOO UNO R3 Project Most Complete Starter Kit」的入門套件。你可以在 Amazon 上找到 ...
| 2023-06-26 如何使用CSS持續旋轉圖像 如何使用CSS持續旋轉圖像使用CSS動畫來持續旋轉圖像 在建立 React Handbook(https://reacthandbook.com) 的登錄頁面時,我需要搜索如何旋轉圖像。我想要旋轉一個 SVG 圖像,但這個方法適用於任何圖像類型,實際上也適用於任何 HTML 元素。 將以下 CSS 指令添加到您想要旋轉的元素中: 1animation: rotation 2s infinite linear; 您也可以選擇將 rotate 類添加到元素中,而不是直接選擇它: ...
| 2023-06-26 JavaScript中的箭头函数与普通函数有何不同 JavaScript中的箭头函数与普通函数有何不同箭头函数与普通函数在JavaScript中有着不同的使用方式和特点。 普通函数是我们在JavaScript中一直以来使用的“老派”函数: 123function run() {} 它们可以直接调用: 1run(); 或者赋值给一个变量: 12345const run = function run() {}run(); 在赋值给变量时,函数也可以是匿名的: 12345const ru ...
| 2023-06-26 如何在 React JSX 中進行迴圈 如何在 React JSX 中進行迴圈在 React 元件中如何做迴圈 假設你有一個 React 元件和一個你想要迴圈處理的 items 陣列,以列印出所有的 “items”。 以下是你可以進行的方法。 在返回的 JSX 中,添加一個 <ul> 標籤來建立一個項目的清單: 12345return ( <ul> </ul>) 在這個清單內,我們使用花括號 {} 添加一個 JavaScript 的片段,並在這個片段內呼叫 ...
| 2023-06-26 如何在 flexbox 中居中對齊 如何在 flexbox 中居中對齊Flexbox 已經成為我喜歡的元素居中方式。 你只需要將一個元素包裹在 div 中,並設置 display: flex 和 justify-content: center。 123<div class="wrapper"> ...</div> 1234.wrapper { display: flex; justify-content: center;} 使用 Tail ...
| 2023-06-26 如何在JavaScript中測試空物件 如何在JavaScript中測試空物件今天我有需要檢查一個物件是否為空的需求。 由於在JavaScript中,物件是透過參考來進行比較的,因此無法像下面這樣進行簡單的比較: 12345const obj = {}if (obj === {}) { //no} 解決方法是將該物件傳遞給內建的 Object.keys() 方法,然後檢查該物件的建構函式是否為 Object: 123const obj = {& ...
| 2023-06-26 使用Puppeteer進行網頁爬蟲 使用Puppeteer進行網頁爬蟲這篇文章將使用Puppeteer創建一個“JavaScript工作版”,用於彙總JavaScript開發人員的遠程工作。 以下是完成這個項目的步驟: 使用Puppeteer創建基於Node.js的網頁爬蟲,從remoteok.io網站獲取工作信息 將工作信息存儲到數據庫中 創建基於Node.js的應用程序,將這些工作信息顯示在自己的網站上 注意:我只是將此網站作為示例,並不建議您進行網頁爬蟲,因為該網站有官方API可供使用。我只是用它來 ...
| 2023-06-26 根據Docker映像更新部署的容器 根據Docker映像更新部署的容器以下是在Docker Hub上更新映像後,如何更新部署的容器的步驟。 首先停止容器: 1docker stop <ID或名稱> 然後刪除容器: 1docker rm <ID或名稱> 接著從Docker Hub拉取映像: 1docker pull <映像名稱> 最後從映像啟動一個新的容器: 1docker run <映像名稱> ...選項 當然,手動執行上述步驟是不實際的。 像Watcht ...
| 2023-06-26 使用 Express 處理重新導向 使用 Express 處理重新導向如何在伺服器端重新導向到其他頁面 重新導向在網頁開發中很常見。你可以使用 Response.redirect() 方法來創建重新導向: 1res.redirect('/go-there') 這將創建一個 302 重新導向。 使用以下方法來進行 301 重新導向: 1res.redirect(301, '/go-there') 你可以指定絕對路徑 (/go-there)、絕對 URL (https:/ ...
| 2023-06-26 如何創建你的第一個Go程式 如何創建你的第一個Go程式在Go程式語言介紹之後,我們準備好創建我們的第一個Go程式了! 在程式設計師的傳統中,第一個程式會在執行時將「Hello, World!」字串列印到終端機上。因此,我們將首先執行這個動作,然後解釋如何實現它。 也許你的家目錄中有一個資料夾,用於存放所有的程式設計專案和測試。 在該資料夾中創建一個新的資料夾,例如命名為 hello。 在 hello 資料夾中創建一個 hello.go 檔案(檔名可以任意命名)。 將以下內容添加到檔案中: 1234567 ...
| 2023-06-26 使用 Gatsby 加載外部 JS 檔案 使用 Gatsby 加載外部 JS 檔案在現代 JavaScript 網頁開發工作流中,通常會使用 npm 套件來安裝 JavaScript。然而,有時我們需要包含一個外部的 JavaScript 檔案,而現代的工具可能會讓這件事變得有些困難。 特別是在我的網站中需要包含來自 Wistia 的視頻時,經過快速查看後,一切看起來比我想像的要複雜得多。Wistia 給了我這個 HTML 片段來嵌入視頻: 1<script src="https://fast.wis ...
| 2023-06-26 如何在 Astro 組件中訪問配置值 如何在 Astro 組件中訪問配置值 註:22 Jan 2023 更新:我剛發現在最新版的 Astro 中(以前的版本沒有這個問題..),這個方法已經無法使用了。不確定為什麼,在 Google 上也找不到相關的捲動錯誤,而且我也沒有時間去弄清楚。所以現在我改用在 config.mjs 文件中寫入,並載入該文件而不是 astro.config.mjs。 我有一個全局的標誌,當標誌為 true 時,我想要顯示一些內容。如果為 false,則希望該信息被隱藏,這涉及到多個頁面組件 ...
| 2023-06-26 通過示例學習 AppleScript,第 1 集 通過示例學習 AppleScript,第 1 集我從未寫過任何 AppleScript,儘管我自從 2005 年開始使用 Mac,但我從未有過這種需求。 而且我總是覺得這很難理解,因為它的思維模式與我平時做的事情非常不同。 不管怎樣,今天我不得不寫一些,以下是我在一些搜尋、stackoverflowing 和 chatgpting 之後結果: 12345678tell application "Finder" set currentFinderWin ...
| 2023-06-26 JavaScript delete 操作子 JavaScript delete 操作子這篇文章介紹 JavaScript 的 delete 操作子基礎。 JavaScript 的 delete 操作子用於刪除一個物件的屬性。 假設我們有這個物件: 1234const car = { model: 'Fiesta', color: 'green'} 你可以使用 delete 操作子刪除屬性或方法: 1delete car.model 你也可以使用方括號的語法 ...
| 2023-06-26 學習 Web 平台的路線圖 學習 Web 平台的路線圖Web 平台是一個令人驚嘆的 API、工具和語言的生態系統,如今比以往任何時候都更加強大。通過我的路線圖,通過簡單的教程學習 Web 平台。 Web 平台是一個令人驚嘆的 API、工具、語言的生態系統,如今比以往任何時候都更加強大。 在這個博客上,我寫了很多與 Web 平台相關的教程和文章。 本文旨在將它們組織起來,讓您可以更輕松地找到它們,並作為學習如何在 Web 平台上進行開發的路線圖。 瀏覽器 API 指南首先深入研究 DOM,這是瀏覽器提供的 ...
| 2023-06-26 Python 多型 Python 多型多型(Polymorphism)是一種將功能泛化至不同類型的重要概念,它在物件導向程式設計中扮演著重要的角色。 我們可以在不同的類別上定義相同的方法: 1234567class Dog: def eat(): print('吃狗食')class Cat: def eat(): print('吃貓食') 然後我們可以建立物件並呼叫 eat() 方法,不論物件屬於哪個類別,都能得到 ...
| 2023-06-26 打造自己的平台 打造自己的平台什麼是平台,為什麼擁有自己的平台很重要 現今,一個獨立的創作者必須是一位行銷者,也必須知道如何製作產品並將其帶到市場。這種結合了罕見的技能組合同時是強大和爆炸性的。 除此之外,還有產品的部分,根據不同的類別,創業者還需要具備編程、寫作或與眾不同的獨特技能。 此外,還需要詳細了解如何建立網站、如何建立Facebook專頁、如何使用Twitter、如何建立電子郵件序列、如何設置廣告活動的詳細信息,以及通常我們可以歸類為“網站管理員”的所有工作。 對於一位企業家來說, ...
| 2023-06-26 在GitHub上發布了我的密碼 / API金鑰 在GitHub上發布了我的密碼 / API金鑰或者在GitLab或其他公共源代碼管理平台上。現在該怎麼辦? 我偶然發現了一個網站,該網站不斷掃描GitHub、GitLab和BitBucket,這是三個最常用的公開源代碼主機地方,並展示了提交的SSH密碼、常用服務的API金鑰、數據庫等等。 這讓人很害怕,對吧? 如果這從未發生過,請舉手。我們都會犯錯。當這種情況發生時,唯一的辦法就是迅速使公開的密碼或API金鑰失效。 對於新手來說,在Git中,你不能只是回滾提交,因 ...
| 2023-06-26 String的normalize()方法 String的normalize()方法了解JavaScript字符串的normalize()方法。 Unicode有四种主要的标准化形式:NFC、NFD、NFKC、NFKD。维基百科对此有很好的解释。 normalize()方法根据您指定的形式对字符串进行标准化,并将其作为参数传递给该方法(如果未设置参数,则默认为NFC)。 我将重用MDN的示例,因为我确信这是一个有效的用法,但我找不到其他示例: 1234'\u1E9B\u0323'.normalize ...
| 2023-06-26 practical-content-suggestions-blog #您的博客的實用內容建議 內容長度,需要多長?文章的長度並不重要。 互聯網上充斥著一堆營銷博客,告訴你內容必須有2000+字,10000+字等等。 但只要你的內容能解決某個人的問題,長度並不重要。 我有一些只用了50個字就解決了問題的文章,如果這是某個人需要的解決方案,那太好了! 沒有必要用無用的文字來稀釋內容,我相信當你看到一篇博客試圖將5行答案轉化為200行時,你會立刻察覺到。 同樣的情況也發生在視頻中,對吧?你在尋找某個東西時,卻需要觀看15分鐘的介紹才能找到核心內容。 ...
| 2023-06-26 如何設置 Next.js 專案結構 如何設置 Next.js 專案結構Next.js 是一個很好的工具,它能為我們的 React 應用提供許多內建的功能,這些功能在 Web 應用程式中至關重要。 它只為我們的專案文件提供了一點點結構。 所有可見的頁面都放在 /pages 資料夾下。API 路由則放在 /pages/api 資料夾下。公開可見的文件放在 /public 資料夾下。 基本上就是這樣。其他的結構都由我們來定義。 我通常會這樣做。 所有頁面需要的 React 元件都放在 /components 資料夾下 ...
| 2023-06-26 物件的 propertyIsEnumerable() 方法 物件的 propertyIsEnumerable() 方法在本篇文章中,我們將介紹 JavaScript 的 propertyIsEnumerable() 方法,該方法可以用於檢查物件的屬性是否可被列舉。 此方法需要在物件實例上呼叫,並接受一個字串作為參數。如果該物件擁有一個名稱與參數字串相同的屬性,且該屬性是可列舉的,則返回 true;否則返回 false。 以下是一個示例: 123456789const person = { name: 'Fred&# ...
| 2023-06-26 如何在JavaScript中合併兩個數組 如何在JavaScript中合併兩個數組了解如何使用JavaScript合併兩個或多個數組 假設你有兩個數組: 12const first = ['one', 'two']const second = ['three', 'four'] 你想將它們合併為一個單一的數組,該怎麼辦? 現代方法是使用解構運算符來創建一個全新的數組: 1const result = [...first, ...seco ...
| 2023-06-26 在JavaScript中处理表單 在JavaScript中处理表單發現在HTML和JavaScript中處理表單的基礎知識 表單是HTML和網頁平台的一個非常重要的組成部分。它們允許用戶與頁面互動,並可以… 搜索網站上的內容 觸發過濾器以縮小結果頁面 發送信息 等等。 默認情況下,表單將其內容提交到服務器端點,默認情況下是頁面URL本身: 1234<form> ... <input type="submit"></form> 我們可以通過設置表單元 ...
| 2023-06-26 如何檢查 DOM 元素是否有類別 如何檢查 DOM 元素是否有類別你如何檢查你所擁有的特定 DOM 元素是否有指定的類別? 使用 classList 物件提供的 contains 方法,寫法如下: 1element.classList.contains('myclass') 從技術上來說,classList 是一個符合 DOMTokenList 介面的物件,這意味著它實作了相關的方法與屬性。 你可以在 DOMTokenList MDN 頁面 上查看詳細的資訊。 tags: [“JavaS ...
| 2023-06-26 如何在Svelte中使用props 如何在Svelte中使用props學習如何在Svelte中使用props,讓具有父子關係的兩個組件彼此通信。 您可以使用import ComponentName from 'componentPath'的語法將Svelte組件引入到任何其他組件中: 123<script>import SignupForm from './SignupForm.svelte';</script> 路徑相對於當前組件路徑。./表示“這 ...
| 2023-06-26 我成為內容創作者的故事 我成為內容創作者的故事我們正處於內容創作者的時代,這是一個用來識別獨立在互聯網上工作的幾乎所有人的“行銷術語”,從事與信息和內容有關的工作,不是作為自由職業者,也不是作為一個幫助其他企業的業務,如SaaS產品、出售主題、插件或服務的業務,而是以任何形式創造“內容”。 我不認為自己是一個創造“內容”的人,更像是一個教育產品的創作者,但這就是現在的情況。 現在是2021年,我是一個博客作者和課程創作者。 這是我的全職工作。 我是如何到達這個地步的呢? 故事始於2007年。我創建了 ...
| 2023-06-26 Number isNaN() 方法 Number isNaN() 方法瞭解 JavaScript Number 物件的 isNaN() 方法 NaN 是一個特殊的情況。一個數字只有在它本身是 NaN 或者是 0 除以 0 的結果時才是 NaN。 在其他所有情況下,我們可以傳入任何值,但它將返回 false: 12345678Number.isNaN(NaN) //trueNumber.isNaN(0 / 0) //trueNumber.isNaN(1) //falseNumber.isNaN('Fla ...
| 2023-06-26 如何使用 Next.js API 路由 如何使用 Next.js API 路由了解這個由 Next.js 提供的強大技術,用於在 Next.js 應用程序中創建 API 端點。 除了創建頁面路由(意味著頁面作為 Web 頁面提供給瀏覽器),Next.js 還可以創建API 路由。 這是一個非常有趣的功能,因為這意味著 Next.js 可以用於創建存儲在 Next.js 中並通過 fetch 請求傳輸 JSON 的數據的前端。 API 路由位於 /pages/api/ 文件夾下,並且與 /api 端點相映射。 這個功 ...
| 2023-06-26 SwiftUI:警告訊息 SwiftUI:警告訊息在給用戶提供反饋的同時,有時也可以用來協助調試應用程序,最常見的方式之一就是使用警告訊息。 SwiftUI 提供了 .alert() 修飾符,我們可以根據某些條件來顯示警告。 讓我們從以下範例開始,其中有一個帶有計數器的 Button: 123456789101112import SwiftUIstruct ContentView: View { @State var count = 0 var body: some View { ...
| 2023-06-26 預取內容在Next.js中的運作方式 預取內容在Next.js中的運作方式在使用Next.js連結兩個頁面中,我提到了如何使用Link Next.js組件在兩個頁面之間建立連結。當您使用它時,Next.js會透明地處理前端路由,當用戶點擊鏈接時,前端會負責在無需觸發新的客戶端/服務器請求和響應循環的情況下顯示新頁面,這通常是網頁的情況。 當使用Link時,Next.js為您做的還有一個事情。 只要使用<Link>包裹的元素出現在視口內(這意味著對於網站用戶而言是可見的),Next.js就會預 ...
| 2023-06-26 SwiftUI 表單:滑桿 SwiftUI 表單:滑桿在 SwiftUI 中,Slider 是一個表單控制元件,讓使用者可以左右滑動來增加或減少其值。 我們可以透過設定三個參數來初始化一個 Slider:value、in、step: 12345@State private var age: Double = 0//...Slider(value: $age, in: 0...100, step: 1) in 參數用於限制可以使用的最小值和最大值。 step 參數代表每次可以增加或減少的數值,例如這裡設 ...
| 2023-06-26 使用Jest对JavaScript进行测试 使用Jest对JavaScript进行测试Jest是一个用于测试JavaScript代码的库。它是一个由Facebook维护的开源项目,特别适用于React代码的测试,尽管不仅限于此:它可以测试任何JavaScript代码。Jest非常快速和易于使用。 Jest简介 安装 创建第一个Jest测试 使用VS Code运行Jest 匹配器 设置 清除 使用describe()分组测试 测试异步代码 回调函数 Promises Async/await 模拟 在不影响 ...
| 2023-06-26 探索JavaScript定時器 探索JavaScript定時器在編寫JavaScript代碼時,您可能需要延遲函數的執行。了解如何使用setTimeout和setInterval在未來安排函數的執行。 setTimeout() 零延遲 setInterval() 遞迴setTimeout setTimeout()在編寫JavaScript代碼時,您可能需要延遲函數的執行。 這就是setTimeout的工作。您指定一個將要延遲執行的回調函數,以及以毫秒表示的延遲時間: 1234567setTimeou ...
| 2023-06-26 高效加載JavaScript:使用defer和async 高效加載JavaScript:使用defer和async在HTML頁面中加載腳本時,你需要小心,以避免影響頁面的加載性能。根據你在HTML頁面中添加腳本的位置和方式,將影響加載時間。 位置的重要性 async和defer 性能比較 沒有defer或async,在head中 沒有defer或async,在body中 使用async,在head中 使用defer,在head中 阻塞解析 阻塞渲染 domInteractive 保持順序 告訴我最好的方法 在HTML頁面中加 ...
| 2023-06-26 完整的Git指南 完整的Git指南Git是一個免費且開放源碼的版本控制系統(VCS),它用於跟踪文件的舊版本,可以回退並同時維護不同的版本。 Git是SVN和CVS的後繼者,這兩個是過去非常流行的版本控制系統。Git最初由Linux的創建者Linus Torvalds開發,如今已成為使用開源軟件的必備系統,你無法避免它的存在。 分佈式版本控制系統 Git是一個分佈式系統。許多開發人員可以從中央位置clone一個存儲庫,獨立地在某個代碼部分上工作,然後將更改提交回中央位置,所有人都可以更新。 G ...
| 2023-06-26 Object 的 values() 方法 Object 的 values() 方法了解 JavaScript 中 Object 物件的 values() 方法 該方法會回傳包含所有物件自有屬性值的陣列。 使用方法: 12const person = { name: 'Fred', age: 87 }Object.values(person) // ['Fred', 87] Object.values() 也可用於陣列: 12const people = [ ...