Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #11709

Re: Simple parameter passing within a setInternal() call?

From Andreas Bergmaier <andber93@web.de>
Newsgroups comp.lang.javascript
Subject Re: Simple parameter passing within a setInternal() call?
Date 2012-02-11 22:33 +0100
Organization albasani.net
Message-ID <jh6mr2$rbb$1@news.albasani.net> (permalink)
References <jh6e3o$73s$1@news.albasani.net> <jh6jln$jjo$1@news.albasani.net> <1350222.i9fspTd0WE@PointedEars.de>

Show all headers | View raw


Thomas 'PointedEars' Lahn schrieb:
> Andreas Bergmaier wrote:
>> Tuxedo schrieb:
>>> How can a simple string parameter be passed between two functions while
>>> inside a setInterval call?
>>
>> function initialFunction(x){
>>      alert(x);            ^
>              ^--------------'
>>      setInterval( function(x){
>>         alert(x);          ^
>                 ^------------'
>>      }, 5000);
>> }
>
> This does not work, because in the context of the function (referred by
> `repeatingStuff'), `x' is bound to the inner function's argument `x' (which
> is not passed a useful value from the DOM implementation anyway) and not to
> that of the inner function's definition context.

I'm sorry, I forgot the essential thing when copying the example code :-(
@Tuxedo: The thing is to have only one variable "x". The code should be

function initialFunction(x){
     alert(x);
     setInterval( function(){
        alert(x);
     }, 5000);
}

>> Another alternative is to use bind() or other functions, to return a
>> function which calls repeatingStuff with the needed parameters
>
> This works in implementations of ECMAScript 5.x or where you have a suitable
> scripting framework that emulates Function.prototype.bind(), but it is
> unnecessarily inefficient by comparison.

Is it? Unnecessarily in this case, yes, but if you have defined 
"repeatingStuff" elsewhere it is imho much more elegant than coding

var x;
setInterval( function(){
    doRepeatingStuffWith(x);
}, 5000);

  Bergi

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Simple parameter passing within a setInternal() call? Tuxedo <tuxedo@mailinator.com> - 2012-02-11 20:04 +0100
  Re: Simple parameter passing within a setInterval() call? Tuxedo <tuxedo@mailinator.com> - 2012-02-11 20:39 +0100
    Re: Simple parameter passing within a setInterval() call? Dr J R Stockton <reply1206@merlyn.demon.co.uk> - 2012-02-12 22:02 +0000
  Re: Simple parameter passing within a setInternal() call? Andreas Bergmaier <andber93@web.de> - 2012-02-11 21:39 +0100
    Re: Simple parameter passing within a setInternal() call? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-02-11 22:06 +0100
      Re: Simple parameter passing within a setInternal() call? Andreas Bergmaier <andber93@web.de> - 2012-02-11 22:33 +0100
        Re: Simple parameter passing within a setInternal() call? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-02-11 23:44 +0100
          Re: Simple parameter passing within a setInternal() call? Andreas Bergmaier <andber93@web.de> - 2012-02-12 03:04 +0100
        Re: Simple parameter passing within a setInterval() call? Tuxedo <tuxedo@mailinator.com> - 2012-02-12 09:22 +0100

csiph-web