// 实现一个函数,用于检测一个值是否为数组:
// 不使用Array.isArray方法。
// 可以通过检查对象的原型链来确定一个值是否为数组,在js中,数组的原型是Array.prototype
// 声明一个函数isArray,传入一个值,返回一个布尔值,表示该值是否为数组
function isArray(value) {
return Object.prototype.toString.call(value) === '[object Array]'
}
// 用法
console.log(isArray([])); // 输出:true
console.log(isArray([1, 2, 3])); // 输出:true
console.log(isArray(new Array())); // 输出:true
console.log(isArray({})); // 输出:false
console.log(isArray(null)); // 输出:false
console.log(isArray(undefined)); // 输出:false
console.log(isArray('hello')); // 输出:false
这道手写题,更容易帮助我们理解原型以及原型链。