في مثالك ، تقوم بالاتصال بروتين فرعي بدلاً من نقل تدفق التحكم بشكل دائم ودائم (وهو ما goto
يفعل).
إذا وضعت الرمز بعد foo();
, ، سيتم تنفيذ هذا الرمز بعد foo()
يسمى.
سؤال
لا أعرف كيف عملت في اليوم ، لذلك ليس لدي أي فكرة عما كان يشير إليه.
لكن ، خذ JS:
var x = 5;
var foo = function(y) { console.log(2); };
var y = 6;
foo(); // is this not in essence a goto statement?
إذا لم يكن الأمر كذلك ، فما الذي كان مختلفًا عن عبارات GOTO؟
هل عارض ديجكسترا JS على هذه الأسباب؟
المحلول
في مثالك ، تقوم بالاتصال بروتين فرعي بدلاً من نقل تدفق التحكم بشكل دائم ودائم (وهو ما goto
يفعل).
إذا وضعت الرمز بعد foo();
, ، سيتم تنفيذ هذا الرمز بعد foo()
يسمى.
نصائح أخرى
لا ، هذا في جوهره بيان "gosub". هل قرأت الورقة الأصلية؟ تعرض Imho Dijkstra للإهانة من خلال حالة "تلطيخ" في جميع أنحاء الكود الخاص بك.
هذا هو بيان القفز ، وليس بيان غوتو. لذلك ، لا ينشئ رمز السباغيتي.