עבור לתוכן

מתחיל ב-JS וב-Visual studio

Featured Replies

פורסם

שלום לכולם,

אני לומד לימוד עצמי באתר מסויים JS.

אני נותן פה דוגמא של קוד שהכנסתי בקובץ ב visual studio, שמרתי אותו בתור קובץ JS על הדסקטופ ואחרי כן הרצתי אותו.

הקובץ נתן שגיאה. אני בטוח שיש משהו בסיסי שחסר לי, שאולי באתר בו אני לומר הקומפיילר לא מתייחס אליו.

תודה על עזרתכם,

הנה קטע הקוד:



[LEFT]// Write your code below!
// Write your code below!
var answer = prompt("Enter a number from 1-100");
console.log("test");
switch (answer) {
//case answer(isNaN(answer))===true:
// console.log("Error: Input is not a valid number.");
// break;
case answer > 100:
console.log("Error: Input is higher than 100.");
break;
case answer < 1:
console.log("Error: Input is lower than 1.");
break;
default:
for (var counter = 1; counter == answer; answer++) {
if (answer % counter === 0)
console.log("Number " + answer + " can be devided to " + counter);




























[/LEFT]


}

}

נערך על-ידי xdr
ישור

פורסם

הקוד שהבאת בבירור מיועד להיות מורץ מתוך דף html בדפדפן, לא מתוך קובץ js על הדסקטופ שלך.

מעבר לזה יש בו עוד כמה טעויות, אבל נתחיל מזה.

פורסם

למה? אין בעיה להריץ את הקוד הזה מתוך קובץ. שים לב שהוא כותב תוצאות ל-console ולא ל-document.

פורסם

מצטער, אבל לא.

console, כמו גם prompt הם לא חלק משפת JS נקיה אלא תת אובייקטים של window - שהוא אובייקט דפדפן. אין אליהם גישה מקובץ JS שלא רץ תחת דפדפן.

כשאתה מריץ קובץ JS מהדסקטופ, הוא לא רץ דרך דפדפן אלא דרך WScript, ולכן אין לו גישה לאובייקטים של דפדפן.

פורסם

ואללה, הייתי מצפה שה-WScript ייתן גם כן גישה ל-console באותה צורה.

פורסם

אין סיבה. JS היא שפה ללא אמצעי קלט/פלט טבעיים, ויכולה לתקשר עם "העולם החיצון" רק באמצעות קריאה לאובייקטים שמספקת סביבת הריצה שלה.

האובייקט window ותת האובייקטים שלו (prompt,alert,console וכו') הם לא חלק מוגדר מהשפה, אלא חלק מסביבת הריצה שהיא דפדפן. אם למשל תריץ vbscript בדפדפן (שתומך באופציה), תהיה גם לו גישה לאותם אובייקטים. באותו אופן, כשמריצים vbs או js דרך WScript, שניהם יוכלו לגשת ל WScript.echo והתוצאה תהיה זהה. (ויותר מזה, למרות שjs היא שפה תלוית-רישיות אתה יכול לכתוב WScript.eChO וזה עדיין יעבוד).

ראוי לציין של-VBScript דווקא כן יש פקודות פלט/קלט מובנות בשפה (למשל MsgBox, InputBox) שיעבדו באותה מידה אם הוא רץ דרך WScript או דפדפן.

פורסם

כן, את זה כבר הבנתי :)

בכל מקרה, לפותח הת'רד: אתה צריך להריץ את הקוד הזה מתוך דפדפן. צור קובץ html וכתוב בתוכו:

<script src="blabla.js"></script>

(כשבמקום blabla.js שים את שם קובץ ה-js שלך)

פתח את דף ה-html בדפדפן. אני מניח שאתה משתמש בכרום - אז תלחץ על F12 ובחלון שנפתח תלחץ על Console. ככה תוכל לראות את כל ההדפסות והשגיאות.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים