JS面试题2——判断变量是不是数组有哪些方法

  1. isArray

var arr = [1,2,3];

console.log( Array.isArray( arr ) );

javascript 复制代码
<script>
var arr = [1,2,3];
var str = '你好';
console.log( Array.isArray( arr ) ); // true
console.log( Array.isArray( str ) ); // false
</script>
  1. instanceof

var arr = [1,2,3];

console.log( arr instanceof Array );

javascript 复制代码
<script>
var arr = [1,2,3];
var str = '你好';
console.log( arr instanceof Array ); // true
console.log( str instanceof Array ) ); // false
</script>
  1. prototype

var arr = [1,2,3];

console.log( typeof Object.prototype.toString.call(arr).indexOf(Array) != -1 );

javascript 复制代码
<script>
var arr = [1,2,3];
var str = '你好';
console.log( Object.prototype.toString.call(arr) ); // 打印出 [object Array]
console.log( typeof Object.prototype.toString.call(arr) ); // 打印出string
console.log( typeof Object.prototype.toString.call(arr).indexOf(Array) ); // 如果不是-1,就证明是数组
console.log( typeof Object.prototype.toString.call(arr).indexOf(Array) != -1 ); // 打印true或false
</script>
  1. isPrototypeOf

var arr = [1,2,3];

console.log( Array.prototype.isPrototypeOf(arr) );

javascript 复制代码
<script>
var arr = [1,2,3];
var str = '你好';
console.log( Array.prototype.isPrototypeOf(arr) );
</script>
  1. constructor

var arr = [1,2,3];

console.log( arr.constructor.toString().indexOf('Array') > -1 );

javascript 复制代码
<script>
var arr = [1,2,3];
console.log( arr.constructor.toString().indexOf('Array') > -1 );
</script>
相关推荐
前端小小王34 分钟前
React Hooks
前端·javascript·react.js
迷途小码农零零发43 分钟前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
晓纪同学1 小时前
QT-简单视觉框架代码
开发语言·qt
威桑1 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服1 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
娃哈哈哈哈呀1 小时前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans1 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#