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

JavaScript [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 :)
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook




Loading...
Similar Threads for Javascript Using function Date
JavaScript Editable html table and javascript Mar 27, 2017
JavaScript What scripts do websites like unitednuclear.com use? May 15, 2015
JavaScript JavaScript: Can't figure out what's going wrong in my use of this API Jun 12, 2014
JavaScript Using a JavaScript Function as a Class May 30, 2014
JavaScript Using JavaScript/JQuery to get words from a text file May 5, 2014