检查呼叫前是否存在功能?

时间:2012-12-01 06:58:22

标签: javascript jquery

  

可能重复:
  jQuery test for whether an object has a method?

我想在调用javascript之前设置函数是否存在可以帮助我如何执行此操作并应用于此脚本

$(document).ready(function() {
   $(".cs-text-cut").lettering('words');
});

4 个答案:

答案 0 :(得分:71)

我假设您要检查并确保lettering存在,请尝试以下操作:

http://api.jquery.com/jQuery.isFunction/

以下是一个例子:

if ( $.isFunction($.fn.lettering) ) {
    $(".cs-text-cut").lettering('words');
}

答案 1 :(得分:12)

用它来检查功能是否存在。

<script>
if ( typeof function_name == 'function' ) { 
        //function_name is a function
}
else
{
 //do not exist
}
</script>

答案 2 :(得分:6)

如果它是您想要测试的lettering函数,您可以这样做;

$(document).ready(function() {
    var items = $(".cs-text-cut");
    if (items.lettering) {
        items.lettering('words');
    }
});

或者,如果您想在尝试调用它之前绝对确定items.lettering是一个函数,您可以这样做:

$(document).ready(function() {
    var items = $(".cs-text-cut");
    if (typeof items.lettering === "function") {
        items.lettering('words');
    }
});

或者,如果你真的不控制环境,所以你真的不知道字母函数调用是否会起作用,甚至可能抛出一个异常,你可以放一个异常处理程序:< / p>

$(document).ready(function() {
    try {
        $(".cs-text-cut").lettering('words');
    } catch(e) {
        // handle an exception here if lettering doesn't exist or throws an exception
    }
});

答案 3 :(得分:0)

typeof $({}).lettering == 'function'$.isFunction($({}).lettering)应返回一个布尔值,表明它是否可用。