این آموزش در تاریخ ۱۴۰۱/۰۳/۱۹ آپدیت شده است.
کار با رشته ها یا Strings در جاوااسکریپت
سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش کار با رشته ها یا Strings در جاوااسکریپت با من همراه باشید.
Free-Learn
آنچه در این جلسه میخوانید :
کار با رشته ها یا Strings در جاوااسکریپت
رشته ها یا Strings
یا خودمونی همون متن میشه، بطور کلی به داده ای که داخل ۲تا دابل کوتیشن ” ” یا تک کوتیشن ‘ ‘ قرار داشته باشه میگیم رشته یا String
خب ما در جلسات قبلی متوجه شدیم که اصلا متغیر چیست و چجوری تعریف میشه ! یا اینکه اصلا انواع داده چیه و چجوری نوع داده رو تعریف میکنیم و… که پیشنهاد میکنم حتما از طریق لینک های زیر به جلسات قبلی دسترسی پیدا نمایید.
Free-Learn
نحوه استفاده از تک کوتیشن یا دوبل کوتیشن
ما هم میتونیم برای تعریف رشته ها هم از تک کوتیشن ‘ و هم دوبل کوتیشن ” استفاده نماییم، و هیچ مشکلی ندارد. ولی استفاده از هردوتای اینها در کنار همدیگه مشکل دارد و برنامه اجرا نخواهد شد.
مثال شماره ۱ : استفاده از تک کوتیشن ‘ ‘
1 2 |
var name = 'Sadegh'; var family = 'Asadi'; |
مثال شماره ۲ : استفاده از دوبل کوتیشن ” ”
1 2 |
var name = "Sadegh"; var family = "Asadi"; |
مثال شماره ۳ : استفاده از تک کوتیشن در دوبل کوتیشن
1 2 3 4 5 6 |
<script> var MyName = " Sadegh 'Asadi' "; document.write(MyName); </script> |
مثال شماره ۴ : استفاده از دوبل کوتیشن در تک کوتیشن
1 2 3 4 5 6 |
<script> var MyName = ' Sadegh "Asadi" '; document.write(MyName); </script> |
Free-Learn
استفاده همزمان از دوبل کوتیشن یا تک کوتیشن ممنوع
در ادامه ی آموزش کار با رشته ها یا Strings در جاوااسکریپت میخوام یک نکته مهم درباره تک کوتیشن ها ( یا علامت ‘ ) و دوبل کوتیشن ها ( یا علامت ” ) براتون بگم.
در جاوااسکریپت نمیشه بصورت همزمان از ۲ تا مثلا دوبل کوتیشن یا تک کوتیشن استفاده کرد، اینجوری جاوااسکریپت گیج میشه و در نتیجه برنامه اجرا نمیشه.
مثال : استفاده از ۲ عدد دوبل کوتیشن بصورت همزمان درکنار همدیگر ( برنامه اجرا نمیشه و در نتیجه در خروجی هیچی نشون نمیده )
1 2 3 4 5 6 |
<script> var MyName = " Sadegh "Asadi" "; document.write(MyName); </script> |
Free-Learn
کاراکترهای خاص در جاوااسکریپت
خب ما تو مثال قبلی دیدیم که نمیشه بصورت همزمان از ۲ عدد مثلا دوبل کوتیشن درکنار همدیگر استفاده کرد، خب بنظره شما راه حل چیه؟ نگران نباشید جاوااسکریپت با یسری از کاراکترهای خاص این مشکل رو حل کرده.
وقتی بصورت همزمان از ۲ عدد مثلا تک کوتیشن یا دوبل کوتیشن استفاده میکنیم ، در اصطلاح بهش میگن فرار کردن یا خُرد شدن کاراکترها، یا به انگلیسی Escape Character
خب اصلا شاید من دوس داشته باشم همزمان از ۲ تا دوبل کوتیشن استفاده کنم؟! یا مثلا از ۲تا تک کوتیشن؟ یا شاید بخوام مثلا کاراکتر \ رو اضافه کنم اونوقت باید چکار کرد؟! خیلی راحت میتونیم از کاراکترهای خاص موجود در جدول زیر استفاده نماییم.
کد | توضیح | مثال |
---|---|---|
‘\ | برای ایجاد تک کوتیشن | امتحان کنید |
“\ | برای ایجاد دوبل کوتیشن | امتحان کنید |
\\ | برای ایجاد بک اسلَش یا \ | امتحان کنید |
Free-Learn
شکستن سطر و رفتن به سطر بعد در جاوااسکریپت
حالا این شکستن سطر و رفتن به سطر بعد ( جدید ) خب میتونه چندین معنی داشته باشه، مثلا اینکه بخوایم در خروجی متن مون به سطر جدید شکسته شه یا نه خوده کدهای جاوااسکریپت شکسته و به سطر جدید بروند.
- شکستن سطر و رفتن به سطر جدید در خروجی
مثال شماره ۱ : مثلا من میخوام در خروجی متنم شکسته شه و به سطر جدید بره ، یعنی دقیقا میخوام کار تگ BR یا دکمه اینتر رو انجام بدیم. خب خیلی راحت میتونیم از همون تگ <br> که مال زبان HTML هست استفاده نماییم.
1 2 3 4 5 |
<script> document.write("Salam Khobi? <br> Man Sadegh <br> Hastam."); </script> |
مثال شماره ۲ : روش دوم استفاده از کاراکتر خاص n\ ( این روش فقط در حالت کنسول یا اشکال زدایی و یا در حالت نمایش باکس هشدار همانند alert کاربرد دارد )
1 2 3 4 5 6 |
<script> var mytext = " Salam Khobi? \n Man \n Sadegh \n Hastam. "; alert(mytext); </script> |
- شکستن سطر و رفتن به سطر جدید در خوده کدهای جاوااسکریپت
خب شاید طول کدهای ( منظور خوده دستورات یا کدهای جاوااسکریپت می باشد ) که نوشتم خیلی زیاده و از طرفی هم میخوام به سطرهای جدید شکسته بشن ( برای خوانایی بهتر ) خب باید چکار کرد؟! همینجوری عشقی که نمیتونیم اینتر بزنیم.
در داخل خوده دستورات اینتر زدن اشکال نداره ولی فقط نباید داخل رشته ( متن ها ) اینتر بزنید، لطفا به مثال زیر توجه نمایید :
1 2 3 4 5 6 7 8 9 10 |
<script> document . getElementById ("demo"). innerHTML = "Free-Learn"; </script> |
همونطور که میبینید در دستورات بالا مثلا بعد از document اینتر زدیم و رفتیم سطر جدید، یا مثلا بعد از getElementById اینتر زدیم ، خب این مشکل نداره – هرچند کار جذابی نیست چون اینجوری خوانایی از دست میره ولی خب درکل میخوام بگم اینکار اشکال نداره و جاوااسکریپت بهمون خروجی میده.
یعنی همون دستورات بالا در اصل و در حالت استاندارد و اینکه خوانایی داشته باشه، به صورت زیر می باشند :
1 |
document.getElementById("demo").innerHTML = "Free-Learn"; |
- نباید در رشته ها ( منظور همون متنی که قراره در خروجی چاپ شه ) اینتر بزنیم ، چون اینجوری برنامه اجرا نمیشه.
مثال :
1 2 3 4 5 6 7 8 |
<script> var mytext = " Salam Khobi? Man Sadegh Hastam. "; document.write(mytext); </script> |
- اگه میخواید مثلا در مثال بالا رشته ها رو شکسته و به سطرهای بعدی انتقال داد و برنامه هم مشکلی نداشته باشد و اجرا بشه ، باید از علامت + استفاده نمایید.
مثال شماره ۱ : استفاده از + ( علامت جمع یا به اضافه ) برای شکستن رشته به چندین سطر
1 2 3 4 5 6 7 8 9 10 11 |
<script> var mytext = " Salam Khobi? " + "Man " + "Sadegh " + "Hastam. "; document.write(mytext); </script> |
Free-Learn
رشته ها میتونن شئ یا Object باشند
خب بصورت عادی میدونید که ما وقتی میخوایم یه متغیر از نوع رشته تعریف کنیم بصورت زیر عمل میکنیم :
1 |
var MyName = "Free-Learn"; |
حال همین رشته رو میتونیم با استفاده از کلمه کلیدی new بصورت یه شئ هم تعریف کنیم، برای مثال لطفا به دستورات زیر توجه نمایید :
1 2 3 4 5 6 |
<script> var MyName = new String("Sadegh Asadi"); document.write(MyName); </script> |
پایان آموزش کار با رشته ها یا Strings در جاوااسکریپت