如何验证上下文(this)参数?

时间:2013-11-05 20:32:16

标签: javascript

我可以轻松验证是否传递了类似对象的数组,以及使用下面的代码传递函数,注释为validation here

$P.someKey = function (obj, func, con) {
    var key;

    // prevent type errors
    // must be !(null or undefined) and a function
    if (obj != null || typeof func !== 'function') {  // validation here
        return false;
    }
    for (key in obj) {
        if (obj.hasOwnProperty(key)) {

            // if the function passes back a truthy value,
            // the loop will terminate
            if (func.call(con, obj[key], key, obj)) {
                return true;
            }
        }
    }
    return true;
};

为了保持一致性,有没有办法验证是否传入了正确的上下文值,或者这是不需要的,因为call()方法会为我执行此操作?

我想的更多是检查obj != null(检查null和undefined,只有两个没有属性的JS类型),b.c.也是不需要的。 for in语句将为我过滤掉这些内容。

0 个答案:

没有答案