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