判断一个变量是不是为数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断一个变量是不是为数组相关的知识,希望对你有一定的参考价值。

参考技术A 怎么判断一个变量是不是数组呢?由于数组也是对象,用typeof方法,输出的是Object,所以typeof肯定不能判断一个变量是否为数组了,今天主要记录其他集中判断变量是不是数组的方法。

所以arr instanceof Array 返回true即可判断arr是数组。

如果返回true就是数组。

instanceof 和constructor判断的变量,必须在当前页面声明的,比如,一个页面中有一个子页面,子页面中声明了一个arr并将其赋值给父页面,在父页面应用23方法都是不可以的。
原因:
1、array属于引用类型,在数据传递过程中,仅仅是引用地址的传递。
2、每个页面的Array原生对象所引用的地址是不一样的,在子页面中声明的arr,所对应的构造函数是子页面的Array对象,父页面来判断并不等于子页面的Array

这个返回true的话就是数组啦~

js判断一个变量或对象是不是存在

1、首先创建两个文件,一个jstest.html,一个jstest.js文件。

2、打开html在里面引入jstest.js。

3、打开jstest.js文件,创建一个方法aa。

4、然后接着使用if(typeof  aa=="function")判断如果aa方法存在就提示"aa方法存在",否则弹出"aa方法不存在",明显aa是存在的。

5、接着使用if(typeof  cc=="function")判断如果cc方法存在就提示"cc方法存在",否则弹出"cc方法不存在",因为我们没有定义cc这个方法,所以cc不存在。

6、打开jstest.html,第一会提示,“aa方法存在”。

参考技术A 实例:

<html>
<body>
<script type="text/javascript">
if (typeof(ActiveXObject)=="undefined")
alert("不存在ActiveXObject")
else
alert("存在ActiveXObject!!")

</script>

</body>
</html> //返回的是:存在ActiveXObject,因为该对象是js里已经制定的对象已经由js定义声明过的,只要是js制定存在的都是非 undefined

但是如果改为:typeof(ActiveXObject1)=="undefined” 则返回的是不存在了ActiveXObject1

另外typeof(t1)=="undefined” 如果这个对象不存在于该脚本范围内,或者如果t1 是声明的变量但是没有初始化也就是没有赋值两者都会返回undefined

判断元素是否存在:

<script language="javascript">
function changelocation()

if(document.getElementById("payment_info"))
alert('true');
else
alert('false');

</script>

<body onload="changelocation()">
<div id="payment_info1" > </div>
</body>
参考技术B //判断变量i是否存在typeof(i)=="undefined": 未定义//原始JS判断一个id为div的元素是否存在if(document.getElementById("div))//此时div存在//jquery判断一个元素是否存在本回答被提问者采纳

以上是关于判断一个变量是不是为数组的主要内容,如果未能解决你的问题,请参考以下文章

js 判断数组是不是为空数组

请问js怎么判断一个变量是对象还是数组呢?

MATLAB 如何判断某变量等于某数组中的一个元素

如何判断javascript中的变量是不是为数组?

如何判断一个变量是数组Array类型

php 中 判断数组中是不是有值