لا تحدد JavaScript نفسها ما إذا كان المتغير هو قيمة فارغة ، لأن المتغيرات قد تكون من سلسلة النوع ، والكائن ، والرقم ، والطليف ، وما إلى ذلك. أنواع مختلفة وطرق الحكم المختلفة تختلف أيضًا. لذلك كتبت وظيفة في المقالة لتحديد ما إذا كان متغير JS فارغ. إذا كان غير محدد ، فارغ ، '' ، nan ، false ، 0 ، [] ، {} ، والسلاسل الفارغة ، كلها تعود صحيح ، بطريقة خاطئة خلاف ذلك
نسخة الكود كما يلي:
وظيفة isempty (v) {
التبديل (typeof v) {
حالة "غير محددة":
العودة صحيح.
حالة "سلسلة":
if (v.replace (/(^[/t/n/r]*) | ([/t/n/r]*$)/g ، '') .Length == 0) return true ؛
استراحة؛
حالة "منطقية":
إذا (! الخامس) إرجاع صحيح ؛
استراحة؛
قضية "رقم":
if (0 === v || isnan (v)) return true ؛
استراحة؛
حالة "كائن":
if (null === v || v.length === 0) return true ؛
لـ (var i in v) {
العودة كاذبة
}
العودة صحيح.
}
العودة كاذبة
}
امتحان:
نسخة الكود كما يلي:
isempty () // صحيح
isempty ([]) // صحيح
isempty ({}) // true
isempty (0) // صحيح
isempty (رقم ("ABC")) // صحيح
isempty ("") // صحيح
isempty ("") // صحيح
isempty (خطأ) // صحيح
isempty (خالية) // صحيح
isempty (غير محدد) // صحيح