<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>xiulin</title>
        <link>https://paragraph.com/@xiulin</link>
        <description>undefined</description>
        <lastBuildDate>Fri, 24 Apr 2026 19:16:51 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>xiulin</title>
            <url>https://storage.googleapis.com/papyrus_images/0260c8fec1f135b54729fd70b705abe5c76159624a3a90152c1fe5a85fed9eae.jpg</url>
            <link>https://paragraph.com/@xiulin</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[被误解的闭包]]></title>
            <link>https://paragraph.com/@xiulin/2beT4I3CgVRCxfyDqNKO</link>
            <guid>2beT4I3CgVRCxfyDqNKO</guid>
            <pubDate>Tue, 11 Oct 2022 03:02:12 GMT</pubDate>
            <description><![CDATA[js 中的闭包是一个非常强大的特性，但是人们对其也有诸多误解。一种耸人听闻听闻的说法是闭包会造成内存泄漏，所以要尽量减少闭包的使用。 局部变量本来应该在函数退出的时候被解除引用，但如果局部变量被封闭在闭包形成的环境中，那么局部变量就能一直生存下去。从这个意义上来看，闭包的确会使一些数据无法及时被销毁。使用闭包的一部分原因是我们选择主动把一些变量封闭在闭包中，因为可能在以后还要使用这些变量，把这些变量放在闭包中和放在全局作用域对内存的影响是一致的。这里并不能说成是内存泄漏。如果将来需要回收这些变量，手动把这些变量设为null就可以了。 内存泄漏跟闭包有关系的地方是，使用闭包的同时比较容易形成循环引用，如果闭包的作用域链中保存着一些dom节点，这时候可能造成内存泄漏。但这本身并非是闭包的问题，也不是js的问题。在基于引用计数的垃圾回收机制中，如果两个对象之间形成了循环引用，那么这两个对象都无法被回收，但循环引用造成的内存泄漏在本质上也不是闭包造成的。 摘自Javascript设计模式与开发实践 / 曾探]]></description>
            <content:encoded><![CDATA[<p>js 中的闭包是一个非常强大的特性，但是人们对其也有诸多误解。一种耸人听闻听闻的说法是闭包会造成内存泄漏，所以要尽量减少闭包的使用。</p><p>局部变量本来应该在函数退出的时候被解除引用，但如果局部变量被封闭在闭包形成的环境中，那么局部变量就能一直生存下去。从这个意义上来看，闭包的确会使一些数据无法及时被销毁。使用闭包的一部分原因是我们选择主动把一些变量封闭在闭包中，因为可能在以后还要使用这些变量，把这些变量放在闭包中和放在全局作用域对内存的影响是一致的。这里并不能说成是内存泄漏。如果将来需要回收这些变量，手动把这些变量设为null就可以了。</p><p>内存泄漏跟闭包有关系的地方是，使用闭包的同时比较容易形成循环引用，如果闭包的作用域链中保存着一些dom节点，这时候可能造成内存泄漏。但这本身并非是闭包的问题，也不是js的问题。在基于引用计数的垃圾回收机制中，如果两个对象之间形成了循环引用，那么这两个对象都无法被回收，但循环引用造成的内存泄漏在本质上也不是闭包造成的。</p><p>摘自Javascript设计模式与开发实践 / 曾探</p>]]></content:encoded>
            <author>xiulin@newsletter.paragraph.com (xiulin)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/bd175d316b65ec5aae11d21b3955d02cfda9fe32aaf91a0f1ab3893eab3bcbd7.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>