Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

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

  1. Sep 19, 2012 #1
    Code (Text):
    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: Sep 20, 2012
  2. jcsd
  3. Sep 19, 2012 #2

    Mark44

    Staff: Mentor

    Re: Using a function as an argument for another function

    No, it's not correct.
    Code (Text):
    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: Sep 19, 2012
  4. Sep 19, 2012 #3

    rcgldr

    User Avatar
    Homework Helper

    Re: Using a function as an argument for another function

    In C or C++, you can use pointers to functions as arguments:
    Code (Text):

    #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: Sep 19, 2012
  5. Sep 19, 2012 #4
    Re: Using a function as an argument for another function

    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?
     
  6. Sep 20, 2012 #5

    Mark44

    Staff: Mentor

    Re: Using a function as an argument for another function

    Looks like JavaScript to me.
     
  7. Sep 21, 2012 #6
    Sorry, it's JavaScript
     
  8. Sep 24, 2012 #7
    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?
     
  9. Sep 24, 2012 #8
    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.
     
  10. Sep 24, 2012 #9

    gabbagabbahey

    User Avatar
    Homework Helper
    Gold Member

    Can you state the original problem/assignment as it is given to you?
     
  11. Sep 24, 2012 #10

    DavidSnider

    User Avatar
    Gold Member

    Using a function as an argument to another function would work like this:

    Code (Text):

    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.
     
  12. Sep 24, 2012 #11
    Thanks, this solved it.

    Code (Text):
    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.
     
  13. Sep 24, 2012 #12

    rcgldr

    User Avatar
    Homework Helper

    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 (Text):

    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);}
     
     
  14. Sep 25, 2012 #13
    The original title probably mislead you, I apologize for this. the title should have stated that one function calls another function :)
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: [Javascript?] Using a function as an argument for another function
Loading...