自己封装 js函数用来判断数据类型
方文锋
2020-04-02 17:50:39
1220
首页学习JavaScript
/*检测是否是数组*/
window.is_array = function (argument) {
return argument && (typeof argument === "object") && ("length" in argument) && (typeof argument.length === "number") ? true : false;
/*return ("isArray" in Array) && (Array.isArray(argument))*/
/*return Object.prototype.toString.call(argument)==="[object Array]"*/
}
/*检测是否是对象*/
window.is_object = function (argument) {
if (argument && (typeof argument === "object") && ("length" in argument)) {
return Object.prototype.toString.call(argument) === "[object Object]";
}
return argument && (typeof argument === "object") && !("length" in argument) ? true : false;
}
/*检测是否是函数*/
window.is_function = function (argument) {
return argument && typeof argument === "function" ? true : false;
}
/*检测是否是字符串*/
window.is_string = function (argument) {
return argument && typeof argument === "string" ? true : false;
}
/*检测是否是布尔值*/
window.is_boolean = function (argument) {
return typeof argument === "boolean" ? true : false;
}
/*检测是否是数字(数值)*/
window.is_number = function (argument) {
return typeof argument === "number" ? true : false;
}
/*检测是否是未定义*/
window.is_undefined = function (argument) {
return typeof argument === "undefined" ? true : false;
}
/*检测是否是为空*/
window.is_null = function (argument) {
return argument === null || argument === "" ? true : false;
}
/*
**@array_or_json array|object 数组或对象 @fun function 回调函数
**@fun回调函数要三个参数表示: 数组(或对象),下标(key),value
*/
window.foreach = function (array_or_json, fun) {
if (is_array(array_or_json)) {
if (typeof fun === "function") {
for (var i = 0, len = array_or_json.length; i < len; i++) {
fun(array_or_json, i, array_or_json[i]);
}
}
}
if (is_object(array_or_json)) {
if (typeof fun === "function") {
for (var att in array_or_json) {
fun(array_or_json, att, array_or_json[att]);
}
}
}
}