الفرق بين المراجعتين ل"JavaScript/Math/trunc"
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}') |
|||
سطر 85: | سطر 85: | ||
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.trunc ECMAScript Latest Draft]. | * مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.trunc ECMAScript Latest Draft]. | ||
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.trunc ECMAScript 2015 (6th Edition)]. | * معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.trunc ECMAScript 2015 (6th Edition)]. | ||
− | [[تصنيف:JavaScript]] | + | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] |
− | [[تصنيف:JavaScript Global Objects]] | + | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] |
− | [[تصنيف:JavaScript Math]] | + | [[تصنيف:JavaScript Math|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:40، 28 يناير 2018
الدالة Math.trunc()
تعيد الجزء الصحيح من العدد بإزالة جميع الأرقام بعد الفاصلة العشرية.
البنية العامة
Math.trunc(x)
x
العدد التي ستُجرى عليه العملية.
القيمة المعادة
الجزء الصحيح من القيمة المعطاة.
الوصف
على النقيض من الدوال Math.floor()
و Math.ceil()
و Math.round()
، طريقة عمل الدالة Math.trunc()
بسيطةٌ جدًا، فهي تقتطع (truncate) الفاصلة العشرية وما يليها من أرقام، بغض النظر عمّا إذا كان العدد موجبًا أم سالبًا.
سيحوّل الوسيط المُمرَّر إلى هذه الدالة إلى النوع Number
ضمنيًا.
لمّا كانت الدالة trunc
هي دالةٌ ساكنة (static method) تابعةٌ للكائن Math، فيجب عليك استخدامها دومًا بالشكل Math.trunc(x)
، إذ لا تستطيع استخدامها كجزء من كائن Math
خاص بك (تذكر أنَّ الكائن Math
ليس له دالةٌ بانية).
أمثلة
أمثلة عن استخدام الدالة Math.trunc(x)
:
Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(0.123); // 0
Math.trunc(-0.123); // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN); // NaN
Math.trunc('foo'); // NaN
Math.trunc(); // NaN
تعويض نقص دعم المتصفحات
يمكن محاكاة هذه الدالة بالاستعانة بالدالة الآتية:
if (!Math.trunc) {
Math.trunc = function(v) {
v = +v;
if (!isFinite(v)) return v;
return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
// returns:
// 0 -> 0
// -0 -> -0
// 0.2 -> 0
// -0.2 -> -0
// 0.7 -> 0
// -0.7 -> -0
// Infinity -> Infinity
// -Infinity -> -Infinity
// NaN -> NaN
// null -> 0
};
}
نسخة مختصرة:
if (!Math.trunc) {
Math.trunc = function(v) {
v = +v;
return (v - v % 1) || (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0);
};
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 38 | 25 | غير مدعومة | 25 | 8 |
على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).