javascript - شرح - جافا سكريبت في المتصفح لديك



اكتب التحقق في جافا سكريبت (6)

أعلم أنك مهتم بأعداد صحيحة لذا لن أقوم بالإجابة عنها ، لكن إذا أردت التحقق من أرقام Floating Point ، فبإمكانك القيام بذلك.

function isFloat( x )
{
    return ( typeof x === "number" && Math.abs( x % 1 ) > 0);
}

ملاحظة: قد تعالج هذه الأرقام المنتهية بـ .0 (أو أي عدد مكافئ منطقي من 0 ) كأحد المحاولات (INTEGER). تحتاج فعلياً إلى خطأ دقة عائمة نقطة لتكشف عن قيم النقطة العائمة في هذه الحالة.

السابق.

alert(isFloat(5.2));   //returns true
alert(isFloat(5));     //returns false
alert(isFloat(5.0));   //return could be either true or false

كيف يمكنني التحقق مما إذا كان المتغير هو نوع صحيح حاليًا؟ لقد بحثت عن نوع ما من الموارد لذلك وأعتقد أن عامل التشغيل === مهم ، لكنني لست متأكدًا من كيفية التحقق من أن المتغير هو عدد صحيح (أو مصفوفة لهذا الأمر)


Answer #1

الرقم هو عدد صحيح إذا كان modulo٪ 1 هو 0-

function isInt(n){
    return (typeof n== 'number' && n%1== 0);
}

هذا جيد فقط مثل javascript gets + say - من 10 إلى 15.

isInt (Math.pow (2،50) +. 1) يعود صحيح ، كما يفعل

Math.pow (2،50) +. 1 == Math.pow (2،50) // true


Answer #2

جرب هذا الكود:

alert (typeof (1) == "number")؛


Answer #3

في هذه الأيام ، ECMAScript 6 (ECMA-262) هو "في المنزل". استخدم Number.isInteger(x) لطرح السؤال الذي تريد طرحه فيما يتعلق بنوع x:

js> var x = 3
js> Number.isInteger(x)
true
js> var y = 3.1
js> Number.isInteger(y)
false

Answer #4

يمكنك أيضًا إلقاء نظرة على Runtyper - وهي أداة تقوم بإجراء فحص لنوع المعاملات في === (وعمليات أخرى).
على سبيل المثال ، إذا كانت لديك مقارنة صارمة x === y و x = 123, y = "123" ، typeof x, typeof y تلقائيًا من typeof x, typeof y وتظهر التحذير في وحدة التحكم:

مقارنة صارمة من أنواع مختلفة: 123 (رقم) === "123" (سلسلة)


Answer #5
var a = 1;

if (typeof a == 'number') {
  // ...
}




types