| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 | 
							- /*
 
- 此js作为 utility库 主要用于 类型判断
 
- */
 
- Namespace.register("U.Ut");
 
- //判断是否为数组
 
- U.Ut.isArray = Array.isArray;
 
- /**
 
- * 判断字符串是否为Guid
 
- *
 
- * @param   {string} 需要判断的字符串
 
- * @return  {boolean} 是否为guid
 
- */
 
- U.Ut.isGuid = function (UST) {
 
-     return U.MS.isGuid(UST);
 
- }
 
- /**
 
- * 判断值是否等于formdate
 
- *
 
- * @param   {object} 需要判断的FormData
 
- * @return  {boolean} 是否为FormData
 
- */
 
- U.Ut.isFormData = function (obj) {
 
-     return obj.toString() === "[object FormData]";
 
- }
 
- /**
 
- * 判断是否为对象
 
- *
 
- * @param   {object} 判断对象是否为object对象
 
- * @return  {boolean} 是否为FormData
 
- */
 
- U.Ut.isObject = function (UDE) {
 
-     return (typeof UDE == "object" && UDE !== null);
 
- }
 
- /**
 
- * 是否参与for in循环的对象
 
- *
 
- * @param   {object} 判断是否允许参加在for循环里
 
- * @return  {boolean} 允许for in
 
- */
 
- U.Ut.IsFObj = function (UDE) {
 
-     var i, _ = ["isArray", "isFunction", "isObject"]; //三种可参与for in的
 
-     for (i = 0; i < _.length; i++) {
 
-         if (U.M[_[i]](UDE)) {
 
-             return _[i].substr(2);
 
-         }
 
-     }
 
-     return false;
 
- }
 
- /**
 
- * 判断数组是否可用
 
- *
 
- * @param   {array} 判断数组是否有值
 
- * @return  {boolean} 是否为有值数组
 
- */
 
- U.Ut.isArrayLike = function (UDE) {
 
-     return UDE && UDE.length && UDE.length < Array.MAX_ARRAY_INDEX;
 
- }
 
- /**
 
- * 判断是否为bool
 
- *
 
- * @param  {array} 判断数组是否有值
 
- * @return  {boolean} 是否为boolean值
 
- */
 
- U.Ut.isBoolean = function (UDE) {
 
-     return typeof UDE === "boolean";
 
- }
 
- /**
 
- * 判断是否为空
 
- *
 
- * @param  {object} 判断内容是否为空
 
- * @return  {boolean} 是否为null
 
- */
 
- U.Ut.isNull = function (UDE) {
 
-     return UDE === null;
 
- }
 
- /**
 
- * 判断是否为数字
 
- *
 
- * @param  {array} 判断数组是否有值
 
- * @return  {boolean} 是否为number
 
- */
 
- U.Ut.isNumber = function (UDE) {
 
-     return typeof UDE == "number";
 
- }
 
- /**
 
- * 判断是否为字符串数字
 
- *
 
- * @param  {array} 判断数组是否有值
 
- * @return  {boolean} 是否为number
 
- */
 
- U.Ut.isStringInt = function (UDE) {
 
-     return U.Ut.isNumber(UDE) || U.MS.Num.test(UDE);
 
- }
 
- /**
 
- * 判断是否为NaN
 
- *
 
- * @param  {array} 判断数组是否有值
 
- * @return  {boolean} 是否为number
 
- */
 
- U.Ut.isNaN = function (UDE) {
 
-     typeof UDE == "NaN";
 
- }
 
- /**
 
- * 判断是否是无限循环数字
 
- *
 
- * @param  {number} 判断数组是否有值
 
- * @return  {boolean} 是否为number
 
- */
 
- U.Ut.isFinite = function (UDE) {
 
-     return !isNaN(parseFloat(UDE)) && isFinite(UDE);
 
- }
 
- /**
 
- * 判断是否为字符串
 
- *
 
- * @param  {string} 判断的字符串
 
- * @return  {boolean} 是否为字符串
 
- */
 
- U.Ut.isString = function (str) {
 
-     return typeof str == "string"
 
- }
 
- /**
 
- * 判断是否为Undefined
 
- *
 
- * @param  {number} 判断数组是否有值
 
- * @return  {boolean} 是否为number
 
- */
 
- U.Ut.isUndefined = function (UDE) {
 
-     return (UDE === void 0);
 
- }
 
- /**
 
- * 判断是否为正则
 
- *
 
- * @param  {RegExp} 正则值
 
- * @return  {boolean} 是否为RegExp
 
- */
 
- U.Ut.isRegExp = function (UDE) {
 
-     return U.Ut.isObject(UDE) && U.M.objectToString(UDE) == "[object RegExp]";
 
- }
 
- /**
 
- * 判断是否为时间
 
- *
 
- * @param  {Date} 时间对象值
 
- * @return  {boolean} 是否为Date
 
- */
 
- U.Ut.isDate = function (UDE) {
 
-     return U.Ut.isObject(UDE) && U.M.objectToString(UDE) == "[object Date]";
 
- }
 
- /**
 
- * 判断是否为错误
 
- *
 
- * @param  {Error} 错误对象值
 
- * @return  {boolean} 是否为错误类型
 
- */
 
- U.Ut.isError = function (UDE) {
 
-     return U.Ut.isObject(UDE) && U.M.objectToString(UDE) == "[object Error]";
 
- }
 
- /**
 
- * 判断是否为函数类型
 
- *
 
- * @param  {function} 函数值
 
- * @return  {boolean} 函数对象值
 
- */
 
- U.Ut.isFunction = function (UDE) {
 
-     return ((typeof UDE == "function" && UDE.prototype) || U.M.objectToString(UDE) == "[object Function]");
 
- }
 
- /**
 
- * 判断是否为传参类
 
- *
 
- * @param  {object} 函数值
 
- * @return  {boolean} 返回是否为Arguments对象
 
- */
 
- U.Ut.isArguments = function (UDE) {
 
-     return (typeof (UDE == "object") && _$(UDE).has("callee"));
 
- }
 
- /**
 
- * 判断object是否是空对象
 
- *
 
- * @param  {object} 对象值
 
- * @return  {boolean} 是否空对象
 
- */
 
- U.Ut.isEmpty = function (UDE) {
 
-     var i, _UTF = true;
 
-     for (i in UDE) {
 
-         if (UDE.hasOwnProperty(i)) { _UTF = false; break; }
 
-     }
 
-     return _UTF;
 
- }
 
- /**
 
- * 判断是否为基础类型
 
- *
 
- * @param  {object} undefined function string number object
 
- * @return  {boolean} 是否空对象
 
- */
 
- U.Ut.isPrimitive = function (UDE) {
 
-     var i, _UCE = ["undefined", "function", "string", "number", "object"];
 
-     return _UCE.some(function (UCE, UIE) {
 
-         return (typeof UDE) == UCE;
 
-     });
 
- }
 
- /**
 
- * 判断是否为event对象
 
- *
 
- * @param  {event} 判断是否为event对象
 
- * @return  {boolean} 是否空event对象
 
- */
 
- U.Ut.isEvent = function (UDE) {
 
-     if (UDE) {
 
-         if (UDE == event) { return true; } //直接判断当前对象
 
-         else if (event && event.constructor) { //通过链接判断
 
-             return U.MS.Event.test(UDE.constructor.toString());
 
-         }
 
-         else if (typeof UDE == "object") { //判断srcElement
 
-             return UDE.srcElement !== undefined;
 
-         }
 
-     }
 
- }
 
- //
 
- /**
 
- * 判断对象是否为hemlcontrol
 
- *
 
- * @param  {element} 元素
 
- * @return  {boolean} 判断是否为正常元素
 
- */
 
- U.Ut.IHtmlC = function (UDOD) {
 
-     return UDOD.nodeType != null || UDOD == window || UDOD == document || UDOD.frames != null;
 
- }
 
- /**
 
- * 判断是否为元素
 
- *
 
- * @param  {element} 元素
 
- * @return  {boolean} 返回是否为元素 同时不为文本元素
 
- */
 
- U.Ut.isElement = function (UDOD) {
 
-     return !!(UDOD && UDOD.nodeType === 1);
 
- }
 
- /**
 
- * 函数的作用是给已有的集合添加新的属性。
 
- *说明:此函数代替U.Json中的Add方法,以避免调试难调,速度降低的问题
 
- * @param  {object} U.CD的自定义变量或者Array,Object等系统变量
 
- * @param  {object} 属性的集合,形如:{ "domain": "1473.cn", "SystemId": 0}
 
- */
 
- U.Ut.AddObj = function (obj1, obj2) {
 
-     for (var i in obj2) {
 
-         if (obj2.hasOwnProperty(i)) {
 
-             obj1[i] = obj2[i];
 
-         }
 
-     }
 
-     return obj2;
 
- }
 
- /**
 
- * 对象数组,需要批量给对象添加属性。
 
- * @param  {array} U.CD的自定义变量或者Array,Object等系统变量
 
- * @param  {object} 属性的集合,形如:{ "domain": "1473.cn", "SystemId": 0}
 
- */
 
- U.Ut.AddArr = function (UDE, UAE) {
 
-     for (var i = 0; i < UDE.length; i++) {
 
-         U.Ut.AddObj(UDE[i], UAE);
 
-     }
 
- }
 
- /**
 
- * 此函数代替U.Json中的Add方法,以避免调试难调,速度降低的问题。
 
- * @param  {object 、 array} 自定义变量或者Array,Object等系统变量,
 
- * @param  {object} 属性的集合,形如:{ "domain": "1473.cn", "SystemId": 0}
 
- */
 
- U.Ut.AddProperty = function (UDE, UAE) {
 
-     //判断是集合或者集合数组,分别调用上2个函数。
 
-     U.Ut.isArray(UDE) ? U.Ut.AddArr(UDE, UAE) : U.Ut.AddObj(UDE, UAE);
 
- }
 
 
  |