我遇到了一些代码问题......
这是代码:
(function($) {
$.fn.inc = function(url, transform, post, t) {
return this.length && url ? this.each(function() {
t = $(this);
$.ajax({
url: url,
success: function(txt, jqXHR, textStatus) {
t.html($.isFunction(transform) ? transform(txt, url) : txt);
$.isFunction(post) && post(url, jqXHR, textStatus);
}
});
}) : this;
};
$(function() {
$('[class*="inc:"]').each(function() {
var match = /inc:(\S+)/.exec(this.className || '');
if(typeOf(match[1]) != "undefined")
match && $(this).inc(unescape(match[1]));
});
});
})(jQuery);
并在第18行指出了这个错误:
ReferenceError: typeOf is not defined
if(typeOf(match[1]) != "undefined")
代码出了什么问题?
此错误指向:
TypeError: a is null
**return (a.ownerDocument || a) !== n && m(a), t(a, b)**
答案 0 :(得分:2)
您要查找的运算符是typeof
全部为小写。 JavaScript区分大小写。
请注意,它是一个操作员,而不是一个功能,所以你不需要括号(尽管它们实际上并没有受到伤害)。
另请注意,.exec()
method可以返回null
,因此您需要{/ 1}} match
之前尝试将其用作{阵列:
null
或者只是:
if (match != null && typeof match[1] != undefined)
但是你不应该测试if (match && typeof match[1] != undefined)
是否match[1]
,因为如果undefined
本身不是match
那么这意味着你的正则表达式匹配包括子串比赛。所以以下应该没问题:
null
答案 1 :(得分:1)
答案 2 :(得分:0)
这应该是typeof
(小' O')