DOM/אובייקט המחרוזת: הבדלים בין גרסאות בדף

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
< DOM
תוכן שנמחק תוכן שנוסף
שורה 94: שורה 94:
document.write (box.toUpperCase());
document.write (box.toUpperCase());
</source>
</source>
כתוצאה נקבל את המחרוזת:THIS IS A BOX.
כתוצאה נקבל את המחרוזת: THIS IS A BOX.
התחביר דומה לזה המשמש במתודה length רק בתוספת סוגריים.
התחביר דומה לזה המשמש במתודה length רק בתוספת סוגריים.



גרסה מ־10:09, 23 בדצמבר 2017

JavaScript

התחלת העבודה

הוראת תנאי

אובייקטים

מערכים

לולאות

פונקציות

אובייקט המסמך

אוביקטים נוספים

JavaScript למתקדמים

ספריות

בינה מלאכותית


גרסה להדפסה

יצירת אובייקט מחרוזת

המחרוזת "אני לומד ליצור מחרוזת" מורכבת מרצף של אותיות ורווחים. מחרוזת נקראת באנגלית "string". ‏ null הינו סימן שמשמש להצגת משתנה לא מוגדר. לדוגמה, כאשר במשתנה אין ערך ממשי, הוא מכיל null
כשמכריזים על משתנה ניתן ליצוק בו ערך, למשל:
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"

המשתנה cake הוא משתנה מחרוזת המכיל את המחרוזת "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.