[Javascript?] Using a function as an argument for another function

  • Java
  • Thread starter mindauggas
  • Start date
  • #1
127
0

Main Question or Discussion Point

Code:
var square = function (x) {
  return x * x;
};

var cube = function (x) {
  return square * x;
};
This is my shot, its not right. Please indicate or suggest the correct answear. :)
 
Last edited by a moderator:

Answers and Replies

  • #2
33,169
4,854


Code:
var square = function (x) {
  return x * x;
};

var cube = function (x) {
  return square * x;
};
This is my shot, its not right. Please indicate or suggest the correct answear. :)
No, it's not correct.
Code:
var cube = function (x) {
  return x * square(x);
};
Your thread title is misleading - you aren't using a function as an argument of another function. One function is calling another function. There's a difference.
 
Last edited:
  • #3
rcgldr
Homework Helper
8,670
506


In C or C++, you can use pointers to functions as arguments:
Code:
#include <stdio.h>

int f1xf2(int (*pf1)(int), int (*pf2)(int), int v){return(pf1(v) * pf2(v));}
int returnv(int v){return(v);};
int square(int v){return(f1xf2(returnv, returnv, v));}
int cube(int v){return(f1xf2(returnv, square, v));}
int quad(int v){return(f1xf2(square, square, v));}

int main(int argc, char ** argv)
{
    printf("square 2 = %3d\n", square(2));
    printf("cube   3 = %3d\n", cube(3));
    printf("quad   4 = %3d\n", quad(4));
    return(0);
}
 
Last edited:
  • #4
1,065
53


I am confused...it always bugs me when people do not state what language they are talking about...sure, if I knew, I would recognize it; but often times I don't and I can still help, if I knew what to google.

So, the last post is C, sure...what's the first one, too? or is it matlab?
 
  • #5
33,169
4,854


Looks like JavaScript to me.
 
  • #6
127
0
Sorry, it's JavaScript
 
  • #7
127
0
Once again, sorry. This time for abandoning my own topic. Like I said the programming language is JavaScript. And yes, thanks for pointing out, that the title is misleading: the function is indeed calling another function, not using it as an argument.

Returning to the problem. "When we call the square function as a part of the cube function, we still have to define the parameter associated with the square function" - a hint provided says thus. But how to write this assignment? I have never assigned a parameter for a function in the body of another function.

Any hints?
Should I assign a parameter the same way as a variable?
 
  • #8
1,065
53
These kind of simple questions is something you don't need a forum for...you can play around with the language and its compiler/interpreter and test stuff at will...it does not cost any money and you are not going to break anything...play around, experiment!

...if, on the other hand, you have a major logic problem or a bug that you cannot find...then, the forum could help.
 
  • #9
gabbagabbahey
Homework Helper
Gold Member
5,002
6
Returning to the problem. "When we call the square function as a part of the cube function, we still have to define the parameter associated with the square function" - a hint provided says thus. But how to write this assignment? I have never assigned a parameter for a function in the body of another function.

Any hints?
Should I assign a parameter the same way as a variable?
Can you state the original problem/assignment as it is given to you?
 
  • #10
DavidSnider
Gold Member
485
128
Using a function as an argument to another function would work like this:

Code:
var square = function(x) { return x * x; }
var cube = function(f,x) { return x * f(x); }

cube(square,2);
Though in this context I don't know why you'd want to pass in a function. I don't imagine you'd ever be swapping it out.
 
  • #11
127
0
Using a function as an argument to another function would work like this:

Code:
var square = function(x) { return x * x; }
var cube = function(f,x) { return x * f(x); }

cube(square,2);
Though in this context I don't know why you'd want to pass in a function. I don't imagine you'd ever be swapping it out.
Thanks, this solved it.

Code:
var square = function (x) {
  return x * x;
};

var cube = function (x) {
  return square(x) * x;
};
The answer to your question: it just for the sake of knowing how to use functions in all/allmost alt the ways legitimate.
 
  • #12
rcgldr
Homework Helper
8,670
506
I thought the idea was to use functions as parameters to other functions. I'm not sure if this syntax is correct for javascript, but it should look something like this:

Code:
var f1xf2 = function(f1, f2, x) {return f1(x) * f2(x);}
var returnx = function(x) {return x;}
var square = function(x) {return x * x;}
var cube = function(x) {return f1xf2(returnx, square, x);}
 
  • #13
127
0
I thought the idea was to use functions as parameters to other functions. I'm not sure if this syntax is correct for javascript, but it should look something like this:

Code:
var f1xf2 = function(f1, f2, x) {return f1(x) * f2(x);}
var returnx = function(x) {return x;}
var square = function(x) {return x * x;}
var cube = function(x) {return f1xf2(returnx, square, x);}
The original title probably mislead you, I apologize for this. the title should have stated that one function calls another function :)
 

Related Threads for: [Javascript?] Using a function as an argument for another function

Replies
3
Views
1K
Replies
2
Views
2K
Replies
5
Views
831
Replies
14
Views
876
  • Last Post
Replies
1
Views
1K
Replies
1
Views
2K
Replies
5
Views
21K
Replies
4
Views
3K
Top