العبارات الثلاثة (الوظائف) Eval وExecute وExecuteGlobal جميعها تنفذ تعبيرات السلسلة، ولكنها مختلفة. تقوم Eval بتقييم التعبير وإرجاع النتيجة.
بناء الجملة: [النتيجة =]eval_r(expression_r)
Expression_r عبارة عن سلسلة من أي تعبير VBScript صالح
مثال:
انسخ رمز الكود كما يلي:
Response.Write(eval_r(3+2)) 'الإخراج 5
3+2 محاط بعلامات اقتباس، مما يشير إلى أنها سلسلة، ولكن في نظر Eval، يتم تنفيذها كتعبير 3+2.
تنفيذ ينفذ بيانًا محددًا واحدًا أو أكثر. استخدم النقطتين (:) للفصل بين العبارات المتعددة.
بناء الجملة: تنفيذ البيانات
مثال:
نفذ الرد. اكتب (abc) 'إخراج abc
نسخ الرمز
يتم تضمين Response.Write(abc) بين علامتي اقتباس للإشارة إلى سلسلة
ولكن في نظر التنفيذ، يتم تنفيذه كإجابة بيانية. اكتب (abc).
ينفذ ExecuteGlobal واحدًا أو أكثر من العبارات المحددة في مساحة الاسم العامة.
بناء الجملة: بيان ExecuteGlobal
مثال:
انسخ رمز الكود كما يلي:
خافت ج
ج = المتغير العالمي
فرعي S1()
خافت ج
ج = المتغير المحلي
تنفيذ استجابة. الكتابة (ج) 'إخراج المتغيرات المحلية
ExecuteGlobal Response.Write(c) 'إخراج المتغيرات العامة
النهاية الفرعية
تنفيذ استجابة. الكتابة (ج) 'إخراج المتغيرات العالمية
اتصل بـ S1()
يتم تعريف المتغير c في النطاق العام وفي نطاق الوظيفة. يقرر Execute استخدام المتغيرات المحلية أو المتغيرات العامة وفقًا لموقعه، بينما يتعرف ExecuteGlobal دائمًا على c في النطاق العام فقط.
تلخيص:
ينفذ Eval عبارة واحدة فقط، وقد يُرجع أو لا يُرجع البيان قيمة.
تنفيذ ينفذ عبارة واحدة أو أكثر مع تجاهل القيمة المرجعة للبيان
يقوم ExecuteGlobal بتنفيذ عبارة واحدة أو أكثر ويتجاهل القيمة المرجعة للعبارة عندما يكون للمتغير العام والمتغير المحلي نفس الاسم، يتم استخدام المتغير العام دائمًا.
يلاحظ:
في VBScript، يتم استخدام = للتخصيص والمقارنة. على سبيل المثال، يمكن القول أن a=b يعين قيمة b إلى a، أو يمكن أن يقال لتحديد ما إذا كان a وb متساويين أم لا ب) تمثل عملية الاحالة أو المقارنة؟
يوجد اصطلاح هنا في Eval، حيث تعني a=b دائمًا عملية المقارنة، وفي Execute وExecuteGlobal، تعني دائمًا التعيين.