我們?nèi)粘5墓ぷ骱蜕钪校3?huì)遇到需要處理各種文件的情況,而文件的數(shù)量也可能會(huì)很多,這時(shí)候找到需要的文件就會(huì)變得非常費(fèi)時(shí)。為了方便查看,我們可以將多個(gè)PDF文件合并成一個(gè)文件,這樣就不用每次都打開(kāi)多個(gè)文件來(lái)查看內(nèi)容,省時(shí)省力。那么,如何在線合并PDF文件呢?下面介紹兩種特別實(shí)用的方法,讓你輕松實(shí)現(xiàn)PDF文件的在線合并。
在前端開(kāi)發(fā)中,JavaScript是不可或缺的一部分,它為網(wǎng)頁(yè)帶來(lái)了動(dòng)態(tài)交互能力。而字符串拼接作為日常開(kāi)發(fā)中的基礎(chǔ)操作之一,其效率直接影響到用戶體驗(yàn)和頁(yè)面性能。本文旨在探討JavaScript中幾種常見(jiàn)的字符串拼接方法,并通過(guò)實(shí)例來(lái)比較它們的優(yōu)缺點(diǎn)。
字符串拼接是指將兩個(gè)或多個(gè)字符串連接成一個(gè)新的字符串。JavaScript提供了多種方式進(jìn)行字符串拼接,包括但不限于使用加號(hào) (+), 模板字符串 (${}$), String.prototype.concat(), Array.prototype.join() 以及第三方庫(kù)如 Lodash 的 _.join() 方法。
// 使用加號(hào)
let name = "John";
let greeting = "Hello, " + name + "!";
// 使用模板字符串
greeting = `Hello, ${name}!`;
// 使用 concat()
greeting = "Hello, ".concat(name, "!");
// 使用 join()
let parts = ["Hello, ", name, "!"];
greeting = parts.join("");
// 使用 lodash
greeting = _.join(["Hello, ", name, "!"], "");
每種方法在內(nèi)部實(shí)現(xiàn)上有所不同:
假設(shè)我們需要生成一個(gè)包含用戶信息的歡迎消息,其中包含了用戶名、年齡等信息:
function generateWelcomeMessage(user) {
return `Welcome, ${user.name} (${user.age} years old)!`;
}
const user = { name: "Alice", age: 25 };
console.log(generateWelcomeMessage(user));
在這個(gè)例子中,模板字符串提供了最簡(jiǎn)潔且易于理解的解決方案。
對(duì)于頻繁或大量的字符串拼接操作,推薦使用 join() 方法,因?yàn)樗苊饬藙?chuàng)建中間字符串對(duì)象,從而提高了性能。
function generateLongMessage(items) {
return items.map(item => `${item.name}: ${item.value}`).join(", ");
}
在循環(huán)中使用加號(hào)進(jìn)行拼接會(huì)導(dǎo)致性能下降。解決方法是使用 join() 或者數(shù)組的 reduce() 方法。
直接拼接可能會(huì)導(dǎo)致HTML特殊字符未被轉(zhuǎn)義的問(wèn)題。解決方法是在拼接前對(duì)特殊字符進(jìn)行轉(zhuǎn)義。
字符串拼接是JavaScript中的一項(xiàng)基本操作,選擇合適的拼接方式可以顯著提高代碼的可讀性和性能。隨著ES6及更高版本標(biāo)準(zhǔn)的引入,模板字符串已經(jīng)成為一種優(yōu)雅的選擇。未來(lái),我們可以期待更多高效的字符串處理工具和技術(shù)的發(fā)展。
通過(guò)本文的學(xué)習(xí),我們不僅掌握了如何有效地拼接字符串,還了解了不同方法背后的原理及其適用場(chǎng)景。這將幫助我們?cè)趯?shí)際開(kāi)發(fā)中做出更合理的選擇。
之前的稍后讀專題中,愛(ài)范君介紹了一系列的稍后讀工具,它們具有的標(biāo)注功能,能夠讓用戶初步整理網(wǎng)頁(yè)內(nèi)容中的有效信息——不過(guò),這些標(biāo)注都是建立在提取后的正文內(nèi)容之上,因而只適用于能夠提取到有效內(nèi)容的網(wǎng)頁(yè),具有較大的局限性。
對(duì)原始網(wǎng)頁(yè)直接進(jìn)行標(biāo)注則顯然不需要考慮對(duì)各種網(wǎng)頁(yè)復(fù)雜的適配問(wèn)題。電腦端如 Chrome,Edge 等瀏覽器擁有各種類型的強(qiáng)大插件。Hypothesis 便是一款能直接在網(wǎng)頁(yè)上進(jìn)行標(biāo)注的強(qiáng)大插件,關(guān)于它的具體使用方法可以在我們之前的文章中查看。
▲ Hypothesis 插件
iPad 相較電腦更為輕巧便攜,且與 Apple Pencil 搭配使其具有了更好的書(shū)寫(xiě)體驗(yàn)以及對(duì)圖像文檔的標(biāo)注能力。一系列如 Notability,PDF Expert,Procreate 等的優(yōu)秀軟件覆蓋了筆記,PDF 閱讀,繪畫(huà)這些常用的領(lǐng)域,從而讓 iPad 相較于其它同類產(chǎn)品獨(dú)特的優(yōu)勢(shì)。
然而我們卻很難在 iPad 上找到一款和 Hypothesis 類似功能的工具。較為出名的 LINER 和 Diigo 在 iPad 上可以使用,然而解鎖其完整版需要高昂的訂閱費(fèi)。
直到最近,愛(ài)范君發(fā)現(xiàn)了一款具備網(wǎng)頁(yè)標(biāo)注功能且完全免費(fèi)的瀏覽器 Command Browser,且可以連接 Notion,OneNote 來(lái)同步高亮和批注的內(nèi)容。
▲ Command Browser 官網(wǎng)
接下來(lái),就跟我們一起了解下 Command Browser。
使用 Command Browser 瀏覽網(wǎng)頁(yè)的過(guò)程中,選中文本段落即會(huì)彈出功能菜單,選擇「Highlight」便可高亮選中的文本。
▲ 選中文本進(jìn)行高亮
高亮默認(rèn)的顏色為黃色,在軟件設(shè)置里還可以切換為藍(lán)色,綠色,紅色和淺黃色。相比在選中文本的彈出菜單里直接進(jìn)行切換,目前的高亮顏色切換使用步驟較為繁瑣。且在設(shè)置里切換高亮顏色后所有網(wǎng)頁(yè)標(biāo)注都會(huì)更改為新顏色,從而用戶不能同時(shí)使用多種顏色來(lái)標(biāo)記不同內(nèi)容。
▲ 切換高亮顏色
用戶可以對(duì)高亮的文本添加標(biāo)簽和筆記,記錄的筆記可以選擇保存至自己創(chuàng)建的不同分類中,方便之后的查閱和整理。
▲ 選擇已高亮文本,可以進(jìn)一步添加筆記和標(biāo)簽
▲ 對(duì)高亮文本添加筆記并保存到建立的不同分類中
▲ 為高亮內(nèi)容添加標(biāo)簽
除了支持文本的批注,Command Browser 也支持向圖片和整個(gè)網(wǎng)頁(yè)添加筆記。添加的筆記同樣也可以到不同分類的筆記本中。
▲ 為圖片添加筆記
▲ 為整個(gè)網(wǎng)頁(yè)添加筆記
在 Command Browser 中點(diǎn)擊右上角的多功能按鈕并選擇「Highlights」,即可查看到所有高亮的內(nèi)容,且下方也以標(biāo)簽的形式進(jìn)行了歸類。
▲ 查看高亮過(guò)的所有內(nèi)容
在具體的標(biāo)簽下即可看到所有同一標(biāo)簽的高亮文本,點(diǎn)擊高亮文本后會(huì)直接跳轉(zhuǎn)至對(duì)應(yīng)的原始網(wǎng)頁(yè)段落位置。
▲ 從高亮內(nèi)容跳轉(zhuǎn)到原文位置
點(diǎn)擊左上角的書(shū)籍圖標(biāo)或選擇右上角多功能按鈕下的「Journals」子選項(xiàng)都能進(jìn)入筆記界面。在該界面可以看到之前所有針對(duì)文本,圖片和網(wǎng)頁(yè)的批注內(nèi)容。相似的,用戶也能通過(guò)點(diǎn)擊日記本中保存的筆記內(nèi)容跳轉(zhuǎn)到筆記在原文中所對(duì)應(yīng)的位置。同時(shí),用戶在筆記本中也可以添加獨(dú)立于網(wǎng)頁(yè)內(nèi)容的筆記。
▲ 筆記界面,用戶可對(duì)自己建立的筆記本進(jìn)行置頂,默認(rèn)置頂筆記本為軟件操作演示
在包含高亮文本的網(wǎng)站下,選擇右上角多功能按鈕下的「Share」能夠?qū)⒏吡吝^(guò)的段落以網(wǎng)頁(yè)鏈接的形式分享出去,同時(shí)也可以導(dǎo)出高亮段落為指定格式以及分享到其它如 Obsidian,Bear 等筆記應(yīng)用中。
▲ 分享或?qū)С霎?dāng)前網(wǎng)頁(yè)的高亮內(nèi)容
▲ 以網(wǎng)頁(yè)形式分享的高亮文本
▲ 將高亮內(nèi)容以純文本,Markdown 的形式導(dǎo)出或發(fā)送至其它應(yīng)用中
在筆記界面,點(diǎn)擊筆記本標(biāo)題下方的「Export」按鈕即可將該筆記本中高亮和批注內(nèi)容導(dǎo)出到 Obsidian, Bear 等應(yīng)用中。
▲ 導(dǎo)出某個(gè)筆記本中的內(nèi)容
▲ 將筆記導(dǎo)入至 Obsidian 的效果
除了支持將高亮和筆記導(dǎo)出, Command Browser 還支持將高亮和標(biāo)注實(shí)時(shí)同步至 Notion,OneNote 等應(yīng)用中。高亮內(nèi)容支持同步的應(yīng)用有 Notion,Readwise 和 RemNote,綁定高亮內(nèi)容和圖片的筆記則支持通過(guò) Notion 和 OneNote 同步。
▲ 筆記內(nèi)容可同步至 Notion 和 OneNote
值得注意的是,高亮內(nèi)容的同步和筆記的同步是分離的。以和 Notion 同步為例,同步高亮到 Notion 中會(huì)生成一個(gè)名為「Command」的主文檔,其中的子文檔以網(wǎng)頁(yè)文章標(biāo)題為文件名,文檔內(nèi)容包括原始鏈接,高亮文本及與之綁定的標(biāo)簽。
▲ 高亮內(nèi)容同步至 Notion 中的效果
而同步筆記則會(huì)生成名為「Journals」的主文檔,其子文檔為用戶建立的筆記本名稱。筆記的同步存在許多問(wèn)題,例如在同一個(gè)網(wǎng)頁(yè)中的筆記不能合并為一份,而是每一個(gè)筆記都被單獨(dú)的羅列出來(lái),沒(méi)有按照網(wǎng)址進(jìn)行歸類,且不能顯示筆記對(duì)應(yīng)的標(biāo)簽信息。
▲ Notion 中筆記本目錄下單個(gè)筆記是獨(dú)立展示的,沒(méi)有按照網(wǎng)頁(yè)進(jìn)行分類
Command Browser 支持將網(wǎng)頁(yè)和筆記頁(yè)面劃分到不同的自定義工作空間,方便用戶根據(jù)使用場(chǎng)景快速找到某一類型的網(wǎng)頁(yè)。點(diǎn)擊最右上角的圖標(biāo)可以查看當(dāng)前工作空間的所有標(biāo)簽頁(yè),用戶也可以選擇將當(dāng)前工作空間的網(wǎng)頁(yè)移動(dòng)至其它工作空間。
▲ 移動(dòng)當(dāng)前網(wǎng)頁(yè)至其它工作空間
Command Browser 支持私密標(biāo)簽頁(yè),其中的網(wǎng)頁(yè)需要經(jīng)過(guò)生物識(shí)別解鎖之后才可查看。在應(yīng)用設(shè)置里還可以進(jìn)一步設(shè)置私密標(biāo)簽頁(yè)的鎖定時(shí)間。
▲ 生物識(shí)別解鎖私密標(biāo)簽頁(yè)
Command Browser 也支持閱讀模式,在閱讀模式下也可進(jìn)行標(biāo)注。相比 Safari 的閱讀模式,Command Browser 閱讀模式下網(wǎng)頁(yè)圖片的寬度不會(huì)延伸至屏幕邊緣,排版體驗(yàn)較好。
▲ 閱讀模式對(duì)比,左圖為 Safari 閱讀模式,右圖為 Command Browser 閱讀模式
作為 iPad 上一款完全免費(fèi)且具有網(wǎng)頁(yè)標(biāo)注功能的瀏覽器,Command Browser 基礎(chǔ)標(biāo)注體驗(yàn)已具有較高的可用性,且使用 Apple Pencil 的「隨手寫(xiě)」可以方便的為高亮內(nèi)容添加批注。Command Browser 還提供了豐富的標(biāo)注導(dǎo)出選項(xiàng)。更進(jìn)一步地,它還能夠通過(guò) Notion 等應(yīng)用來(lái)實(shí)時(shí)同步高亮內(nèi)容和筆記。
然后它現(xiàn)階段并不完美,如高亮顏色的切換步驟較多,且無(wú)法實(shí)現(xiàn)多種高亮顏色共存;為高亮內(nèi)容添加標(biāo)簽時(shí)會(huì)偶爾出現(xiàn)整個(gè)應(yīng)用卡住,需要重新啟動(dòng)才能繼續(xù)使用;批注筆記在 Notion 中的呈現(xiàn)過(guò)于碎片化,沒(méi)有如同高亮一樣依據(jù)網(wǎng)頁(yè)鏈接進(jìn)行歸類。默認(rèn)的搜索引擎為谷歌,在國(guó)內(nèi)無(wú)法正常使用,需要切換到 Bing 才可進(jìn)行搜索。
如果你對(duì)在 iPad 上對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行標(biāo)注有需求或者感興趣,那么不妨嘗試一下這款應(yīng)用。
*《Command Browser》在 App Store 得 4.4 分。支持 iPhone,iPad,大小為 48.1MB,免費(fèi)下載,無(wú)內(nèi)購(gòu)。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。