javascript - 关于判断数组的方法
伊谢尔伦
伊谢尔伦 2017-04-10 15:35:12
[JavaScript讨论组]
我知道一种判断数组的方法是typeof arr instanceof Array.但是在网上看到说什么在不同框架下就不能这么判断?什么iframe的,怎么样才算不一样的框架?能举个例子吗?

v instanceof Array will return false if v was created in another frame (v is instance of thatFrame.contentWindow.Array class). 
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
高洛峰

一个例子:

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]

// Boom!
arr instanceof Array; // false

// Boom!
arr.constructor === Array; // false

原文地址: instanceof considered harmful (or how to write a robust isArray)

ringa_lee

这个好啊,以前还真不知道,这会儿赶紧恶补一下!!!

PHP中文网
javascriptObject.prototype.toString.apply([]).slice(8,-1)
阿神

用instanceof typeof 本来就不是一个好方法

Object.prototype.toString.call(arr).toUpperCase() === "[OBJECT ARRAY]"
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号