JS判断变量是不是数组,你能写出哪些方法?(JavaScript面试题)

方式一:isArray

var arr = [1,2,3];
console.log( Array.isArray( arr ) );

方式二:instanceof 【可写,可不写】

var arr = [1,2,3];
console.log( arr instanceof Array );

方式三:原型prototype

var arr = [1,2,3];
console.log( Object.prototype.toString.call(arr).indexOf('Array') > -1 );

方式四:isPrototypeOf()

var arr = [1,2,3];
console.log(  Array.prototype.isPrototypeOf(arr) )

方式五:constructor

var arr = [1,2,3];
console.log(  arr.constructor.toString().indexOf('Array') > -1 )

面试的时候,其实打下面这4点就可以了。

1、Object.prototype.toString.call()

2、通过原型链做判断 obj.__proto__===Array.prototype

3、Array.isArray()

4、instanceof

猜你喜欢

转载自blog.csdn.net/weixin_54614831/article/details/126433632