Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
163
rated 0 times [  164] [ 1]  / answers: 1 / hits: 37193  / 13 Years ago, mon, november 28, 2011, 12:00:00

i wonder, what does return this do within a javascript function, what's its purpose?
supposing we have the following code:



Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};


What does return this do inside of a function?



I know what code above does, and what is the use of this keyword. I just don't know what return this does inside of a function.


More From » javascript

 Answers
5

It refers to the object instance on which the method is currently being called. It's used for chaining. For example, you could do something like this:



myObject.foo().bar();


Since foo returns this (a reference to myObject), bar will be called on the object too. This is the same thing as doing



myObject.foo();
myObject.bar();


But requires less typing.



Here is a more complete example:



function AnimalSounds() {}

AnimalSounds.prototype.cow = function() {
alert(moo);
return this;
}

AnimalSounds.prototype.pig = function() {
alert(oink);
return this;
}

AnimalSounds.prototype.dog = function() {
alert(woof);
return this;
}

var sounds = new AnimalSounds();

sounds.cow();
sounds.pig();
sounds.dog();

sounds.cow().pig().dog();


http://jsfiddle.net/jUfdr/


[#88867] Saturday, November 26, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
bryonk

Total Points: 161
Total Questions: 116
Total Answers: 107

Location: Albania
Member since Sun, Nov 22, 2020
4 Years ago
bryonk questions
;