Accessing javascript object reference from within member method
-
30-09-2019 - |
문제
Ok, Im wondering if it is possible to transfer the reference of the object to the functions. If you dont understand what im trying to say, this might help:
//so i declare the variable `Editor`
var Editor = new (function(e, d){
this.edit = e;
this.dyna = d;
this.old = ""; //and set these variables inside the object
this.update = function() {
var ta = $(Editor.edit)[0].value, dy = $(Editor.dyna)[0].contentDocument;
//what i want is to be able to refer to the variables (ie. "edit") without using "Editor."
if (Editor.old !== ta) {
$(dy).text(ta);
Editor.old = ta;
}
window.setTimeout(Editor.update, 150);
}
return this;
})("editor","dynamic");
So for the update function, I want to be able to do something like:
this.update = function() {
var ta = $(edit)[0].value, dy = $(dyna)[0].contentDocument;
if (old !== ta) {
$(dy).text(ta);
old = ta;
}
window.setTimeout(update, 150);
}
And it gives me the variables(edit, dyna, old) from the Editor
object.
Thanks.
해결책
this
inside your function refers to the object of the anonymous base function you have created.
Use this.propertyName
to access its properties.
var ta = $(this.edit)[0].value, dy = $(this.dyna)[0].contentDocument;
다른 팁
Why aren't you just using the this
prefix. So this.edit[0].value
?
Maybe I am missing something as it's late here...
제휴하지 않습니다 StackOverflow