<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Farzane Mokhtari</title>
        <link>https://virgool.io/feed/@farzanem</link>
        <description>A Front-end Developer</description>
        <language>fa</language>
        <pubDate>2026-06-16 17:39:21</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/255831/avatar/cnbSwk.png?height=120&amp;width=120</url>
            <title>Farzane Mokhtari</title>
            <link>https://virgool.io/@farzanem</link>
        </image>

                    <item>
                <title>مروری بر انواع function ها در جاواسکریپت</title>
                <link>https://virgool.io/@farzanem/%D9%85%D8%B1%D9%88%D8%B1%DB%8C-%D8%A8%D8%B1-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-function-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-oxfb7fvx6ofh</link>
                <description>Functions In JavaScriptهرچند تعریف فانکشن مطلب ساده ایه، ولی نکته های ریزی دارن که مرورشون خالی از لطف نیست!انواع تعریف فانکشن:روش اول: Function DeclarationFunction Declarationروش دوم: Function ExpressionFunction Expressionمقایسه این دو روش: 1. خط آخر این نوع تعریف به ; نیاز داره که بخاطر انتساب هست.2. در روش اول اگر فانکشن قبل از خط تعریف صدا زده بشه به درستی کار میکنه ولی در Function Expression حتما باید بعد از تعریف صدا زده بشه. روش سوم: showOK و showCancel فانکشن های callback هستن، این فانکشن ها به عنوان پارامتر فرستاده میشن تا هر جا لازم بود صدا زده بشن.callbackکد بالا میتونه ب شکل زیر هم نوشته بشه که در اون صورت به فانکشن های ارسالی anonymous گفته میشه چون بدون اسم هستن.anonymous روش چهارم: Arrow Functionarrow functionبعدا در مورد این روش جزییات بیشتری رو میگیم.ارسال پارامتر:این دو مثال رو با هم مقایسه کنید:مثال اولمثال دومبرای هر دو مثال یک متغیر بیرونی داریم که داخل فانکشن مقدار جدید بهشون داده شده، برای مثال اول مقدار متغیر بیرونی تغییر کرده ولی برای مثال دوم ثابت مونده!چرا؟ چون وقتی متغیری رو به عنوان پارامتر برای فانکشن میفرستیم، فانکشن ها یک کپی از مقدار متغیر رو دریافت میکنن نه خود متغیر رو!</description>
                <category>Farzane Mokhtari</category>
                <author>Farzane Mokhtari</author>
                <pubDate>Mon, 14 Sep 2020 18:14:39 +0430</pubDate>
            </item>
                    <item>
                <title>&quot;use strict&quot; چیه؟</title>
                <link>https://virgool.io/@farzanem/use-strict-%DA%86%DB%8C%D9%87-slcopmnegdnf</link>
                <description>جاوا اسکریپت برای مدتهای طولانی، بدون داشتن مشکلات سازگاری (compatibility issues) پیشرفت میکرد، فیچرهای جدید اضافه میشدن بدون اینکه قدیمی ها تغییری کنن.خوبی ای که داشت این بود که نیازی به تغییر کدهای فعلی نبود، ولی از اون طرف قضیه اگه از طرف سازندگان جاوااسکریپت کدی به اشتباه زده شده بود یا بهترین کیفیت رو نداشت برای همیشه موندگار بود!داستان همین طور پیش رفت تا سال 2009 که ECMAScript 5 اومد فیچرهای جدید اضافه کرد و بعضی از فیچرهای قدیمی رو تغییر داد. برای اینکه کدهای قدیمی درست کار کنه خیلی از تغییرات رو بطور پیش فرض غیرفعال کرد تا هرجا که لازم باشه با اضافه کردن دایرکتیو &quot;use strict&quot; فیچرهای جدید فعال بشه.وقتی این دایرکتیو بالای اسکریپت شما باشه، کل اسکریپت بصورت &quot;مدرن&quot; عمل میکنه، که این حالت مدرن شامل قابلیت استفاده از فیچرهایی مثل class و module هاست. آیا نیازه همیشه دایرکتیو &quot;use strict&quot; رو بالای اسکریپت اضافه کنیم؟ نه، وقتی از قابلیت های مدرن استفاده می کنیم، دایرکتیو بصورت خودکار اضافه میشه. پس خیلی نگران بودن یا نبودنش بالای اسکریپت نباشیم ولی بهتره بدونیم چیه و از کجا اومده!</description>
                <category>Farzane Mokhtari</category>
                <author>Farzane Mokhtari</author>
                <pubDate>Sat, 29 Aug 2020 19:37:09 +0430</pubDate>
            </item>
            </channel>
</rss>