Я использую объектно-ориентированный подход с Javascript по двум причинам. Во-первых, потому что это помогает мне учиться, а во-вторых, на тот случай, если мой код будет распространяться.
У меня уже есть назначение функций переменным и использование this
для общедоступных переменных. Однако у меня возникают проблемы с использованием this
. Когда я нахожусь в «частной» функции, this
относится к другой области, и я не могу получить доступ к переменным в this
. Я проиллюстрирую свою точку зрения.
var ClassObject = function() {
this.var1 = 'Hello';
var var2 = 786;
this.func1 = function() {
alert(this.var1); // Alerts Hello
alert(var2); // Alerts 786
}
var func2 = function() {
alert(this.var1); // Alerts undefined
alert(var2); // Alerts 786
}
}
Единственный способ, который я нашел, чтобы предоставить func2
доступ к this.var1
, состоял в том, чтобы сделать другую переменную назначенной дляthis
:var c = this
. Это лучший способ выполнить эту задачу или даже широко приемлемый? Может ли кто-нибудь предложить лучшее решение?
Спасибо вам всем.