25-05-2012, 03:58
|
|
מנהל משבראש, בלשנות, תכנות ויהדות
|
|
חבר מתאריך: 04.06.06
הודעות: 33,130
|
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי The_Equivocator שמתחילה ב "כולם כאן נותנים חידות בC, אז אני רוצה בJS.. (נתחיל ממשהו די בסיסי)."
אממ.. אני די בטוח שטווח ההכרה ב־JS הוא תלוי פונקציה (ולא תלוי בלוק, כמו לדוגמא ב־C), ואם כך, גם הרישום הראשון בפונקציה f יתייחס לאותו משתנה a הלוקאלי, אך מכיוון שטרם אותחל, ערכו יהיה "לא מוגדר".
במילים אחרות, לטרמינל יודפס undefined ואז 55?
אם אני טועה, אז יודפס 5 ואז 55, אך מכיוון שמדובר בחידה, כלומר שאמור להיות קאץ׳ כלשהו, אני מניח שזה הוא.
עריכה: ארחיב ואוסיף שלדעתי אפילו אם בפונקציה הייתה השמה כגון:
קוד PHP:
var a=5;
function f() {
a = 17;
console.log(a);
var a=55;
console.log(a);
}
f();
אזי היא אמורה להתבצע על המשתנה המקומי, למרות שלכאורה מוכרז לאחר מכן.
המשתנה הגלובאלי יוותר ללא שינוי.
נערך לאחרונה ע"י ShoobyD בתאריך 25-05-2012 בשעה 04:25.
|