Show tasks
زبان جاوااسکریپت
معرفی
مقدمهای بر جاوااسکریپت
کتابچه راهنما و مشخصات (Specification)
ویرایشگرهای متن
پنل توسعهدهندگان
مفاهیم پایهای جاوااسکریپت
سلام، دنیا!
نمایش یک alert
نمایش یک alert از طریق اسکریپت خارجی
ساختار کد
حالت مدرن، “use strict”
متغیرها
کار با متغیرها
انتصاب نام صحیح
ثابت با حروف بزرگ?
انواع داده
کوتِیشِنهای رشته
تعاملی: alert، prompt، confirm
یک صفحهٔ ساده
تبدیل نوع داده
عملگرهای پایه، ریاضیات
فرمهای پسوندی و پیشوندی
نتیجهی مقداردهی
تبدیل انوع داده
جمع زدن را درست کنید
مقایسه ها
مقایسه ها
انشعاب شرطی: if، '?'
if (رشتهای شامل عدد صفر)
اسم جاوااسکریپت
علامت را نشان دهید
دستور 'if' را به '?' بازنویسی کنید
دستور 'if..else' را به '?' بازنویسی کنید
عملگر های منطقی
نتیجه OR چیست؟
نتیجه alert های دارای OR چیست؟
نتیجه AND جیست؟
نتیجه alert های دارای AND چیست؟
نتیجه OR AND OR
حدود بین را بررسی کنید
محدوده خارج را بررسی کنید
یک سوال درباره "if"
login را بررسی کنید
عملگر Nullish coalescing '??'
حلقه ها: while و for
آخرین مقدار حلقه
حلقه چه مقادیری نشان میدهد؟
کدام مقدارها توسط حلقه "for" نمایش داده می شوند؟
اعداد زوج را در حلقه خروجی بدهید
"for" را با "while" جایگزین کنید
تا زمانی که ورودی درست باشد تکرار کنید
اعداد اول را خروجی بدهید
دستور "switch"
در کد زیر "switch" را به "if" تبدیل کنید
در کد زیر "if" را به "switch" تبدیل کنید
توابع (Functions)
آیا "else" لازم است؟
تابع را با کمک '?' یا '||' بازنویسی کنید
تابع min(a, b)
تابع pow(x,n)
اعلان تابع Expression
مفاهیم سادهی Arrow functions
بازنویسی Arrow Functionها
خلاصهی فصل
کیفیت کد
اشکالزدایی در مرورگر
سبک کدنویسی
Bad style
یادداشت ها
کد نینجا
تست خودکار با Mocha
چه مشکلی در تست(آزمون) وجود دارد؟
پلیفیلها و ترنسپایلرها
شیءها: مباحث پایه
شیءها
سلام شیء
بررسی خالی بودن
ویژگیهای شیء را جمع بزنید
مقدارهای عددیِ ویژگیها را در 2 ضرب کنید
مراجع شیء و کپی کردن
زبالهروبی
متدهای شیء، "this"
استفاده از "this" در شیء لیترال
یک ماشینحساب بسازید
زنجیرهای
سازنده، عملگر "new"
دو تابع - یک شیء
ماشین حساب جدید بسازید
جمع کننده ی جدید بسازید
زنجیرهی اختیاری یا optional chaining '?.'
نوع سمبل (Symbol type)
تبدیل شیء به مقدار اصلی
انواع داده
توابع ابتدایی
آیا میتوان یک مشخصهی رشته حرف اضافه کرد؟
اعداد
اعداد را جمع کنید
چرا 6.35.toFixed(1) == 6.3?
تا زمانی که ورودی یک عدد است تکرار کن
یک حلقهی بینهایت
عددی تصادفی از بین مینیمم تا ماکسیمم
عدد صحیح تصادفی از مینیمم تا ماکسیمم
رشتهها
کاراکتر اول را بزرگ کنید
بررسی هرزنامه
کوتاه کردن متن
استخراج پول
آرایهها
آیا آرایه کپی شده است؟
عملیاتهای آرایه.
فراخوانی محتوای یک آرایه
اعداد ورودی را جمع بزنید
بزرگترین زیرآرایه
متدهای آرایه
عبارت border-left-width را به borderLeftWidth تغییر دهید
جداسازی توسط حدود
جداسازی توسط حدود «در محل»
مرتبسازی با ترتیب نزولی
کپی و مرتب کردن آرایه
یک ماشین حساب قابل توسعه بسازید
اسمها را دریابید
دستیابی به شیءها
مرتبسازی شیءها
آرایه را بُر بزنید
دریافت میانگین سن
عضوهای یکتای آرایه را جدا کنید
شیءهای کلیددار از آرایه بسازید
حلقهپذیرها
Map, Set, WeakMap and WeakSet
ساختارهای Map و Set
اعداد یکتای آرایه را جداسازی کنید
واروواژهها را جداسازی کنید
کلیدهای حلقهپذیر
ساختارهای WeakMap و WeakSet
پرچمهای «خوانده نشده» را ذخیره کنید
تاریخ خواندن را ذخیره کنید
متدهای Object.keys، values، entries
ویژگیها را جمع بزنید
ویژگیها را بشمارید
مقداردهیِ تجزیهکنندهی ساختار
مقداردهی تجزیهکنندهی ساختار
بیشترین حقوق
تاریخ و زمان
یک تاریخ بسازید
روز هفته را نشان دهید
روز هفته اروپایی
چند روز قبل کدام روز ماه بود؟
آخرین روز ماه؟
چند ثانیه از امروز گذشته است؟
چند ثانیه تا فردا مانده است؟
تاریخ مربوط را تغییر شکل دهید
متدهای JSON، toJSON
شیء را به جیسان تبدیل کنید و برعکس
مرجعهای بازگشتی را حذف کنید
استفاده پیشرفته از تابعها
بازگشت و پشته
مجموع را تا عدد داده شده پیدا کنید
فاکتوریل را حساب کنید
اعداد فیبوناچی
Output a single-linked list
یک لیست پیوندی را با ترتیب برعکس نمایش دهید
پارامترهای رست و سینتکس اسپرد
محدوده متغیر، کلوژِر
آیا یک تابع آخرین تغییرات را دریافت میکند؟
کدام متغیرها در دسترس هستند؟
آیا شمارندهها مستقل هستند؟
شیء شمارنده
تابعی درون if
با استفاده از کلوژرها جمع بزنید
آیا متغیر قابل رویت است؟
جداسازی از طریق تابع
مرتبسازی براساس حوزه
ارتشی از تابعها
کلمهی "var" قدیمی
شیء گلوبال
شیء تابع، NFE
تنظیم و کم کردن برای شمارنده
جمع زدن با تعداد دلخواهی از پرانتز
سینتکس "new Function"
زمانبندی: setTimeout و setInterval
در هر ثانیه خروجی بگیرید
تابع setTimeout چه چیزی را نمایش خواهد داد?
دکوراتورها و ارسال کردن، متدهای call/apply
دکوراتور جاسوس
دکوراتور تأخیر انداز
دکوراتور معلقکننده
دکوراتور جلوگیرنده
پیوند تابع
تابع پیوند زده شده به عنوان متد
متد bind دوم
ویژگی تابع بعد از پیوند زدن
تابعی که "this" را از دست میدهد را تصحیح کنید
کاربرد تابع جزئی برای وارد شدن
سرکشی دوباره از تابعهای کمانی
شیءها، کلاسها، ارثبری
پرچمهای ویژگی و توصیفکنندهها
متدهای getter و setter ویژگی
پروتوتایپها، ارثبری
وراثت پروتوتایپی
کار کردن با پروتوتایپ
الگوریتم جست و جو
کجا مینویسد؟
چرا هر دو دو همستر سیر هستند؟
F.prototype
تغییر "prototype"
یک شیء با سازنده یکسان ایجاد کنید
پروتوتایپهای نیتیو (Native prototypes)
متد "f.defer(ms)" را به تابعها اضافه کنید
دکوراتور "defer()" را به تابعها اضافه کنید
متدهای پروتوتایپ، اشیاء بدون __proto__
toString را به فرهنگ لغت اضافه کنید
تفاوت بین فراخوانیها
کلاسها
سینتکس پایه کلاس
با کلاس بازنویسی کنید
وراثت کلاس
ارور در ساختن نمونه
ساعت تعمیم داده شده
ویژگی و متدهای ایستا
آیا Class، Object را تعمیم میدهد؟
ویژگیها و متدهای شخصی و محافظت شده
تعمیم دادن کلاسهای درونساخت
چک کردن کلاس: "instanceof"
یک instanceof عجیب
Mixinها
مدیریت ارور
مدیریت ارور، "try...catch"
بند finally یا فقط کد؟
ارورهای شخصیسازی شده، تعمیم دادن Error
ارثبری از SyntaxError
Promises، async/await
مقدمه: فراخوان
کلاس Promise
آیا یک Promise دوباره resolve میشود؟
تاخیر با Promise
دایره متحرک با Promise
زنجیرهای کردن Promise
Promise: then علیه catch
مدیریت ارورها با promiseها
ارور در setTimeout
Promise API
Promisification
Microtasks
Async/await
بازنویسی با استفاده از async/await
بازنویسی "rethrow" با async/await
فراخوانی async از non-async
Generatorها، حلقهزدن پیشرفته
Generators
generator شبه تصادفی
Async iteration and generators
ماژولها
ماژول ها، معرفی
Export و Import
Import پویا
متفرقه
Proxy and Reflect
Error on reading non-existent property
Accessing array[-1]
Observable
Eval: یک رشته را به عنوان کد اجرا کنید
Eval-calculator
کاری کردن
Reference Type
بررسی سینتکس
مقدار "this" را تشریح کنید.
BigInt
یونیکد، درون رشتهها
مرورگر: Document، Eventها، رابطها
Document
محیط مرورگر و خصوصیات (Specs)
درخت DOM
Walking the DOM
DOM children
The sibling question
Select all diagonal cells
جستجو: *getElement و *querySelector
جستجوی elementها
Node properties: type, tag and contents
Count descendants
What's in the nodeType?
Tag in comment
Where's the "document" in the hierarchy?
Attributes and properties
Get the attribute
Make external links orange
Modifying the document
createTextNode vs innerHTML vs textContent
Clear the element
Why does "aaa" remain?
Create a list
Create a tree from the object
Show descendants in a tree
Create a calendar
Colored clock with setInterval
Insert the HTML in the list
Sort the table
Styles and classes
Create a notification
Element size and scrolling
What's the scroll from the bottom?
What is the scrollbar width?
Place the ball in the field center
The difference: CSS width versus clientWidth
Window sizes and scrolling
Coordinates
Find window coordinates of the field
Show a note near the element
Show a note near the element (absolute)
Position the note inside (absolute)
معرفی Events
درامدی بر رویدادهای مرورگر
مخفی کردن در صورت کلیک
مخفی کردن خود عنصر
کدام کنترلکننده اجرا شود؟
توپ را طول زمین حرکت دهید
ساخت یک منوی کشویی
دکمه بستهشدن اضافه کنید
اسلایدر
بالارفتن و گرفتن
پترن Event delegation
Hide messages with delegation
Tree menu
Sortable table
Tooltip behavior
اکشنهای پیشفرض مرورگر
Why "return false" doesn't work?
Catch links in the element
Image gallery
Dispatchکردن eventهای شخصی سازی شده
جزئیات Eventها
رویدادهای موس
لیست قابل انتخاب
حرکت موس: روی/بیروناز عنصر، ورود/خروجاز عنصر
رفتار یک تولتیپ پیشرفته
تولتیپ "باهوش"
Drag'n'Drop with mouse events
Slider
Drag superheroes around the field
Pointer events
Keyboard: keydown and keyup
Extended hotkeys
اسکرول کردن (Scrolling)
صفحه بیپایان
دکمه بالا و پایین
بارگذاری تصاویر قابلمشاهده
فرمها، کنترلها
Form properties و methods
اضافه کردن یک option به select
Focus: متمرکز کردن/محو کردن
div قابل ویرایش
ویرایش TD با click
ماوس همراه با کیبورد
Events: change, input, cut, copy, paste
ماشین حساب سپرده
فرمها: event و method submit
Modal form
Document و بارگیری منابع
Page: DOMContentLoaded, load, beforeunload, unload
Scripts: async, defer
Resource loading: onload and onerror
Load images with a callback
متفرقه
Mutation observer
Selection و Range
Event loop: microtasks و macrotasks
What will be the output of this code?
مقالههای بیشتر
Frameها و پنجرهها
پنجرههای بازشو و متدهای پنجره
ارتباط بین پنجرهای
حملهی clickjacking
داده Binary، فایلها
ArrayBuffer, آرایههای دودویی
بههم پیوستن آرایههای typed
رمزگشای متن و رمزگذار متن
Blob
File and FileReader
درخواستهای شبکه
Fetch
دریافت کاربران از گیت هاب
FormData
Fetch: Download progress
Fetch: Abort
Fetch: Cross-Origin Requests
Why do we need Origin?
Fetch API
URL objects
XMLHttpRequest
Resumable file upload
Long polling
وب سوکت
Server Sent Events
ذخیره داده در مرورگر
Cookies, document.cookie
LocalStorage, sessionStorage
ذخیره سازی خودکار یک فیلد فرم
IndexedDB
انیمیشن
Bezier منحنی
CSS انیمیشن های
Animate a plane (CSS)
Animate the flying plane (CSS)
Animated circle
انیمیشن دایره با فراخوانی
JavaScript انیمیشن های
Animate the bouncing ball
Animate the ball bouncing to the right
اجزاء وب
از ارتفاع مداری
Custom elements
Live timer element
Shadow DOM
Template element
Shadow DOM slots, composition
Shadow DOM styling
Shadow DOM and events
عبارات باقاعده (Regular Expression)
الگو ها و پرچم ها (Patterns and flags)
کلاس های کاراکتر (Character classes)
یونیکد: پرچم "u" و کلاس {...}p\
anchorها: شروع ^ رشته و پایان $ آن
Regexp ^$
حالت چند خطی anchors ^ $، flag "m"
Word boundary: \b
Find the time
Escaping, special characters
Sets and ranges [...]
Java[^script]
Find the time as hh:mm or hh-mm
Quantifiers +, *, ? and {n}
How to find an ellipsis "..." ?
Regexp for HTML colors
Greedy and lazy quantifiers
A match for /d+? d+?/
Find HTML comments
Find HTML tags
Capturing groups
Check MAC-address
Find color in the format #abc or #abcdef
Find all numbers
Parse an expression
Backreferences in pattern: \N and \k<name>
Alternation (OR) |
Find programming languages
Find bbtag pairs
Find quoted strings
Find the full tag
Lookahead and lookbehind
Find non-negative integers
Insert After Head
Lookahead (in progress)
Catastrophic backtracking
Sticky flag "y", searching at position
Methods of RegExp and String