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>
相关推荐
_OP_CHEN1 分钟前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒3 分钟前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
m0_748708055 分钟前
C++中的观察者模式实战
开发语言·c++·算法
PHP武器库6 分钟前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
方也_arkling12 分钟前
Element Plus主题色定制
javascript·sass
电商API_1800790524714 分钟前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
晓晓莺歌16 分钟前
vue3某一个路由切换,导致所有路由页面均变成空白页
前端·vue.js
qq_5375626717 分钟前
跨语言调用C++接口
开发语言·c++·算法
wjs202428 分钟前
DOM CDATA
开发语言
Tingjct29 分钟前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法