تتم الآن الترقية تطبيقات تم إنشاؤه في إصدارات السابق JScript

معظم exهوting تعليمات JScript البرمجية تعمل بشكل جيد مع التحسينات المضمنة في ‏‫JScript 8.0 لأن ‏‫JScript 8.0 هو تقريبا تماما الخلف متوافق مع للخلف. الميزات الجديدة الخاصة ب ‏‫JScript 8.0 تغطي مناطق جديدة.

بشكل افتراضي، يتم تصنيف البرامج ‏‫JScript 8.0 في الوضع السريع . وبما أن الوضع السريع بوضع بعض القيود تشغيل أنواع تعليمات برمجية المسموح بها، البرامج يمكن أن يكون أكثر فعالية و تنفيذها بشكل أسرع. على الرغم من ذلك، فإن بعض الميزات متوفر في الإصدارات السابقة غير متوفرة في الوضع السريع. الجزء الأكبر، كانت هذه الميزات غير المتوافقة مع تطبيقات متعددة مؤشرات الترابط و إنتاج تعليمات برمجية فعالة. البرامج التي تم تحويلها برمجياً مع المحول البرمجي commو-line، يمكنك إيقاف الوضع السريع و تم إكمال توافق للخلف. لاحظ أن تعليمات برمجية المترجمة بهذه الطريقة أبطأ وأكثر عرضه للأخطاء. الوضع سريع لا يمكن إيقاف تشغيل في ASP.NETالتطبيقات نتيجة لمشكلات تتعلق بالاستقرار هل موجودة. لمزيد من المعلومات، راجع / سريع.

الوضع السريع

في الوضع السريع، يتم تشغيل السلوكيات JScript التالية:

  • يجب أن يكون التصريح بكافة المتغيرات.

  • تصبح وظائف الثوابت.

  • Intrinsic الكائنات لا يمكن أن تحتوي على خصائص expando.

  • لا يمكن أن تحتوي الكائنات مضمنة خصائص المذكورة أو تغيير.

  • The arguments object هو not available.

  • لا يمكن تعيين إلى متغير القراءة فقط، حقل، أو أسلوب.

  • لا يمكن تعريف أسلوب eval معرفات في نطاق المضمنة.

  • أسلوب eval تنفيذ برامج نصية في ‏‏سياق الأمان مقيد.

الجميع متغيرات يجب تعريف

السابق لم تتطلب إصدارات JScript تصريح صريح من المتغيرات. وعلى الرغم من أن يحفظ هذه الميزة للمفاتيح للمبرمجين، فإنه أيضا يجعل من الصعب إلى تتبع الأخطاء. على سبيل المثال، قد تعيين القيمة لكلمة بها خطأ إملائي متغير اسم، وسيتم توليد خطأ ولا إرجاع النتيجة المطلوبة. علاوة على ذلك، يكون متغيرات غير معروفة عمومي نطاق، يمكن أن يؤدي التشويش إضافى.

الوضع سريع يتطلب صريحة متغير التعريفات. وهذا يساعد على منع أنواع الأخطاء المذكورة أعلاه و ينتج عن تعليمات برمجية التي يتم تنفيذها بشكل أسرع.

تعتمد.NET JScript أيضا annotated بنوع متغيرات. وهذا بربط كل متغير إلى نوع بيانات معين، و المتغير تخزين البيانات فقط من هذا النوع. Although type annotation هو not required, using it helps prevent errors associated with accidentally storing the wrong data in a variable and can increase program execution speed.

لمزيد من المعلومات، راجع متغيرات JScript و الثوابت.

دالات تصبح الثوابت

في السابق الإصدارات JScript، تعريف الدالات مع functionجملة تم معاملة متغيرات الاحتفاظ بنفس Functionالكائن. وعلى وجه الخصوص، يمكن استخدام أي معرّف دالة كمتغير إلى sإلىre أي نوع بيانات.

في الوضع السريع، دالات تصبح ثوابت. وبالتالي، لا يمكن أن تحتوي الدالات قيم الجديدة التي تم تعيينها إلى عليها أو يمكن إعادة تعريف. وهذا يمنع تغيير معنى دالة بدون قصد.

إذا تطلب برنامج نصي الخاص بك أن تغيير دالة، يمكنك بوضوح باستخدام متغير إلى الاحتفاظ بنسخة عن Functionالكائن. ملاحظة، على الرغم من ذلك، هذا Functionالكائنات تستخدم ذلك بطيئة. للحصول على مزيد من المعلومات، راجع دالة كائن .

مضمن الكائنات لا يمكن أن تحتوي على خصائص expando

في الإصدارات السابقة من JScript، يمكنك إضافة خصائص expando إلى الالكائنات المضمنة. يمكن استخدام هذا سلوك لإضافة أسلوب إلى Stringكائن لقطع المسافات البادئة للسلسلة، للمثال.

In fast mode, thهو هو not allowed. إذا كان برنامج نصي الخاص بك يعتمد تشغيل هذه ميزة، يجب تعديل برنامج نصي. يمكنك تعريف الدالات في نطاق عمومي بدلاً من إرفاق هذه الوظائف إلى الكائنات كأساليب. Then, rewrite each instance in the script where an expando method هو called from the object so that the object هو passed to the appropriate function.

استثناء واحد هو أهمية إلى هذه قاعدة هو Globalالكائن، الذي لا يزال يمكن أن خصائص expando. الجميع معرفات في نطاق عمومي يتم فعلياً خصائص Globalكائن. obviously، Globalيجب أن يكون الكائن قابل للتوسيع بشكل حيوي إلى يعتمد على إضافة جديد المتغيرات العمومية.

مضمن الكائنات لا يمكن أن تحتوي الخصائص المذكورة أو تغييرها

في السابق إصدارات JScript، يمكن يحذف تعداد أو الكتابة إلى خصائص الكائنات المضمنة المعرفة مسبقاً. يمكن استخدام هذا سلوك إلى تغيير الافتراضي toStringطريقة Dateالكائن، للمثال.

In fast mode, thهو هو not allowed. Thهو feature هو no longer necessary since intrinsic objects cannot have expando properties, and the properties for each object are lهوted in the مرجع section. ل المزيد من المعلومات، راجع الكائنات.

The arguments object هو not available

توفير الإصدارات السابقة ل JScript argumentsكائن داخل ملفات تعريف دالة، والذي يسمح بوظائف إلى تقبل بعدد عشوائي من الوسيطات. الوسيطات كائن أيضا توفير مرجع إلى دالة الحالي بالإضافة إلى استدعاء دالة.

In fast mode, the arguments object هو not available. ومع ذلك، يسمح ‏‫JScript 8.0 تصريحات دالة إلى تعيين على الصفيف معلمة في قائمة معلمات دالة. يسمح هذا للدالة إلى تقبل بعدد عشوائي من الوسيطات، وهكذا يتم استبدال جزء من الوظائف argumentsالكائن. للحصول على مزيد من المعلومات، انظر دالة كشف .

There هو no way to directly access and مرجع the current function or calling function in fast mode.

لا يمكن تعيين إلى متغير للقراءة فقط أو الحقل أو الأسلوب

في الإصدارات السابقة من JScript، قد تظهر عبارات لتعيين القيمة إلى القراءة فقط معرّف. The assignment would فشل quietly, و the فقط way إلى اكتشاف the assignment failure would be إلى اختبار if the القيمة actually تم تغييره. التعيين إلى للقراءة فقط المعرف عادة نتيجة لخطأ، حيث أن له أي تأثير.

في fast الوضع, a يحول برمجياً-الوقت خطأ will be generated if you attempt إلى تعيين a القيمة إلى a read-فقط معرّف. يمكنك أما إزالة التعيين أو إعادة تعيين معرّف التي هو ليس للقراءة فقط.

إذا قمت بتشغيل وضع سريع إيقاف التعيينات إلى سوف تفشل معرفات للقراءة فقط بصمت أثناء وقت التشغيل، ولكن يتم إنشاء رسالة تحذير وقت التحويل البرمجي.

لا يمكن تعريف أسلوب eval لمعرفات في نطاق إرفاق

في السابق إصدارات JScript والدالات ومتغيرات يمكن تعريف في نطاق عمومي أو محلية بواسطة مكالمة إلى evalالأسلوب.

يمكن تعريف الدوال والمتغيرات في الوضع السريع، ضمن مكالمة إلى evalالأسلوب، ولكن هذه يمكن الوصول إليها من خلال هذه المكالمة معينة. مرة واحدة evalهو finهوhed والدالات والمتغيرات المعرفة داخل evalلم تعد قابلة للوصول. النتيجة من حساب التي تم إجراؤها من خلال evalيمكن تعيينها إلى أي متغير يمكن الوصول إليه في نطاق الحالي. المكالمات إلى evalأسلوب بطيئة، ويجب عليك إعادة كتابة تعليمات برمجية التي يتضمنها.

سلوك السابقة evalأسلوب هو استعادة حالة الوضع السريع هو تشغيل إيقاف.

أسلوب eval تنفيذ برامج نصية في ‏‏سياق الأمان مقيد

في الإصدارات السابقة من JScript، رمز pكـsed إلى evalسيتم تشغيل الأسلوب في نفس سياق نص الأمان كـ استدعاء تعليمات برمجية.

للمساعدة في يحمي المستخدمين، التعليمات البرمجية التي تم تمريرها إلى evalتنفيذ أسلوب في ‏‏سياق الأمان مقيد، ما لم تكن سلسلة "غير امنه" هو الذي تم تمريره كمعلمة الثاني. يساعد في ‏‏سياق الأمان مقيدة لمنع الوصول إلى موارد النظام، مثل كـ نظام الملفات، وشبكة الاتصال، أو واجهة مستخدم. استثناء هو المنشأة إذا التعليمة البرمجية لمحاولات الوصول إلى هذه موارد.

عند معلمة ثانية من evalهو السلسلة "غير امنه"، التي تم تمريرها تعليمات برمجية evalأسلوب هو تنفيذها في نفس سياق نص الأمان كاستدعاء تعليمات برمجية. وهذا باستعادة سلوك السابق في evalالأسلوب.

ملاحظة الأمانملاحظة الأمان

استخدام evalفي الوضع غير الآمنة فقط إلى تنفيذ سلاسل تعليمات برمجية التي تم الحصول عليها من المصادر معروفة.

راجع أيضًا:

المرجع

/ سريع

المبادئ

مقدمة إلى ‏‫JScript 8.0 للمبرمجين JScript

موارد أخرى

الشروع في العمل مع JScript