39. When would you use for vs forEach()?
for Loop vs forEach()
for - More control, Can use break/continue, Faster in heavy loops
forEach() - Cleaner syntax, Cannot stop early, Better readability
for Example
forEach() Example
Interview Tip:
Use forEach() for readability and for when more control is needed.
40. How do you handle early exits from loops?
Using break
Using return Inside Functions
Important:
forEach() does not support break directly.
Use:
• for
• for...of
• some()
• every()
for early exits.
Double Tap ❤️ For Part-5
💎 @Htmlcss_channels | #css #JavaScript #HTML #interview
for Loop vs forEach()
for - More control, Can use break/continue, Faster in heavy loops
forEach() - Cleaner syntax, Cannot stop early, Better readability
for Example
for (let i = 0; i < 3; i++) {
console.log(i);
}forEach() Example
[1, 2, 3].forEach(num => {
console.log(num);
});Interview Tip:
Use forEach() for readability and for when more control is needed.
40. How do you handle early exits from loops?
Using break
for (let i = 1; i <= 5; i++) {
if (i === 3) {
break;
}
console.log(i);
}Using return Inside Functions
function test() {
for (let i = 1; i <= 5; i++) {
if (i === 3) {
return;
}
console.log(i);
}
}
test();Important:
forEach() does not support break directly.
Use:
• for
• for...of
• some()
• every()
for early exits.
Double Tap ❤️ For Part-5
💎 @Htmlcss_channels | #css #JavaScript #HTML #interview
❤3
🔥3❤2
💻 Responsive HTML Video با Orientation Media Query
💻 کد CSS:
* حالت عمودی (موبایل) *
* حالت افقی (دسکتاپ) *
⚡ بهینهسازی بیشتر:
* فقط موبایل *
* فقط دسکتاپ *
🎬 مثال عملی:
💎 @Htmlcss_channels | #HTML #css #JavaScript
💻 کد CSS:
* حالت عمودی (موبایل) *
@media screen and (orientation: portrait) {
video {
width: 100%;
height: auto;
}
}* حالت افقی (دسکتاپ) *
@media screen and (orientation: landscape) {
video {
width: auto;
height: 100vh;
max-width: 100%;
}
}⚡ بهینهسازی بیشتر:
* فقط موبایل *
@media screen and (max-width: 768px) and (orientation: portrait) {
video {
object-fit: cover;
aspect-ratio: 9/16;
}
}* فقط دسکتاپ *
@media screen and (min-width: 769px) and (orientation: landscape) {
video {
object-fit: contain;
aspect-ratio: 16/9;
}
}🎬 مثال عملی:
<video controls poster="poster.jpg">
<source src="video-mobile.mp4" media="(orientation: portrait)">
<source src="video-desktop.mp4" media="(orientation: landscape)">
Your browser does not support the video tag.
</video>
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤8
✨ مجموعهای از کدهای کوتاه ولی کاربردی CSS
۶ تکه کد که هر برنامهنویس وب باید داشته باشه
ارسال کدها در پست بعدی👇
💎 @Htmlcss_channels | #HTML #css #JavaScript
۶ تکه کد که هر برنامهنویس وب باید داشته باشه
ارسال کدها در پست بعدی👇
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤4🔥1
✨ مجموعهای از کدهای کوتاه ولی کاربردی CSS
۶ تکه کد که هر برنامهنویس وب باید داشته باشه!
۱️⃣ مرکز کردن آیتمها در گرید
یه خط ساده که همه چیز رو وسط میاره! هم عمودی، هم افقی.
۲️⃣ پدینگ چپ و راست (با logical properties)
به جای
نکته: همین ترفند رو میتونی برای
•
•
۳️⃣ ستونهای همعرض در گرید
هر تعداد ستون که داشته باشی، همه همعرض میشن! عالی برای layoutهای داینامیک.
۴️⃣ استایل همزمان hover و focus
یه بار بنویس، برای هر دو حالت کار کنه! هم برای موس، هم برای کیبورد (accessibility).
۵️⃣ دایره کامل
هرچیزی رو تبدیل به دایره میکنه! با
۶️⃣ حذف فاصله اضافی بین آیتمهای گرید
یا برای فاصله دلخواه:
💡 چرا اینا کاربردی ان؟
• کوتاه و مینیمال — هر کدوم یه خطه
• مدرن — از قابلیتهای جدید CSS استفاده میکنن
• کاربرد روزمره — توی هر پروژهای بهشون نیاز داری
💎 @Htmlcss_channels | #HTML #css #JavaScript
۶ تکه کد که هر برنامهنویس وب باید داشته باشه!
۱️⃣ مرکز کردن آیتمها در گرید
.container {
display: grid;
place-items: center;
}یه خط ساده که همه چیز رو وسط میاره! هم عمودی، هم افقی.
۲️⃣ پدینگ چپ و راست (با logical properties)
.button {
padding-inline: 1rem;
}به جای
padding-left و padding-right — یه دونه بنویس! نکته: همین ترفند رو میتونی برای
margin و border هم استفاده کنی:•
margin-inline / border-inline → چپ و راست•
padding-block / margin-block → بالا و پایین۳️⃣ ستونهای همعرض در گرید
.container {
display: grid;
grid-auto-flow: column;
grid-auto-columns: 1fr;
}هر تعداد ستون که داشته باشی، همه همعرض میشن! عالی برای layoutهای داینامیک.
۴️⃣ استایل همزمان hover و focus
button:is(:hover, :focus) {
/* استایل خودت رو اینجا بنویس */
}یه بار بنویس، برای هر دو حالت کار کنه! هم برای موس، هم برای کیبورد (accessibility).
۵️⃣ دایره کامل
.circle {
width: 2rem;
aspect-ratio: 1 / 1;
border-radius: 50%;
}هرچیزی رو تبدیل به دایره میکنه! با
aspect-ratio مطمئن میشی که همیشه square بمونه.۶️⃣ حذف فاصله اضافی بین آیتمهای گرید
.container {
gap: 0;
}یا برای فاصله دلخواه:
.container {
gap: 1rem;
}💡 چرا اینا کاربردی ان؟
• کوتاه و مینیمال — هر کدوم یه خطه
• مدرن — از قابلیتهای جدید CSS استفاده میکنن
• کاربرد روزمره — توی هر پروژهای بهشون نیاز داری
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤6
؛CSS Houdini چیست؟
یه API قدرتمند که بهت اجازه میده مستقیماً با CSS نقاشی بکشی! 🎨
توضیحات بیشتر و کدهارو در پست بعدی ببینید👇👇
💎 @Htmlcss_channels | #HTML #css #JavaScript
یه API قدرتمند که بهت اجازه میده مستقیماً با CSS نقاشی بکشی! 🎨
توضیحات بیشتر و کدهارو در پست بعدی ببینید👇👇
💎 @Htmlcss_channels | #HTML #css #JavaScript
🔥2❤1
؛CSS Houdini چیست؟
یه API قدرتمند که بهت اجازه میده مستقیماً با CSS نقاشی بکشی! 🎨
۵ مرحلهای که تصاویر نشون میدن:
۱️⃣ ساخت Paint Worklet
یه کلاس جاوااسکریپت مینویسی که روی canvas رسم میکنه.
۲️⃣ ثبت Worklet
فایل جاوااسکریپت رو به مرورگر معرفی میکنی.
۳️⃣ استفاده در CSS
حالا میتونی مثل
۴️⃣ شخصیسازی با متغیرها
رنگ رو از CSS تغییر بده!
۵️⃣ نتیجه
• ✅ بدون عکس
• ✅ بدون پلاگین
• ✅ فقط CSS خالص
• ✅ روی compositor thread اجرا میشه (سریع)
💎 @Htmlcss_channels | #HTML #css #JavaScript
یه API قدرتمند که بهت اجازه میده مستقیماً با CSS نقاشی بکشی! 🎨
۵ مرحلهای که تصاویر نشون میدن:
۱️⃣ ساخت Paint Worklet
class DotsPainter {
paint(ctx, geom, props) {
ctx.fillStyle = 'pink';
for (let y = 0; y < geom.height; y += 20) {
for (let x = 0; x < geom.width; x += 20) {
ctx.beginPath();
ctx.arc(x, y, 5, 0, 2 * Math.PI);
ctx.fill();
}
}
}
}
registerPaint('dots', DotsPainter)یه کلاس جاوااسکریپت مینویسی که روی canvas رسم میکنه.
۲️⃣ ثبت Worklet
CSS.paintWorklet.addModule('paint.js');فایل جاوااسکریپت رو به مرورگر معرفی میکنی.
۳️⃣ استفاده در CSS
.box {
background: paint(dots);
}حالا میتونی مثل
background معمولی استفاده کنی!۴️⃣ شخصیسازی با متغیرها
ctx.fillStyle = props.get('--dot-color') || 'pink';.box {
background: paint(dots);
--dot-color: blue;
}رنگ رو از CSS تغییر بده!
۵️⃣ نتیجه
• ✅ بدون عکس
• ✅ بدون پلاگین
• ✅ فقط CSS خالص
• ✅ روی compositor thread اجرا میشه (سریع)
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤5
🖥️ پروژههای تمرینی برای توسعهدهنده وب (با سورس کد)
۵۰ پروژه در ۵۰ روز
• تکنولوژی: HTML, CSS, JavaScript
• توضیح: ۵۰ پروژه کوچک برای تمرین روزانه
• سطح: مبتدی تا متوسط
فروشگاه اینترنتی با Django
• تکنولوژی: Python (Django)
• توضیح: ساخت فروشگاه کامل با لیست محصولات، سبد خرید و پرداخت
• سطح: متوسط
• ویژگی: یادگیری ادغام بکاند و فرانتاند
اپلیکیشن کوئیز جاوااسکریپت
• تکنولوژی: JavaScript (React)
• توضیح: اپلیکیشن کوئیز داینامیک با دریافت سوالات از API
• سطح: متوسط
• ویژگی: تقویت React و ادغام API
سیستم احراز هویت PHP
• تکنولوژی: PHP
• توضیح: سیستم احراز هویت و مدیریت کاربران
• سطح: متوسط
• ویژگی: CRUD و امنیت با PHP و MySQL
لیست کارهای (To-Do List)
• تکنولوژی: Ruby on Rails
• توضیح: اپلیکیشن مدیریت وظایف
• سطح: مبتدی تا متوسط
• ویژگی: اضافه، ویرایش و حذف وظایف
🚀 پیشنهاد شروع
1. مبتدی: شروع با ۵۰ پروژه در ۵۰ روز
2. متوسط: ادامه با فروشگاه Django یا کوئیز React
3. پیشرفته: سیستم احراز هویت PHP
💎 @Htmlcss_channels | #HTML #css #JavaScript
۵۰ پروژه در ۵۰ روز
• تکنولوژی: HTML, CSS, JavaScript
• توضیح: ۵۰ پروژه کوچک برای تمرین روزانه
• سطح: مبتدی تا متوسط
فروشگاه اینترنتی با Django
• تکنولوژی: Python (Django)
• توضیح: ساخت فروشگاه کامل با لیست محصولات، سبد خرید و پرداخت
• سطح: متوسط
• ویژگی: یادگیری ادغام بکاند و فرانتاند
اپلیکیشن کوئیز جاوااسکریپت
• تکنولوژی: JavaScript (React)
• توضیح: اپلیکیشن کوئیز داینامیک با دریافت سوالات از API
• سطح: متوسط
• ویژگی: تقویت React و ادغام API
سیستم احراز هویت PHP
• تکنولوژی: PHP
• توضیح: سیستم احراز هویت و مدیریت کاربران
• سطح: متوسط
• ویژگی: CRUD و امنیت با PHP و MySQL
لیست کارهای (To-Do List)
• تکنولوژی: Ruby on Rails
• توضیح: اپلیکیشن مدیریت وظایف
• سطح: مبتدی تا متوسط
• ویژگی: اضافه، ویرایش و حذف وظایف
🚀 پیشنهاد شروع
1. مبتدی: شروع با ۵۰ پروژه در ۵۰ روز
2. متوسط: ادامه با فروشگاه Django یا کوئیز React
3. پیشرفته: سیستم احراز هویت PHP
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#فیگما یک اکستنشن مرورگر کروم معرفی کرده که یک سایت رو باز میکنید
میزنید روی کپی
میرید داخل فیگما Past میکنید
تمام، الان یک سایت قابل ادیت دارید
پ.ن: الان میشه کار مشتری هایی که یک کپی دیجی کالا و اسنپ رو میخوان سریع راه انداخت
پ.ن: نسخه آزمایشیش برای پلن های پرو به بالا کار میکنه نه رایگان
https://chromewebstore.google.com/detail/figma/fkmaohpngenfoccdgceedjkfhkdcohmg
💎 @Htmlcss_channels | #HTML #css #JavaScript
میزنید روی کپی
میرید داخل فیگما Past میکنید
تمام، الان یک سایت قابل ادیت دارید
پ.ن: الان میشه کار مشتری هایی که یک کپی دیجی کالا و اسنپ رو میخوان سریع راه انداخت
پ.ن: نسخه آزمایشیش برای پلن های پرو به بالا کار میکنه نه رایگان
https://chromewebstore.google.com/detail/figma/fkmaohpngenfoccdgceedjkfhkdcohmg
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤7
Responsive Web Design with HTML5 and CSS: Develop Future-proof Responsive Websites Using the Latest HTML5 and CSS Techniques
Book by Ben Frain
💎 @Htmlcss_channels | #HTML #css #JavaScript
Book by Ben Frain
💎 @Htmlcss_channels | #HTML #css #JavaScript
❤2