DOM/אובייקט המחרוזת

מתוך ויקיספר, אוסף ספרי הלימוד והמדריכים החופשי.

< DOM
קפיצה אל: ניווט, חיפוש
JavaScript

התחלת העבודה

הוראת תנאי

לולאות

מערכים

פונקציות

אובייקטים

JavaScript למתקדמים

ספריות


ערוך


תוכן עניינים

[עריכה] יצירת אובייקט מחרוזת

המחרוזת "אני לומד ליצור מחרוזת" היא בעצם מורכבת מרצף של אותיות ורווחים. מחרוזת נקראת באנגלית "string". רווח נקרא באנגלית null,שמשמש גם להציג משתנה לא מוגדר.
כשמכריזrים על משתנה ניתן לתת לו ערך, למשל:
x=10 אוshalom=10 כלומר המשתנים הנ"ל קיבלו ערך של 10, ולכן אנו קוראים למשתנים מסוג זה, משתנה מספרי. אך ניתן לשנות את x לדוגמא כך:  ;"x="dream כעת x קיבל ערך מחרוזת,שהחליף את הערך המספרי.
המעבר ממשתנה מחרוזת למשתנה מספרי מתאפשר בשפה זו ולא תקבל הערת אזהרה גם אם תעשה טעות!
ניתן לבצע החלפה בין שני סוגי המשתנים: ניתן לעבור ממשתנה מספרי למשתנה מחרוזת כשזה אפשרי. לדוגמא:

document.write("shalom is " + x);

במקרה זה נקבל הודעת פלט "shalom is 10" כי document.write זו פונקציה שעובדת עם מחרוזות.
מתי זה לא יעבוד? בדוגמא הבאה :

sum=x*4;


במקרה זה אם ניתן ל-x ערך של מחרוזת נקבל הודעת שגיאה.
כדי לעבור ממשתנה מחרוזת למשתנה מספרי ניתן להשמש בפונקציות שמיועדות לכך:

parseInt();

הופך מחרוזת למשתנה מספרי.

parseFloat();

הופך משתנה מחרוזת למשתנה שיכול להכיל שבר.
בשני המקרים הוא יקרא את המספר הכתוב במחרוזת ויחזיר ערך מספרי.

לדוגמא:

string="60 years"
x=parseInt(string);

במקרה זה x מכיל את הערך המספרי 60 ומתעלם ממה שאינו מספרי במחרוזת.

[עריכה] שימוש באובייקט המחרוזת

אם נסתכל על המחרוזת הבאה:

cake="I like cakes"

המשנה כלל הוא משתנה מחרוזת המכיל את המחרוזת "I like cakes", שהיא בעצם קבוצה של אותיות ורווחים. כדי ליצור אובייקט מחרוזת ניתן להשתמש בפונקציות מובנות של אובייקט המחרוזת. מלבד יצירת משתנה מחרוזת כפי שראינו עד כה, ניתן להשתמש בפורמט הבא:

 
cake="I like cakes" 
cake=new string("I like cakes")

השימוש במילת המפתח new שמשמשת ליצירת אובייקטים מאפשרת גם ליצור את אובייקט המחרוזת string, המכיל במקרה זה את המשפט "I like cakes",המשוייך למשתנה הקרוי cake.

ניתן ליחס ערך למחרוזת כמו לכל משתנה אחר. אחרי שיש ערך ראשוני ניתן ליחס ערך אחר אחרי שהמחרוזת כבר נוצרה.
דוגמא: המשפט הבא: "It is only a cake", יכול להחליף את התוכן של המשתנה cake וכעת יש למשתנה cake מחרוזת חדשה.

cake="It is only a cake"

כמוכן, ניתן גם להשתמש באופרטור + כדי לחבר בין שתי מחרוזות. בדוגמא הבאה נראה איך מחברים שתי מחרוזות:

<html>
<head>
<title>cakes</title>
</head>
<body>
<h1>two cakes</h1>
<script language="JavaScript"type="text/javascript">;
cake1="I like cakes";
cake2="It is only a cake";
both=cake1+cake2;
document.write(both);
</script>
</body>
</html>

[עריכה] חישוב אורך המחרוזת

ע"י שימוש ב- length נוכל לחשב את אורך המחרוזת. דוגמא:

cake="I like cakes."
document.write(cake.length);

המשפט השני בדוגמא יחזיר את אורך המחרוזת, שהוא 13 במקרה זה (הוא סופר גם את הרווחים וגם את הנקודה). כלומר, הבטוי "cake.length" מקבל ערך מספרי ולכן ישמש רק כביטוי מספרי למרות שהמשתנה cake הוא משתנה מחרוזת.

[עריכה] אותיות גדולות וקטנות בכתיבה באנגלית

ישנן שתי מתודות כדי להפוך את האותיות במחרוזת לאותיות גדולות או קטנות כאשר כותבים באנגלית:

toUpperCase

הופכת לאותיות גדולות.

toLowerCase

דוגמא להפיכת מחרוזת לאותיות גדולות:

box=this is a box
document.write (box.toUpperCase());

כתוצאה נקבל את המחרוזת:THIS IS A BOX. התחביר דומה לזה המשמש במתודה length רק בתוספת סוגריים.

[עריכה] שימוש במתודה substring

שימוש ב-substring כלומר בתת מחרוזת יחזיר חלק מהמחרוזת המצוי בין שתי נקודות לאורך השרשרת. לדוגמא:

abc="ABCDE"
document.write(abc.substring(1,3);

המספרים בסוגריים מתייחסים לאידקס כלומר "0"-אפס הוא התו הראשון במחרוזת. במקרה זה אפס הוא A, ולכן בדוגמא הנ"ל יוחזר BC. כמו כן, יש לשים לב שהקריאה היא משמאל לימין כמו באנגלית. אם רוצים הפוך מימין לשמאל נכתוב בסוגריים (3,1).

[עריכה] המתודה chartA

כאשר רוצים לקרוא לתו בודד מתוך המחרוזת נכתוב בדומה למתודות הקודמות:

abc="ABCDE"
abc.chartA(0);

במקרה זה נקבל A (שוב, מכיוון שאפס הוא התו בראשון).

[עריכה] המתודה indexOf

abc="ABCDE"
x=abc.indexOf(CD);

בעזרת מתודה זו ניתן למצוא רצף של אותיות, כלומר, substring בתוך המחרוזת. בדוגמא הנ"ל המשתנה x הוא האנדקס של CD בתוך המחרוזת ABCDE. ניתן גם לציין את המספר האינדקסי במחרוזת שבו רוצים שיתחיל לחפש את תת המחרוזת המבוקש. כך למשל בדוגמא שהבאנו ניתן לכתוב:

abc="ABCDE"
x=abc.indexOf(CD,1);

כלומר יחפש בממחרוזת ABC החל מהתו השני כלומר B, את תת הרצף CD.