追梦子博客版权所有。
// 判断arr是否为一个数组,返回一个bool值
方法1:
function isArray(arr) {
var str = arr.__proto__.constructor;
var reg = /function ([w]+)(/;
return reg.exec(str)[1]==="Array";
}
console.log(isArray([]))
方法2:
function isArray(arr) {
var str = {}.toString.call(arr);
var reg = /[object (w+)]/;
return reg.exec(str)[1]==="Array";
}
console.log(isArray([]));
方法3:
function isArray(arr) {
return arr instanceof Array;
}
console.log(isArray([]));
// 此方法不建议使用,因为判断Object也返回true
方法4:
function isArray(arr) {
return Array.prototype.isPrototypeOf(arr);
}
console.log(isArray([]));
// 不建议使用,因为只要是有继承,都会返回true
// 判断fn是否为一个函数,返回一个bool值
方法1:
function isFunction(fn) {
return (typeof fn)==="function";
}
console.log(isFunction(function(){}))
其他方法和判断数组一样。