Math.sign()‎

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

الدالة Math.sign()‎ تعيد إشارة العدد، التي تُشير إلى أنَّ العدد موجبٌ أم سالبٌ أم صفر.

البنية العامة

Math.sign(x)

x

العدد التي ستُجرى عليه العملية.

القيمة المعادة

عدد يُمثِّل إشارة الوسيط المُمرَّر إلى الدالة. فلو كان الوسيط عددًا موجبًا أو عددًا سالبًا أو صفرًا موجبًا أو صفرًا سالبًا فستعيد هذه الدالة القيم 1 أو -1 أو 0 أو -0 على التوالي وبالترتيب؛ وإلا فستُعاد القيمة NaN.

الوصف

لمّا كانت الدالة sign هي دالةٌ ساكنة (static method) تابعةٌ للكائن Math، فيجب عليك استخدامها دومًا بالشكل Math.sign(x)‎، إذ لا تستطيع استخدامها كجزء من كائن Math خاص بك (تذكر أنَّ الكائن Math ليس له دالةٌ بانية).

سيحوّل الوسيط المُمرَّر إلى هذه الدالة إلى النوع Number ضمنيًا.

أمثلة

أمثلة عن استخدام الدالة Math.sign()‎:

Math.sign(3);     //  1
Math.sign(-3);    // -1
Math.sign('-3');  // -1
Math.sign(0);     //  0
Math.sign(-0);    // -0
Math.sign(NaN);   // NaN
Math.sign('foo'); // NaN
Math.sign();      // NaN

تعويض نقص دعم المتصفحات

يمكن محاكاة الدالة باستخدام الدالة الآتية:

if (!Math.sign) {
  Math.sign = function(x) {
    // If x is NaN, the result is NaN.
    // If x is -0, the result is -0.
    // If x is +0, the result is +0.
    // If x is negative and not -0, the result is -1.
    // If x is positive and not +0, the result is +1.
    return ((x > 0) - (x < 0)) || +x;
    // A more aesthetical persuado-representation is shown below
    //
    // ( (x > 0) ? 0 : 1 )  // if x is negative then negative one
    //          +           // else (because you cant be both - and +)
    // ( (x < 0) ? 0 : -1 ) // if x is positive then positive one
    //         ||           // if x is 0, -0, or NaN, or not a number,
    //         +x           // Then the result will be x, (or) if x is
    //                      // not a number, then x converts to number
  };
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 38 25 غير مدعومة 25 9

على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.

مصادر ومواصفات