ציטוט:
נכתב במקור על ידי Shay Falador
אתה לא יכול, או לפחות לא אמור להיות מסוגל.
זה לא באותו scope, זה לא אמור לפעול.
אתה יכול להצהיר על משתנה בחוץ, ולתת לו ערך בפנים, אבל בגדול global variables זה bad practice.
|
זה JS, אין באמת Scope. אולי בתפיסה הקלאסית זה לא נכון, אבל JS רחוק שנות אור מתכנות קלאסי.
אגב, אם כבר נכנסים לעניין של bad practice, באופן אישי באמת הייתי מעדיף לרשום:
קוד:
$(function() {
TO.set(15000);
});
var TO = {
obj : null,
set : function(time) {
this.obj = setTimeout( function() { next(); } , time);
},
nullify : function() {
clearTimeout(this.obj);
}
};
function onStateChange(newState)
{
if(newState > 0)
{
$(TO.nullify);
document.getElementById("blala").innerHTML = "stopped"; // לא עובד
}
}