سؤال

سؤال سريع وربما سهل على الأرجح إجابته "أفضل الممارسات"

أنا أتابع برنامجًا تعليميًا لـ Safari WebApp مخصص ، وتغيير طرق العرض حول هذا الرمز: يستخدم:

function btnSave_ClickHandler(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('mainScreen');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
}

سؤالي هو فقط عن if عبارة شرطية. ما الذي يقوله هذا الثلاثي ، ولماذا يجب التحقق من كل من هذه الأشياء قبل تغيير العرض؟ يفعل views.object مجرد اختبار لمعرفة ما إذا كان متغير طرق العرض يستجيب لطريقة الكائن؟ لماذا هذا مهم؟

تعديل - كانت هذه هي النقطة الرئيسية في هذا السؤال ، وهي لا تعتبر JavaScript كلغة وكيف if تعمل الحلقات ، ولكن لماذا يجب التحقق من هذه الأشياء الثلاثة على وجه التحديد:

تحت أي سيناريوهات قد views و front لا يوجد؟

أنا لا أكتب رمزتي عادة بشكل متكرر. إذا لم يتغير اسم جدول MySQL الخاص بي ، سأقول فقط UPDATE 'mytable' WHERE... بدلا من أكثر بكثير مطوئة (وفي رأيي ، زائدة عن الحاجة)

$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
    UPDATE $mytable;
}

بينما إذا كان اسم الجدول (أو في مثال JS ، فإن أسماء العرض) ليس "مشفرًا" ، ولكنه بدلاً من ذلك هو إدخال مستخدم أو قابلاً للتغيير بطريقة أخرى ، فقد أقوم بتصحيح الكود الخاص بي كمثال DashCode. لذلك أخبرني ، هل يمكن لهذه القيم "خطأ" على أي حال؟

شكرًا!

هل كانت مفيدة؟

المحلول

إذا كان يختبر هذه المؤشرات الثلاثة للتأكد من أنها غير خالية. مؤشر فارغ هو 0 الذي يتحول إلى خطأ. إذا كان أي من هذه المؤشر الثلاثة 0 (خالية) ، فلن يحاول استخدامها.

لست متأكدًا من ما يفعله مؤشر فارغ في JavaScript ولكنه خطأ وقد يتسبب في استثناء. إذا كان مجرد تجنب هذا الاحتمال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top