먼저
전역 변수 class2type = {};
rdigit = /d/, // 숫자인지 여부를 정기적으로 확인합니다.
toString = Object.prototype.toString
jQuery.each를 통해 class2type을 정의합니다. 속성 및 값:
jQuery.each(" 부울 숫자 문자열 함수 배열 날짜 RegExp Object".split(" "), function(i, name) {
class2type[ "[object " name "]" ] = name.toLowerCase();
});
유형: function( obj ) {
return obj == null ?String( obj ) :class2type[ toString.call(obj) ] || "object";//js의 모든 것은 객체이므로 toString을 사용할 수 있습니다.call(obj)은 해당 객체 유형을 반환합니다
// 이 메서드를 직접 사용하여 유형을 결정하는 경우 IE의 document.getElementById는 객체로 간주되고 다른 브라우저에서는 이를 함수로 간주합니다
// 전달된 값이 NaN이면 "number"가 반환됩니다.
}
isFunction: function( obj ) {return jQuery.type(obj) === "function";}// IE에서 document.getElementById가 전달되면 반환은 false이고 IE는 객체
isArray: Array.isArray || function( obj ) {return jQuery.type(obj) === "array";}/ /네이티브 배열에 isArray 메소드가 있는 경우 Array.isArray를 사용하고, 그렇지 않으면 이 메소드를 사용자 정의하십시오.
isWindow: function( obj ) {return obj && typeof obj === "object" && "setInterval" in obj;}//결정 윈도우 객체인지 여부
isNaN : function( obj ) {return obj == null || !rdigit.test( obj ) || isNaN( obj );}//
isEmptyObject: function( obj ) {
for ( var name in obj ) {//객체에 속성이나 메서드가 있는지 여부가 판단 기준입니다.
return false
}
return true; >