دوره مجازی جاوا اسکریپت (جلسه 4): عملگرهای محاسباتی، منطقی، مقایسه ای در جاوا اسکریپت



visibility  
mode_comment   ۳۹

در جلسه امروز می پردازیم به مباحث مهمی مثل معرفی انواع عملگرهای موجود در زبان جاوااسکریپت و نحوه استفاده از اونها و همچنین نحوه به کار گیری اون ها در کدهای جاوااسکریپت. شما با عملگرها می تونید روی داده ها و متغیرهای موجود عملیات مختلفی رو انجام بدید که این امر خیلی مهم هست و باید به نکات و مواردی که در این جلسه گفتیم خوب دقت کنید و اون ها رو به یاد داشته باشید.

مطالب مطرح شده در این جلسه عبارتند از :

  • توضیحاتی در مورد کیورد var از جلسه گذشته
  • scope و ناحیه تعریف متغیر ها در زبان جاوااسکریپت
  • scope محلی و سراسری در جاوااسکریپت و تفاوت آن ها
  • عملگرهای محاسباتی و ریاضی در جاوااسکریپت
  • عملگرهای انتساب در جاوااسکریپت
  • عملگرهای مربوط به رشته ها در جاوااسکریپت
  • عملگر های مقایسه ای در جاوااسکریپت و اهمیت آن ها
  •  عملگر شرطی سه گانه (:?)
  • عملگرهای منطقی (and,or,not) و اهمیت و کاربرد فراوان انها در جاوااسکریپت
  • تشریح عملگرهای منطقی و توضیح جدول محاسبان آن ها
  • عملگرهای منطقی بیتی در جاوااسکریپت
  • توضیح در مورد محاسبات بیتی و نحوه کار کامپیوتر با اعداد 0 و 1
  • عملگرهای type of و delete و in در جاوا اسکریپت و کاربردشان
  • اولویت عملگرها در زبان جاوااسکریپت
  • ایجاد اولویت دلخواه با استفاده از پرانتزها
info توجه

این مطلب یک جلسه از آموزش javascript می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش javascript

comment دیدگاه کاربران
alireza moazzen replyپاسخ

استاد آوند کارتون درسته ! ممنون واقعا از شما ….

لقمان آوند

خواهش میکنم
لطف دارید

امین خلیلی replyپاسخ

استاد اوند در کد بالا متغیر را بدنvarتعریف کردم تا به صورت گلوبال در بیاید ولی نمیتوانم پرینت کنم

لقمان آوند

سلام
تابع باید صدا زده بشه تا اون کد حداقل یه بار اجرا بشه . اینو تست کنید :

بعد نتیجش رو می تونید با این مقایشه کنید :

hassani replyپاسخ

سلام
این جلسه هم خیلی خوب و واضح بود.
فقط اون بخش bit… خیلی کاربردی نبود کاش ازش میگذشتین و به جاش به حل مثال میپرداختین.
ممنون از آقای آوند و منتظر جلسات بعدی شما هستیم.
راستی یه نکته هم بود که من متوجه شدم اینکه وقتی مثلا از یه عملگر افزایشی استفاده میکنیم ودر خط بعد هم یه عملگر دیگه به کار میگیریم عملیات رو در خط دوم برحسب نتیجه عملیات خط قبل حساب میکنه

لقمان آوند

بالاخره باید توضیح میدادیم که اطلاعات کاربرا هم کمی افزایش پیدا کنه .
ایشالله در انتهای دوره پروژه ها و مثال های عملی خیلی خوبی رو خواهیم داشت و حتما باعث میشه در عمل هم بتونید به خوبی از جاوااسکریپت استفاده کنید.
بله در دستور بعدی نتیجه نهایی دستور قبلی استفاده میشه …

bahman azari replyپاسخ

خیلی خسته نباشید.ولی یه موردی که هست اینه که به قدری تو این ویدئوی بخش چهار آب دهنتون رو قورت دادین که افتاد روی اعصابم و ویدئو رو قطع کردم.احتمالا داشتین تا آخر شکلات میخوردین 🙁

لقمان آوند

عذرخواهی میکنم اگر اینطور بوده.
خودم دقت نکردم به این موضوع !
شکلات می خوردم که کلا نمی تونستم حرف بزنم اقا بهنام ;D

امین خلیلی replyپاسخ

استاد این افزونه که صفحه را رفرش میکنه برای کروم را لینک دانلودش را میدید

لقمان آوند

easy auto refresh chrome رو تو گوگل سرچ کنید و نصب کنید افزونه رو …

Saman SoroushNia replyپاسخ

سلام استاد آوند، عرض ادب

بازهم تشکر بی نهایت از بیان شیوا و تدریس فوق العاده تون، فون بیان عالی تسلط بی نهایت روی تدریس و قدرت انتقال خوب شما واقعا باعث شد نفرتی که از JS پیدا کرده بودم کمترو کمتر بشه

استاد یه سئوال دارم ، من وقتی فیلم هارو نگاه می کنم و با شما تمارین رو انجام میدم خوبه خوبم حتی گاهی یه سری تغییرات رو روی تمارین می دم و به دلخواه نتایج رو به طریق های مختلف می بینم

اما مثلا وقتی 2 روز بعد میام دوباره تمرین کنم میبینم همه چیز یادم رفته و این بدجوری منو بهم میریزه و نا امید میشم

می خواستم بدونم این طبیعه و این مشکل حل بشو هست یا خیر…

لقمان آوند

بله برای شروع تقریبا طبیعیه.
راه حلش تمرین و کدنویسی زیاد و کسب تجربه هست.
ضمن اینکه خوبه که رو مباحث الگوریتمی هم مطالعه کنید.

Saman SoroushNia

بی نهایت ممنونم از وقتی که گذاشتین و پاسخم رو دادین

فقط جسارتا میشه لطفا کمی راجع مباحث الگوریتمی که فرمودین کمی توضیح بدین، چون من متوجه نشدم

با سپاس فراوان

لقمان آوند

منظور روش حل مسائل مختلف هست
باید با تمرین و کسب تجربه و مطالعه این توانایی رو افزایش بدید

سمیرا replyپاسخ

سلام استاد وقت بخیر ❓
من 2 تا سوال داشتم که به جوابشون نیاز مبرم دارم اما چون هنوزاول ویدیو 2 هستم نمیدونم چیکار کنم.اگر امکانش هست راهنماییم کنید
1- کدی بنویسید که سال جاری را برگرداند.

2-. کدی بنویسید که تعداد میلی ثانیه ها را از تاریخ 01/01/1970 برگرداند

لقمان آوند

1:
var y = new Date().getFullYear();
alert(y)

2:
var n = new Date().getTime();
alert(n);

ابراهیم عابدی replyپاسخ

استاد امیدوارم جسارت نکرده باشم در این اموزش گفتید که نمی دونید نام این عملگر چیه || . این لینک خدمت شما

http://www.computerhope.com/jargon/p/pipe.htm

برای بقیه علامت های روی کیبرد

http://www.computerhope.com/keys.htm

لقمان آوند

ممنون از لطفتون
یاد گرفتیم .

Pouriya Ariyafar replyپاسخ

سلام
استاد شما درباره کد زیر توضیح دادید و گفتید که عدد بزرگ تر چاپ میشه

یعنی عدد 34 رو چاپ میکنه ولی من کد زیر رو تست کردم عدد 12 رو چاپ کرد بعدش تست های دیگه کردم دیدم هر چی عدد سمت راست هست رو چاپ میکنه، نظر شما چیه؟

استاد یک مشکل دیگه هم دارم من کدها رو وقتی توی phpstorm مینویسم در خروجی زیر هم نشون نمیده و در یک خط نشون میده، مثل خروجی شما نبود درحالی که حتی اومدم کدهای شما رو کپی کردم باز هم در یک خط بود
یک عکس اپلود کردم تا منظورم رو بهتر برسونم

http://s7.picofile.com/file/8244575300/P1.JPG

ممنون

لقمان آوند

سلام
شاید در اون مثال خاص اینطوری گفتم. اگر بسط دادم اشتباه کردم! تا زمانی که مقداری معادل صفر یا همون false تو عبارت های && نباشه معمولا آخری رو بر می گردونه.
برای چاپ در خطوط مختلف هم آخر رشته های چاپ شده یه تگ br چاپ کنید!

Pouriya Ariyafar

استاد گرفتم
باید تو تابع این تگ رو میذاشتم
ممنون

Behdad Khateri replyپاسخ

سلام
در c++ برای تولید اعداد تصادفی عددی را به عنوان هسته انتخاب میکردیم یا زمان سیستم رو به عنوان هسته در نظر میگرفتیم. در جاوا اسکریپت هم میشه برای تولید اعداد تصادفی هسته در نظر گرفت؟

لقمان آوند

در جاوااسکریپت برای تولید اعداد رندم باید از Math.random استفاده کنید. تو خود جاوااسکریپت چیزی به اسم seed برای تولید اعداد رندم نداریم ولی پیاده سازی این روش قابل انجامه.
پیشنهاد می کنم اینجا و اینجا رو ببینید.

زهرا صوفی replyپاسخ

سلام
من برای تمرینی که گفته بودید دو عدد را از ورودی از کاربر دریافت کنه و حاصل جمع رو بده با دستور promptاعداد را دریافت می کنم اما اعداد را به صورت رشته در نظر می گیره و اون ها رو با هم الحاق میکنه من باید چیکار کنم؟
ممنون

لقمان آوند

پاسخ رو در جلسات بعدی دادیم
مقادیر دریافتی رو با تابع Number به عدد تبدیل کنید

زهرا صوفی replyپاسخ

متشکرم استاد و از بیان و شیوایی کلام شما واقعا لذت بردم اموزشها فوق العاده هستن
امیدوارم موفق باشید

لقمان آوند

خواهش میکنم
از رضایت شما خوشحالیم

mr.soheil replyپاسخ

سلام
اگه برای تعریف یک متغیر از var استفاده نکنیم مشکلی پیش میاد یا حتما باید استفاده کنیم؟

لقمان آوند

احتمال بروز مشکل وجود داره. اگر استفاده نکنید اون متغیر حوزه تعریفش عمومی میشه و محلی نیست. فکر کنم در یکی از جلسات در این مورد صحبت کردیم.

it,one replyپاسخ

سلام و خسته نباشید خدمت استاد اوند عزیز استاد
!==با ! چه تفاوتی میکنه و کجا باید از !== و کجا باید از ! استفاده کنیم

لقمان آوند

سلام
! که علامت not هست. وقتی بخواید جایی خلاف یک شرط برقرار شه اتفاقی بیفته باید از ! استفاده کنید. مثلا اگر کاربر لاین نبود : if(!isUserLogined()){…}
ولی ==! یه عملگر مقایسه ای هست. برای مقایسه دو مقدار استفاده میشه و زمانی برقراره که دو طرف مقایسه از لحاظ نوع و یا مقدار با هم متفاوت باشند.

it,one

😛 استاد بهتر نبود به جای اینکه
print(“—————–“);
بگذارید به تابع به اسم hr تعریف میکردیم و بهش میگفتیم هر موقع صدا زده شدی یه خط چاپ کن !‌؟
#خلاقیت
😆 😆 😉 🙄 😛

لقمان آوند

این کارو در جلسات بعدی کردیم. اینجا هم اینجوری نوشتیم. همه روش براتون نوشتیم …

Trypsin replyپاسخ

سلام استاد
شما گفتید که نمیشه از متغیری که قبلش تعریف نشده استفاده کرد ولی من یه تحقیق کردم ظاهرا روشی هست به نام var hoisting که میشه قبلش 7learn=best رو استفاده کرد و بعدش var =7learn این هم لینک این روش :

وحید صالحی

دوست عزیز توی آدرسی که اشاره کردید به هر حال متغیر تعریف شده توی این روش هم ابتدا مقداری برای عنوانی ست شده و اون عنوان به عنوان متغییر تعریف شده با دقت بیشتری مطالعه کنید متوجه می شید

امیر رضا ناظمی replyپاسخ

سلام خسته نباشید
ببخشید چرا من وقتی
print(x+y);
رو مینویسم خود به خود وارد چاپگر میشه ؟

لقمان آوند

اسم تابع print رو عوض کنید. در جلسه ۶ دوره در این مورد صحبت کردیم.

مجتبی صفدری replyپاسخ

درود با مهندس آوند
نکته ای که برام جالبه توی عکس logical operators
null = null!
چرا ؟
با تشکر

سهیل بشردوست replyپاسخ

درود، اینکه در پایان هر جلسه تکلیف میدید بسیار خوبه اما ای کاش در پایان دوره هم یک پروژه ی بزرگ و پیچیده بعنوان تکلیف نهایی میدادید…

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.