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>
相关推荐
板鸭〈小号〉7 分钟前
Socket网络编程(1)——Echo Server
开发语言·网络·php
明天会有多晴朗8 分钟前
C语言入门教程(第1讲):最通俗的C语言常见概念详解与实战讲解
c语言·开发语言·c++
华仔啊12 分钟前
前端必看!12个JS神级简写技巧,代码效率直接飙升80%,告别加班!
前端·javascript
excel12 分钟前
dep.ts 逐行解读
前端·javascript·vue.js
爱上妖精的尾巴14 分钟前
5-20 WPS JS宏 every与some数组的[与或]迭代(数组的逻辑判断)
开发语言·前端·javascript·wps·js宏·jsa
excel22 分钟前
Vue3 响应式核心源码全解析:Dep、Link 与 track/trigger 完整执行机制详解
前端
gopher951130 分钟前
Go 语言的 panic 和 recover
开发语言·golang
前端大卫31 分钟前
一个关于时区的线上问题
前端·javascript·vue.js
豆沙沙包?32 分钟前
2025年--Lc165--H637.二叉树的层平均值(二叉树的层序遍历)--Java版
java·开发语言
whltaoin1 小时前
中秋赏月互动页面:用前端技术演绎传统节日之美
前端·javascript·html·css3·中秋主题前端