ציטוט:
נכתב במקור על ידי 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 קוד:
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), ולשמור ולהריץ.