آموزش جاوا اسکریپت Java Script قسمت دوازدهم

1395/4/17 --- 1740

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

جلسه قبل گفته بودم که مثالی از شئ گرایی و وراثت میزنم، اما به دلیل کمبود وقتی که برای این جلسه داشتم، اون رو به جلسه بعد موکول میکنم و این جلسه در مورد اشیاء یا کلاس های تعریف شده در جاوااسکریپت توضیح میدم.

کلاس String:

این کلاس قابلیت ایجاد یک شئ رشته ای را به ما می دهد.

متدها:

indexOf:  به دنبال رشته ورودی در رشته اصلی میگردد و اندیس اولین کاراکتر از اولین مکان تطبیق داده شده را برمی گرداند.

var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate"); // return 7

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

var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate", 8); // return 21

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

lastIndexOf:  به دنبال رشته ورودی در رشته اصلی میگردد و اندیس اولین کاراکتر از آخرین مکان تطبیق داده شده را برمی گرداند.

var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate"); // return 21

این متد هم مانند متد قبل می تواند پارامتر دومی نیز به عنوان ورودی قبول کند، که نسبت به آن اندیس آخرین تطبیق رو در نظر بگیره.

var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate", 20); // return 7

 

دقیقا مانند indexOf است با این تفاوت که قدرتمندتر است، در این مورد زمانی که در مورد regular expression ها رو آموزش میدم بیشتر توضیح خواهم داد.

سه متد برای استخراج قسمتی از یک رشته وجود دارد: slice، substring و substr

slice:

 دو ورودی میگیره که پارامتر اول اندیس آغازین و پارامتر دوم اندیس پایانی برای استخراج زیررشته است.

در صورتی که این مقادیر بزرگتر از صفر باشند:

var str = “This is test!”;
var subStr = str.slice(5, 7); // return is

در صورتی که اعداد منفی باشند شمارش کاراکتر ها از آخر رشته آغاز میشه

var subStr = str.slice(-8, -6); // return is

در صورتی که حد پایانی که همون پارامتر دوم باشه رو تعیین نکنیم، از حد آغازین تا آخر رشته رو بهمون برمیگردونه

var subStr = str.slice(5); // return is test!
var subStr = str.slice(-8); // return is test!

substring: 

این متد هم مانند slice است با این تفاوت که مقادیر منفی قبول نمیکنه اما مانند slice در صورتی که پارامتر دوم رو تعیین نکنیم تا از حد آغازین تا آخر رشته رو بهمون برمیگردونه

var substr = str.substring(5, 7); // return is
var substr = str.substring(5); // return is test!

substr:

این متد هم مانند slice است با این تفاوت که دومین پارامتر طول یا تعداد کاراکترهایی است که ما میخوایم واکشی کنیم. بنابراین این پارامتر نمیتونه منفی باشه.

var substr = str. substr(5, 2); // return is
var subStr = str.substr(-8, 2); // return is
var substr = str.substr(5); // return is test!
var substr = str.substr(-8); // return is test!

replace:

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

var res = str.replace("test","apple");// return This is apple!

toUpperCase:

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

var res = str.toUpperCase(); 

toLowerCase:

کاراکترهای رشته را به حروف کوچک تبدیل میکند

var res = str.toLowerCase();

concat

رشته ها را به هم متصل میکند.

var str1 = “Hello”;
var str2 = “World”;
var res = str1.concat(“ “, str2);

charAt:

یک پارامتر ورودی به عنوان اندیس میگیرد و کاراکتر مطابق با آن اندیس را به عنوان خروجی برمیگرداند.

str1.charAt(0);            // returns H

charCodeAt:

یک پارامتر ورودی به عنوان اندیس میگیرد و کد اسکی کاراکتر مطابق با آن اندیس را به عنوان خروجی برمیگرداند.

str1.charCodeAt(0);            // returns 72

split:

برای تبدیل کردن یک رشته با آرایه استفاده می شه، یک separator به عنوان ورودی میگیره  و رشته رو با آن جدا میکنه.

var arr = str.split(“ “); 

رشته رو به صورت کلمه کلمه جدا میکند و در آرایه میریزد.

var arr = str.split(“”);

آرایه ای از کاراکترهای رشته رو برمیگردونه.

میشه با رشته به عنوان یک آرایه برخورد کرد، مانند زیر:

str[0]

اما روش درستی نیست، زیرا در همه مرورگرها پشتیبانی نمیشود و اینکه شما فقط میتونید مقدار رو به این وسیله بگیرید و نمیتونید انتساب داشته باشید مثلا str[0] = ‘k’ خطا نمیده اما کار هم نمیکنه!

خاصیت ها:

length:

طول رشته (تعداد کاراکترها) را برمیگردونه.

prototype:

برای اضافه کردن متد به شئ String رو فراهم میکنه