крутой, вы в прошлой моей теме все засрали, я бы хотел вас попросить не вмешиваться, а то я вас могу травмировать, у меня еще с юзенета могучий опыт имеется.
Там я задавал именно такой вопрос, про эту самую память. Не скажу что она меня сильно волнует, ибо и без скриптов FF хавает изрядно, подумаешь еще пару мегов, а Chrome вообще может полтора гига засосать своим leakage. Но тем не менее, вот усеченный код, структура вся сохранена
var FormField=function(elem){
var type= elem.type,
def= elem.value,
rules={};
return {
validate:function() {
value=elem.value.trim();
if(type in rules)
rules[type]();
else
rules.text();
}
};
};
// load
var some[]=FormField[elem];
Я понимаю у каждого будет своя копия (инстансь) объекта который возвращает функция, а все ее кишки тоже скопируются? |
Цитата:
Например так:
var Class = (function () {
var private
var Class = function () {}
Class.prototype.someMethod = function() {
private ...
};
...
return Class;
})();
|
Цитата:
|
Цитата:
|
kostyanet,
Да ты долбоеб, по ходу, совсем мягкий, блять. Нахуй ты мне сдался. |
tsigel,
Спасибо еще раз. Но выглядит страшновато. Надо привыкнуть, подольше смотреть, не отворачиваться. :) |
Цитата:
|
Развели тут срач в моей теме... ><
Вообщем, кажется, я наконец-то понял, поправьте меня, если я туплю. 1. Я создаю конструктор, который должен проинициализировать все мои переменные используемые в данном canvas. Т.е. допустим я использую: ...
var x0Multi
var y0Multi
var x1Multi
var y1Multi
var xMouse
var yMouse
var TEMP = ""
var ActionState = "single"
var Creating = "none"
var InFocus = { H: [], S: [], CvC: [] }
var DATA = []
var conn = []
var vers = []
var edges = []
var cnEdg = 0
var cnCon = 0
var cnVer = 0
var idV = 0
var idE = 0
... тогда я получу что-то вроде:
var SomeConstructor = function() {
this.x0Multi
this.y0Multi
this.x1Multi
this.y1Multi
this.xMouse
this.yMouse
this.TEMP = ""
this.ActionState = "single"
this.Creating = "none"
this.InFocus = { H: [], S: [], CvC: [] }
this.DATA = []
this.conn = []
this.vers = []
this.edges = []
this.cnEdg = 0
this.cnCon = 0
this.cnVer = 0
this.idV = 0
this.idE = 0
};
2. Все функции я должен переписать в ввиде расширения прототипа. Т.е.: было
...
function drawMultiSelect() {
ctx.beginPath();
ctx.rect(x0Multi, y0Multi, x1Multi - x0Multi, y1Multi - y0Multi);
console.log(x0Multi + " " + y0Multi + " " + xMouse + " " + yMouse)
ctx.strokeStyle = "rgba(0,0,255,0.5)";
ctx.fillStyle = "rgba(0,0,255,0.3)";
ctx.fill();
ctx.stroke();
}
...
стало:
SomeConstructor.prototype.drawMultiSelect() {
this.ctx.beginPath();
this.ctx.rect(x0Multi, y0Multi, x1Multi - x0Multi, y1Multi - y0Multi);
this.ctx.strokeStyle = "rgba(0,0,255,0.5)";
this.ctx.fillStyle = "rgba(0,0,255,0.3)";
this.ctx.fill();
this.ctx.stroke();
}
остается мне только одно не понятным. допустим я в конструкторе я определил переменную this.ctx, как потом мне обратиться к ней из функции определенной в прототипе? как к ctx или как к this.ctx? |
Цитата:
Я делал систему логирования, которая в случае ошибки отправляла на сервер ошибку, имя метода и класса (со всей цепочкой наследования) в котором произошла ошибка. |
Цитата:
|
| Часовой пояс GMT +3, время: 15:35. |