הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 26-07-12, 01:57   # 1
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

קבלת משתנה בJS מתוך פונקציה אחת, לאחרת?

הי,

בקוד שלי יש את הפונקציה הבאה:

PHP קוד:
function examlpe(current) {
current 10;

כאשר לוחצים על כפתור "Set Current", הוא קורא לפונקציה הנ"ל, משמע כאשר המשתמש ילחץ עליו יהיה משתנה גלובלי בשם current בעל הערך 10.

יש לי כפתור נוסף, כאשר המשתמש לוחץ עליו הוא קורא לפונקציה הבאה:

PHP קוד:
function readExample() {
alert(current);

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

אה וכן, אני שונא JS. (משמע אין כאן אפשרות להשתמש בJQ ...)

אשמח לעזרה!
thanks!
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest
  Reply With Quote
ישן 26-07-12, 02:04   # 2
M.a.T.a.N
חבר על
 
מיני פרופיל
תאריך הצטרפות: Jan 2009
הודעות: 755

M.a.T.a.N לא מחובר  

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

תחביר ממש לא נכון.... אם כבר זה היה אמור להיות ככה הפונ' הראשונה:
PHP קוד:
function examlpe(current) {
alert(current);

וככה השניה:
PHP קוד:
function readExample() {
var 
current 10;

למרות שלפי מה שהבנתי אתה רוצה לקרוא מהפונקציה הראשונה לשנייה ואז זה כבר:
PHP קוד:
function examlpe() {
var 
current 10;
readExample(current);


function 
readExample(current) {
alert(current);

__________________
מתן, מתכנת צד שרת PHP
מייל mataname@gmail.com
  Reply With Quote
ישן 26-07-12, 02:18   # 3
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

לצערי זה עדיין לא עובד..
אני מוכן להסביר שוב אם תרצה..
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest
  Reply With Quote
ישן 26-07-12, 03:02   # 4
OmerC
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: May 2012
הודעות: 326

OmerC לא מחובר  

למה לא להשתמש בפונקציה אחת כך :
PHP קוד:
function example(current) {
alert (current);

מקבלים ערך מהמשתמש ומציגים אותו.
  Reply With Quote
ישן 26-07-12, 06:33   # 5
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

HTML קוד:
<script type="text/javascript">
current = 0;
function example(toCurrent) {
current = toCurrent;
}

function readExample() {
alert(current);
}  


example(67);

readExample();
</script>
הטעות בקוד שלך היא שברגע שכתבת את current בתור פרמטר, אז הוא כבר לא גלובאלי כברירת מחדל.
  Reply With Quote
ישן 26-07-12, 06:52   # 6
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

לפרטים נוספים חפש בגוגל Javascript variable scope
  Reply With Quote
ישן 26-07-12, 07:24   # 7
BuildDream
עסק רשום [?]
 
BuildDream's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2010
הודעות: 527
Send a message via Skype™ to BuildDream

BuildDream לא מחובר  

אם תגדיר את המשתנה מחוץ לפונקציה הוא יהיה גלובלי ותוכל לגשת אליו מ2 פונקציות שונות
__________________
BuildDream בניית אתרי אינטרנט לשירותך.
עסק רשום במס הכנסה ומספק קבלות כחוק.
www.BuildDream.co.il - www.iBuild.co.il
  Reply With Quote
ישן 26-07-12, 15:01   # 8
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

trupix לא מחובר  

ציטוט:
נכתב במקור על ידי Daniel צפה בהודעה
הטעות בקוד שלך היא שברגע שכתבת את current בתור פרמטר, אז הוא כבר לא גלובאלי כברירת מחדל.

אוי אוי אוי ... צודק, טעות נוראה!
תודה! היה לוקח לי זמן לקלוט את זה ..

ממש ממש תודה לכל מי שלקח חלק! מעריך את זה

אני כותב כרגע קוד, אבל נתקעתי בשלב כלשהו וניסיתי לאתגר את עצמי בכך שכאן ביקשתי פיתרון למשהו שיעזור לי באופן עקיף לכתוב אותו..
נציג את זה בהמשך ..
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest

Last edited by trupix; 26-07-12 at 15:06..
  Reply With Quote
ישן 26-07-12, 17:39   # 9
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 34
הודעות: 391

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); 
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest

Last edited by trupix; 26-07-12 at 17:45..
  Reply With Quote
ישן 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
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 02:30.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ