JavaScript Closure - method not recognized -


i calling function myfunc() , storing in variable myfunction passing 3 default argument used addition.

myfunction returned anonymous function parameter passed when logging message in console.

i trying access method setvalue of myfunction change original value of 3 1

    <script type="text/javascript">         function myfunc(numpassed){             var num = numpassed;             return function(x){                 setvalue = function(newval){                     num = newval;                     return (num + x);                 };             };         }         var myfunction = myfunc(3);         myfunction.setvalue(1);         console.log(myfunction(4));     </script> 

when run this, gives me error:

object function (x) has no method 'setvalue'

i tried returning setvalue() still method not being recognized.

    <script type="text/javascript">         function myfunc(numpassed){             var num = numpassed;             return function(x){                 return setvalue = function(newval){                     num = newval;                     return (num + x);                 };             };         }         var myfunction = myfunc(3);         myfunction.setvalue(1);         console.log(myfunction(4));     </script> 

if understand correctly, you'd myfunc create function add input x value numpassed, allow numpassed overridden @ later time using setvalue. if that's case, code should this:

function myfunc(numpassed){     var num = numpassed;     function add(x) {         return num + x;     };     add.setvalue = function(newval) {         num = newval;     };     return add; } 

since myfunc returns add, want publicly accessible return value must property of add.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -