سؤال

في ActionScript 3, عندما تعلن اختياري حجة بإعطائه الافتراضي القيمة ، null لا يمكن استخدامها على كتابة الحجج.

function Action(Param:int=null){
    // 1184: Incompatible default value of type Null where int is expected.
}
function Action(Param:int=0){
    // No compiler errors
} 

أي الحلول لذلك ، أو الغرض العام من القيم التي يمكن أن تنطبق على جميع أنواع البيانات?

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

المحلول

يمكنك تغيير إعدادات الباحث إلى عدد ثم يمكن تعيين إلى نان وهو عدد خاص يعني 'لا عدد و هذا يمكن أن تمثل null الدولة لعدد.

للتحقق مما إذا كان هناك شيء نان ، يجب استخدام isNaN() وظيفة وليس val == NaN, أو أنك لن تحصل على ما كنت تتوقع.

function Action(param:Number = NaN) : void {
    trace(param);
}

لجميع الكائنات الأخرى ، يمكنك تعيين إلى null, ولكن 'البدائية' أرقام يتم التعامل معها بشكل مختلف في أكشن.

نصائح أخرى

الباحث المتغيرات لا يمكن أن تكون فارغة ، لهذا السبب كنت تحصل على هذا الخطأ ، مرجع فقط مثل أنواع الكائنات يمكن أن تكون فارغة

بدلا من ذلك يمكنك استخدام نان كما رقم خاص بدلا من باطل.إذا كنت ترغب في التحقق إذا كان هناك شيء نان المصحف يمكنك استخدام isNaN وظيفة.

يمكن أن تشمل أيضا العلم في طريقة التوقيع لتجنب الاضطرار المعلمة ترقيته من الباحث إلى عدد:

function whatever(intProvided:Boolean = false, someInt:int = 0):void
{
    if(intProvided)
        doSomeStuff();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top