לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #4  
ישן 12-09-2005, 11:07
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
שידרוג קל: הפעלת הסקריפט בדף המכיל מספר פורומים
בתגובה להודעה מספר 3 שנכתבה על ידי ישראל K שמתחילה ב "תודה"

קוד:
<html> <head> <title>clear form </head> <body> <script type="text/javascript"> function clear_fields(form) { form = document.getElementById(form) q = confirm('האם אתה בטוח שברצונך למחוק את כל השדות ?') if(q == true) for (i=0; i<form.length; i++) { obj = form.elements[i] if(obj.type == 'text' || obj.type == 'textarea') obj.value = '' } } </script> <form id='form'> <input type='text' /> <input type='text' /> <input type='text' /> <input type='text' /> <textarea>sdefsdf <input type='button' value='אפס' onclick="clear_fields('form')" /> </form> <br /> <br /> <form id='news'> <input type='text' /> <input type='text' /> <input type='text' /> <input type='text' /> <textarea>sdefsdf <input type='button' value='אפס' onclick="clear_fields('news')" /> </form> </body> </html>

אני רוצה לעשות שאם הפונקציה לא קיבלה ערך (זאת אומרת שאם לא התקבל ID של טופס) הערך יהיה 'form'.
איך אני בודק אם המשתנה form קיבל ערך ? נסיתי למשל לבדוק את אורך המשתנה, אך קיבלתי הודעת שגיאה שהמשתנה לא מכיל כזה מאפיין.


עריכה: תיקנתי באג קטן בלולאה.

נערך לאחרונה ע"י ישראל K בתאריך 12-09-2005 בשעה 11:27.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 12-09-2005, 16:30
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 9 שנכתבה על ידי scripter שמתחילה ב "..."

1. האמת שעדיין כשאני רואה קוד בלי הנקודה פסיק זה משום מה עשוה לי קצת רע, זה נראה לי שמשהו שם בכלל שגוי, אבל לאחרונה פתאום שמתי לב שבדוגמאות של w3 אין את זה (עד לאחרונה אל שמתי לב) אז לרגע חשבתי שאולי כך צריך לכתוב כשאין פקודה נוספת באותה שורה.

* לגבי ה-q הצדק עמך, אני גם עשוה כך בדרך כלל, ואני לא ממש אוהב את אלו שמבצעים כל פעולה בנפרד במקום לשרשר רתץ פעולות בשורה אחת.

* במשתנה obj אני משתמש כדי לפשט את התנאים בלולאה, במיוחד שהלולאה מכילה שני תנאים.

כמו שהזכרתי, יש כאלו שמקפידים לכתוב כל אות בשורה נפרדת, לשמור כל שורה במשתנה, ולאחר מכן לשרשר את כל המשתנים יחד.
אני אתן דוגמא מסקריפט של php (זה פשוט קל לי יותר).
למשל במקום:
קוד PHP:
 $host gethostbyaddr($_SERVER['REMOTE_ADDR']) 

הם יכתבו:
קוד PHP:
 $ip $_SERVER['REMOTE_ADDR']);
$host gethostbyaddr($ip); 

או במקום לבצע בדיקות ישירות על משתני GET או POST, הם יבצעו קודם השמה של המשתנה למשתנה מקומי.

אני עדיין לא קבעתי לעצמי כללי עבדוה מוחלטים, אבל נכון להיום אני עובד כך:
* אם אין לי צורך במשתני ביניים (כמו בדוגמא של המשתנה IP), אני בדרך כלל ישרשר את כל הפעולות בשורה אחת.
* אם אני משתמש במשתנה פעם אחת, אני אשאיר את המשתנה עם השם הארוך, או בתוך המערך, כדוגמת משתני SERVER, GET ו-POST.
* אם אני אשתמש בערך הזה פעמיים או יותר, אני יעתיק את המשתנה למשתנה מקומי קצר (ונח) יותר.

ב-PHP יש לי גם שורות שמכילות 5 פונקציות או יותר אחת בתוך השניה, כי אני צריך רק את התוצאה הסופית, ואין לי אינטרס לבזבז משאבים (משתנים - זכרון) על משתני ביניים שלא אעשה בהם שימוש.

אשמח לשמוע את דעתכם, ואיך אתם נוהגים (או/ו הצעות ליעול)
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 12-09-2005, 17:17
צלמית המשתמש של scripter
  scripter scripter אינו מחובר  
 
חבר מתאריך: 04.08.02
הודעות: 4,468
...
בתגובה להודעה מספר 10 שנכתבה על ידי ישראל K שמתחילה ב "1. האמת שעדיין כשאני רואה קוד..."

//* במשתנה obj אני משתמש כדי לפשט את התנאים בלולאה, במיוחד שהלולאה מכילה שני תנאים.
פישוט מבחינת מה? כתיבת הקוד כמובן, לא?
להגדיר משתנה נוסף כזה, הוא בעצם בזבוז של משאבים.
זה לא שהמשתנה שלך מחזיק ערך כלשהו שאתה חוזר ומשתמש בו, אלא הוא מחזיק סה"כ reference לאובייקט אחר (ואת אותה הפניה לאובייקט כבר יש לך...)
נכון, מדובר פה סה"כ בסקריפט ולא במערכת RT... עדיין.


* אם אין לי צורך במשתני ביניים (כמו בדוגמא של המשתנה IP), אני בדרך כלל ישרשר את כל הפעולות בשורה אחת.
* אם אני משתמש במשתנה פעם אחת, אני אשאיר את המשתנה עם השם הארוך, או בתוך המערך, כדוגמת משתני SERVER, GET ו-POST.
* אם אני אשתמש בערך הזה פעמיים או יותר, אני יעתיק את המשתנה למשתנה מקומי קצר (ונח) יותר.

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

בנוסף, זכותך לפתח סגנון משלך ולהשתמש בו, אמנם כדאי להתרגל לשיטות יעילות/חסכוניות יותר.
_____________________________________
C pogrammers never die. They are just cast into void.


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:27

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר