Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с видимостью переменных (https://javascript.ru/forum/misc/2494-problema-s-vidimostyu-peremennykh.html)

ViZ0R 05.01.2009 21:50

Проблема с видимостью переменных
 
Помогит еразобраться с областью видимости переменных. Вот простой пример:

var user_cCategoryPageUI = new cCategoryPageUI();

function cCategoryPageUI() {
	var categoryIndex = 0;
	var category = new Array("Все","Футбол","Хоккей","Теннис","Баскетбол", "Бокс", "Прочее");	
}

cCategoryPageUI.prototype.load = function() {
	var categoryButton = document.category_sel.category_sel_Group;
	categoryButton[categoryIndex].checked = true;		
}
	
cCategoryPageUI.prototype.category_select = function(sel){		
	categoryIndex = sel;	    
}

cCategoryPageUI.prototype.getCategoryName = function(){		
	return category[categoryIndex];	    
}


При этом при вызове cCategoryPageUI.getCategoryName() оказывается что category не видно....

Андрей Параничев 05.01.2009 22:13

function cCategoryPageUI() {
    this.categoryIndex = 0;
    this.category = new Array("Все","Футбол","Хоккей","Теннис","Баскетбол", "Бокс", "Прочее");    
}

Kolyaj 06.01.2009 15:28

Ну JavaScript как бы не С++.

ViZ0R 06.01.2009 17:25

разъясните плиз в чем разница между

function cCategoryPageUI() {
var categoryIndex = 0;
var category = new Array("Все","Футбол","Хоккей","Те ннис","Баскетбол", "Бокс", "Прочее");
}

и

function cCategoryPageUI() {
this.categoryIndex = 0;
this.category = new Array("Все","Футбол","Хоккей","Те ннис","Баскетбол", "Бокс", "Прочее");
}

Андрей Параничев 06.01.2009 18:10

Почитайте эти две статьи и найдете ответы на свои вопросы:
http://javascript.ru/tutorial/object/intro
http://javascript.ru/tutorial/object/thiskeyword


Часовой пояс GMT +3, время: 17:38.