View Single Post
ישן 26-07-12, 17:52   # 10
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ציטוט:
נכתב במקור על ידי trupix צפה בהודעה
שאלה כללית,

כשאני מצהיר -
num = 1,
ואני מנסה לחשב פעולות פשוטות כמו חיבור וחיסור, אני מקבל התייחסות שונה למשתנה.

לדוגמא (שימו לב לפלט של כל אחת מההודעות)

PHP קוד:

getNum 
1;

function 
myFunc(getNum) {
    
    
num getNum;
    
alert (num 1); // Output: 11
    
alert (num 1); // Output: 0



כאילו בפעולת החיבור ההתייחסות למשתנה היא כstring ולא integer..
גיגלתי קצת אודות, אולם לא מצאתי כל כך פיתרון ממשי...

עריכה
מסתבר שהפונקציה שראיתי היא כן הפיתרון:
PHP קוד:
num parseInt(getNum); 
שמח לעזור!

אתה צודק במה שאתה אומר שבפעולת חיבור, כאשר אחד הערכים הוא string - אז זה שרשור של הערכים:
PHP קוד:
"a" "1a" 
במקרה שאתה הצגת - דווקא זה בסדר. אם תריץ:
PHP קוד:
myFunc(1);

function 
myFunc(getNum) {
    
    
num getNum;
    
alert (num 1); // Output: 11
    
alert (num 1); // Output: 0



תקבל 2 ו-0.
אבל אם זה היה string - אז כמו שכתבת, צריך להשתמש ב-parseInt.


אגב, אם אתה רוצה כלי נוח כדי לבדוק, להריץ ולשתף קטעי קוד - http://jsfiddle.net/
יש לך שלושה ריבועים שבהם אתה יכול להכניס דברים - CSS, HTML, JavaScript - אתה יכול לטעון מראש מחלקות (mooTools, jQuery), ולשמור ולהריץ.
  Reply With Quote