So you want to add goto to JavaScript?
On Wed, May 20, 2015 at 11:42 AM, Emanuel Allen <[email protected]>
wrote:
> Clarify:
> My previous post was not that clear. That post display what I would like to
> do in the language. Here is the actual code if I choose to do it as the
> language is now:
> var i = 0, n = 5;
> l2: do {
> i += 1;
> l3: do {
> if (i<n) continue l2;
> else break l3;
> } while (true);
> break l2;
> } while (true);
> //just log the value n+1:
> console.log('i:'+i);
> loop through label l2 n amount of times before breaking.
> This could be useful to escape function invocation cost, if it could be
> simply express:
> l2: {
> i += 1;
> }
> l3: {
> if (i<n) continue l2;
> }
> The function way is to:
> function l2(){
> i += 1;
> }
> l3: do {
> if (i<n) l2();
> else break l3;
> } while (true);
> I did a <a href="http://jsperf.com/block-scope-vs-function-invocation">
> jsprf </a>to further my argument for a sudo goto/function effect:
> http://jsperf.com/block-scope-vs-function-invocation
> JS4Lf
>> On May 19, 2015, at 2:45 PM, L4L <[email protected]> wrote:
>>
>> Since we have block scope, and we have continue statement to which we can
>> use in loops to jump back to the conduction statement part.
>>
>> Than can we consider making label stamens moveable by its name.
>>
>> I'll like to say that the side effect would be sudo(pseudo) function,
>> example:
>>
>> function foo(v){
>> return v + 1;
>> }
>>
>>
>> var i = 0;
>>
>> baz:{
>> i += 1;
>> }
>>
>> continue baz;//same as foo(i);
>>
>> console.log(i);
>>
>> Note that I said sudo function. Its mobility is what of value; depending on
>> how JavaScript handle the continue statement in a loop to transport that
>> effect out side a loop.
>>
>> Stripping this privilege to black scope; where the continue statement is
>> expanded to work only in block scope and nested block scope; to where it can
>> only jump to the beginning of that block or any other block scope that is
>> scoped to that outer block scope but not nested block scope with in the
>> scope... Like function.
>>
>> Continue and break statement could be of more power; where we can avoid some
>> function call in "speed matter" application.
>>
>> Excuse any grammar errors.
>>
>> JS4Lf
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss