11. 一篇技术博客,如何获得更多的收藏呢?本篇博客告诉你

面向收藏夹的写作关键在于提供有价值、实用的内容。清单类文章如Python Web框架、学习技巧等,因其整理和汇总性质常被收藏;项目/系列文章中的一篇,如技术教程系列,方便读者后续查阅;案例解决型文章通过解决具体问题,如获取WiFi密码,也容易获得收藏。此外,整理类博客如万字技术大全,因其全面性深受读者喜爱。了解这些心理,有助于增加文章的收藏量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎来到橡皮擦的写作课

本文内容:面向收藏夹的写作
在这里插入图片描述
本篇文章从收藏二字出发,为你揭示何种文章,最易引起读者加入收藏夹。

面向收藏夹的写作

一篇文章的好坏,最直接的反馈就是读者将其纳入收藏,尤其在以推荐流为主的平台,收藏数就是一篇文章价值的最直接体现。

每次收藏的潜台词就是:我认为文章有价值,收藏起来,防止下次找不到这篇优秀的文章。

让读者被动收藏的文章

一篇真正的好文,读者自然心甘情愿的去收藏,但是作为平台新的作者,如何在起步阶段,就让读者去收藏你的文章呢?

这里就有一丝丝的技巧了。

清单类文章

该类文章有天然的优势,因为它的主题就是帮助别人汇总学习资料、学习网站、学习技巧,当读者打开该类文章时,会自然而然的点击收藏。

写作清单类文章需要大量的准备工作,梳理工作,筛选工作,例如:

  1. 分享主流的 Python 10 个 Web 框架;
  2. 学习 XXX 的 10 个技巧;
  3. 为你介绍 B 站的 10 个技术 UP 主;
  4. 10 个 B 站的系列视频。

清单类文章有个数字,即 10,一定要牢牢地记住,这个数字有神奇的魔力,使用之后就能收获到收藏。

项目/系列文章中的一篇

很多作者喜欢一个系列的文章,例如橡皮擦自己的爬虫系列,这类文章阅读起来是有连续性的,所以当读者阅读到该类文章之后,需要将其收藏起来,便于下次寻找。

以下系列文章,你可以检查自己的收藏夹是否存在:

  1. 每天几道面试题系列;
  2. 数据结构、算法讲解、设计模式系列;
  3. Python 从 0 到 1 系列。

案例解决型文章

一篇文章解决一个问题,或者适用于一个场景,该类文章对读者有很大的诱惑力,因为未来生活中是否会碰到类似的问题,谁也无法确定,顾先收藏之。

  • 一篇博客解决压缩包密码;
  • 一篇博客获取图片定位;
  • 一篇博客获取 wifi 密码;
  • 一篇博客实现群发消息。

整理类博客

从博客写作表现数据上看,整理类博客篇幅都比较长,包含的内容或技术点都比较全,一般常见类型如下:

  1. 万字整理,面试题大全;
  2. 万字整理,Python 技巧大全;
  3. 一篇文章就够了,Java 基础知识;
  4. 史上最全,IDEA 快捷键大全。

基于上述案例,你可以得出如下结论:能进入读者收藏夹的文章,一定是写作者付出大量时间,整理或者创作的文章

收藏这个动作背后的几个心理

作为一个读者,在收藏文章背后,一般隐藏如下三种心理状态(个人见解,欢迎评论区讨论)

  1. 内容实在,有价值,有干货,写作完整,高度认可该篇文章;
  2. 收藏备用,便于下次寻找到该文章;
  3. 这篇文章实实在在的扩展了新知识。

如果你想要收获更多的读者收藏,可以上述出发点去完成写作。

写在后面

写作时,应该经常用换位思考,既然是面向收藏夹的写作,那你做的第一件事情应该是,打开自己的收藏夹,分析自己收藏的文章。

已完成文章

本文完。

2021 年 7 月 19 日 梦想橡皮擦,发布于河北石家庄。

下一篇主题:
写作可利用的心理学


今天是持续写作的第 186 / 200 天。可以点赞、评论、收藏啦。

<think>好的,用户让我写一篇标题为“闭包是什么?有哪些应用场景”的博客。首先,我需要明确用户的需求。他们可能对闭包这个概念不太熟悉,或者想深入了解它的应用。用户可能是编程初学者,或者有一定经验但想巩固知识的开发者。因此,我需要用通俗易懂的语言来解释闭包,同时提供实际的应用场景,帮助他们理解如何在实际编程中使用闭包。 接下来,我需要确定博客的结构。通常,技术博客的结构包括引言、定义、核心概念、应用场景、优缺总结。这样可以让读者逐步理解闭包的概念,从基础到应用,层层深入。 首先,引言部分应该简单介绍闭包的重要性,比如在JavaScript中的常见使用,或者函数式编程中的地位。然后,在“闭包的定义”部分,需要用简单的例子来说明闭包是如何形成的,比如函数嵌套,内部函数引用外部变量。这里要注意使用中文术语,避免专业术语过多,必要时用代码示例辅助说明。 接下来是“闭包的核心特征”部分,需要列出闭包的几个关键,比如函数嵌套、引用外部变量、延长变量生命周期。每个特征都要有简短的例子或解释,帮助读者记忆。 然后是“应用场景”,这部分是重。需要列举常见的应用场景,比如封装私有变量、延迟执行、函数柯里化、回调函数保留上下文。每个场景都要有代码示例,并且说明为什么闭包在这里有用。比如在封装私有变量时,闭包可以创建私有作用域,避免全局污染。在延迟执行时,闭包可以保存状态,比如setTimeout中的例子。 之后是“闭包的优缺”。优包括实现封装、灵活性模块化,缺则是内存泄漏的风险可能的性能问题。这里需要提醒读者在使用闭包时要注意内存管理,避免不必要的引用。 最后,总结部分要强调闭包的重要性,并鼓励读者多加练习。同时,提醒注意闭包的潜在问题,平衡使用。 在写作过程中,需要注意用户提到的系统级指令,比如数学公式要用$...$,但这里可能用不上,因为闭包主要是编程概念。不过如果有涉及数学的地方,比如函数式编程中的lambda演算,可能需要用LaTeX格式。但根据用户给的例子,可能更多是代码块,所以需要确认是否需要使用LaTeX。不过用户示例中的代码示例用的是代码块,所以应该用代码格式而非LaTeX。可能用户提到的数学表达式更多是举例,但在这篇博客中可能不需要,所以可能可以忽略这部分。不过要确保代码示例的正确性,比如JavaScript语法是否正确。 另外,用户要求使用中文回答,结构清晰,分步骤解决问题。因此,每个部分都需要有明确的标题,使用列表或分说明,让读者容易跟随。同时,确保语言流畅,避免过于技术化的术语,必要时进行解释。 可能还需要检查闭包的常见误解,比如闭包是否一定是函数返回函数,或者闭包的内存管理问题。但根据用户的需求,可能不需要深入讨论,保持基础即可。 最后,确保整篇博客逻辑连贯,从定义到应用,再到优缺,自然过渡。代码示例要简洁明了,突出闭包的关键部分,比如外部变量的引用生命周期的延长。</think>```markdown # 闭包是什么?有哪些应用场景 ## 引言 闭包(Closure)是编程语言中一个既基础又强大的概念,尤其在JavaScript、Python等支持函数式编程范式的语言中广泛应用。本文将用通俗易懂的方式解析闭包的本质,并通过实际代码示例展示其应用场景。 --- ## 一、闭包的定义 闭包的本质是:**一个函数与其引用外部变量的环境组合形成的实体**。简单来说: - 当函数A内部定义了函数B - 函数B引用了函数A的局部变量 - 函数B在函数A外部被调用时,仍然能访问函数A的变量 此时,函数B就是一个闭包。 ### 代码示例 ```javascript function outer() { let count = 0; // 外部函数的局部变量 function inner() { // 闭包函数 count++; console.log(count); } return inner; } const counter = outer(); counter(); // 输出1 counter(); // 输出2(保留了count的状态) ``` --- ## 二、闭包的核心特征 1. **函数嵌套**:闭包产生于嵌套函数结构中 2. **引用外部变量**:内部函数需引用外部函数的变量 3. **延长变量生命周期**:外部函数的变量不会随其执行结束被销毁 --- ## 三、应用场景 ### 1. 封装私有变量 实现类似面向对象编程的私有属性: ```javascript function createBankAccount(initialBalance) { let balance = initialBalance; // 私有变量 return { deposit: (amount) => { balance += amount }, withdraw: (amount) => { balance -= amount }, getBalance: () => balance }; } const account = createBankAccount(100); account.withdraw(30); console.log(account.getBalance()); // 输出70 ``` ### 2. 延迟执行 保留上下文状态供后续使用: ```javascript function delayedGreeting(name) { setTimeout(() => { console.log(`Hello, ${name}!`); // 闭包保留了name变量 }, 1000); } delayedGreeting("Alice"); // 1秒后输出"Hello, Alice!" ``` ### 3. 函数柯里化(Currying) 生成预置参数的函数: ```javascript function multiply(a) { return (b) => a * b; // 闭包记住了参数a } const double = multiply(2); console.log(double(5)); // 输出10 ``` ### 4. 回调函数保留上下文 在事件处理中保持状态: ```javascript function initCounter() { let count = 0; document.getElementById('btn').addEventListener('click', () => { count++; // 闭包保留计数器状态 console.log(`Clicked ${count} times`); }); } initCounter(); ``` --- ## 四、闭包的优缺 | 优 | 缺 | |------|------| | 实现变量封装与私有化 | 过度使用可能导致内存泄漏 | | 增强代码灵活性 | 对垃圾回收机制不友好 | | 支持模块化开发 | 可能影响性能(需合理使用) | --- ## 五、总结 闭包通过将函数与执行环境绑定,赋予了函数“记忆能力”,这种特性在模块化开发、状态管理、高阶函数等场景中发挥着重要作用。掌握闭包需要注意: 1. 理解变量作用域链 2. 合理控制闭包生命周期 3. 警惕无意中造成的内存泄漏 建议通过实际编码练习加深理解,并在项目中根据需求灵活运用这一强大特性。 ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值