التابع jQuery.isFunction()
في jQuery
jQuery.isFunction( value )
أهمل مع الإصدار: 3.3.
القيم المعادة
يعيد قيمةً منطقيَّةً (Boolean).
الوصف
يتحقَّق هذا التابع إن كان الكائن الممرَّر إليه دالةَ ردِّ نداءٍ أم لا.
jQuery.isFunction( value )
أُضيف مع الإصدار: 1.2.
value
أي شيء، ويمثل القيمة المراد التحقُّق منها.
بدءًا من الإصدار jQuery 3.3، أصبح التابع jQuery.isFunction()
مهملًا. في أغلب الحالات، يمكن الاستعاضة عن استعمال هذا التابع عبر استخدام typeof x === "function"
.
ملاحظة: بدءًا من الإصدار jQuery 1.3، لا يُضمن أن تُكتشَف الدوال التي يوفِّرها المتصفح، مثل alert()
وتوابع عناصر DOM مثل getAttribute()
، كدوالٍ في بعض المتصفحات مثل المتصفح IE.
أمثلة
التحقُّق من بعض القيم الممرَّرة إن كانت دوالًا أم لا:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.isFunction مثالٌ عن استعمال التابع</title>
<style>
div {
color: blue;
margin: 2px;
font-size: 14px;
}
span {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div>jQuery.isFunction( objs[ 0 ] ) = <span></span></div>
<div>jQuery.isFunction( objs[ 1 ] ) = <span></span></div>
<div>jQuery.isFunction( objs[ 2 ] ) = <span></span></div>
<div>jQuery.isFunction( objs[ 3 ] ) = <span></span></div>
<div>jQuery.isFunction( objs[ 4 ] ) = <span></span></div>
<script>
function stub() {}
var objs = [
function() {},
{ x:15, y:20 },
null,
stub,
"function"
];
jQuery.each( objs, function( i ) {
var isFunc = jQuery.isFunction( objs[ i ]);
$( "span" ).eq( i ).text( isFunc );
});
</script>
</body>
</html>
سنحصل عند تنفيذ هذه الشيفرة على النتيجة التالية:
jQuery.isFunction( objs[ 0 ] ) = true
jQuery.isFunction( objs[ 1 ] ) = false
jQuery.isFunction( objs[ 2 ] ) = false
jQuery.isFunction( objs[ 3 ] ) = true
jQuery.isFunction( objs[ 4 ] ) = false
التحقُّق إن كان الوسيط المعطى دالةً:
$.isFunction(function() {});
سنحصل عند تنفيذ هذه الشيفرة على النتيجة التالية:
true