1277
צפיות
צפיות
15
תשובות
תשובות
לולאת FOR ב – JS
שלום!
הקוד שלפניכם אמור להדפיס את הנתונים שבמערך.
משום מה בכל תכנית שבה הפעלתי את הלולאה FOR קבלתי דף ריק.
האם ישנה כתיבה מיוחדת ללואות בJS?
אודה לתשובתכם.
<html>
<head>
</head>
<body>
<script type = "text/javascript">
names = new array (4);
names[0] = "dodo";
names[1] = "bibi";
names[2] = "gaga";
names[3] = "caca";
sortedname = names.sort();
for(i=0; i<4; i++) {
document.write (sortedname[i]);
}
<script>
</body>
</html>
15 תשובות
נסה כך:
for (var i=0;i<names.length;i++){
document.write(names[i]);
}
(זה כדי לאתר איפה הבעיה ב-sortedName או בלולאה)
איך אני מציג את תכולת הערך sortedna
sortedname?
תודה.
אולי התכוונת ככה
document.write(sortedname);
אם הבנתי נכון.
אגב, JS שפה רגישה וכתבת new array במקום new Array כך שאני מניח שהקוד לא יעבוד אם לא תשנה זאת.
כמה הערות:
1. sort היא פרוצדורה ולא פונקציה, ולכן היא לא מחזירה מערך אלא מסדרת אותו.
2. לא סגרת תגית script
3. array זה עם A גדולה: Array
4. משתנים ב JS מגדירים בעזרת המילה השמורה var:
var x=5
ולא
x=5
הקוד המתוקן:
<html>
<head>
</head>
<body>
<script type = "text/javascript">
var names = new Array(4);
names[0] = "dodo";
names[1] = "bibi";
names[2] = "gaga";
names[3] = "caca";
names.sort();
for(i=0; i<names.length ; i++) {
document.write (names[i]);
}
</script>
</body>
</html>
javascript לולאות
do {
next = window.prompt ("enter the next name");
if (next > " " && next != "undefined")
names [i] = next;
i= i + 1;
} while (next > " " && next != "undefined");
מישהו יכול להסביר לי בבקשה את התנאי הזה " " > next .
כאשר אני לוחץ על כפתור CANCEL בחלון ה prompt , החלון מתבטל וממשיך לשאר שורות הקוד.
הייתי רוצה לדעת איך זה עובד … בהקשר ללואה שציינתי פה למעלה.
אודה לתשובתכם!!
טוב
ללולאת do while זו לולאה שמבצעת פעם אחת לפחות את הפעולות לאחר מכן אם התנאי מתמלא זה ממשיך את הלולאה אם לא אז זה ממשיך לשורות הקוד שלאחר הלולאה.
בדוגמא שלך זה פשוט מקפיץ פעם אחת את התיבה ומכניס את הערך שלו למשתנה next. משום שאי-אפשר להשתמש באופרטוריי השוואה כדוגמאת <, >, >=, <= ("==" אפשרי) אז התנאי לא מתמלא (זו שגיאה לוגית ולכן אין שגיאת JS) והקוד ממשיך אחרי הלולאה
אם תשנה את התנאי לכזה
next>"" –>(הופך להיות) next.length==0
משתנה NEXT מקבל מחרוזת
אם כן, איך אפשר להשתמש באופרטורים גדול קטן שווה כדי להשוות מחרוזת.
עד היום למדתי שניתן לבצע השוואה עם משתנים המכילים ערך מספרי ולא מחרוזתי.
רגע, אולי…
אם אשים במקום ">" את הסימן "=!" , המשפט יהיה נכון?
נ.ב.
תודה על ההסבר בנוגע ללולאת DO WHILE
אפשרי
ואפשר גם כך
if (next.length!=0)
הודעות לא משורשרות יימחקו.
אחסון מידע באובייקטים JS
הקוד שמתחת אמור להציג בדף HTML את פרטי המשתמשים.
עברתי על הקוד מספר פעמים, אך איני מוצא שגיאה תחבירית או לוגית.
help?
אודה לתשובתכם.
<script type="text/javascript">
// construction for object Card
function Card (name, address, work, Home) {
this.name = name;
this.address = address;
this.work_phone = work;
this.home_phone = Home;
this.PrintCard = PrintCard;
}
// definision of PrintCard function
function PrintCard () {
line1 = "<b>Nsme: </b>" + this.name + "<br>n";
line2 = "<b>Address: </b>" + this.address + "<br>n";
line3 = "<b>Work Phone: </b>" + this.work_phone + "<br>n";
line3 = "<b>Work Phone: </b>" + this.home_phone + "<br>n";
document.write (line1, line2,line3, line4);
}
</script>
</head>
<body>
<h1>JavaScript Business Cards</h1>
Script begins here.<hr>
<script type="text/javascript">
//creat the object
sue = new Card ("Sue Suthers", "123 elm street", "555-1234", "555-9876");
phred = new Card ("Phred Madsen", "233 Oak Lane", "555-2222", "555-4444");
//and print them
sue.PrintCard();
phred.PrintCard();
</script>
end of script
</body>
</html>
שלוש טעויות
ב-document.write אתה צריך לשרשר מחרוזות ז"א להשתמש בסימן + או בשיטה conact של אובייקט המחרוזת.
ה-פסיק זו השגיאה.
אתה צריך להגדיר את המשתנים ז"א שתה צריך להוסיף ל-line1,2,3 את המילה var
אין לך משתנה בשם line4 ופעמיים התחלת את Line3 ז"א שרק ה"טלפון בעבודה" יהיה ב-Line3
קוד מתוקן:
<script type="text/javascript">
// construction for object Card
function Card (name, address, work, Home) {
this.name = name;
this.address = address;
this.work_phone = work;
this.home_phone = Home;
this.PrintCard = PrintCard;
}
// definision of PrintCard function
function PrintCard () {
var line1 = "<b>Nsme: </b>" + this.name + "<br>n";
var line2 = "<b>Address: </b>" + this.address + "<br>n";
var line3 = "<b>Work Phone: </b>" + this.work_phone + "<br>n";
var line4 = "<b>Work Phone: </b>" + this.home_phone + "<br>n";
document.write (line1.conact(line2,line3, line4));
}
</script>
אינך משרשר שאלות וכתוצאה מכך שאלותיך יימחקו ללא אזהרה.
תודה!
כיצד לעשות רווח בין שורות ב – HTML?
תודה.
אפשר לעשות זאת
עם התגית BR.
<br>
מקווה שהבנתי אותך נכון.