0

您如何检查正在运行的对象表示法是默认编码还是添加function到其中?

前任:

var object ={
      easy:function() {
       alert('Hello');
     } 
    };

object.easy();

现在我如何检查是那个还是这个实例化

 object.easy(function() {
   alert('GoodBye');
 }
4

1 回答 1

0

JavaScript 中的任何函数都可以使用任意数量的参数来调用,而不管您在说 . 时指定了多少参数function(...) { ... }。如果要查看参数,可以使用arguments伪数组

Array与传递给函数的参数相对应的-like 对象。

如果你想知道你是否已经获得了一个功能,你可以使用typeofoperator

运算符返回一个字符串,typeof指示未计算的操作数的类型。

所以你可以看看你是否被传递了一个类似这样的函数:

var object = {
    easy: function() {
        if(arguments.length > 0
        && typeof arguments[0] === 'function')
            console.log('Yup, we have been passed a function');
    }
};

演示:http: //jsfiddle.net/ambiguous/c4zTZ/

于 2013-09-13T04:11:07.130 回答