我正在使用此代码。现在,只是为了检查,我打印 typeof arr 并显示" object"在控制台中。虽然,我在开始时将 arr 声明为数组。它被转换为对象吗? 这是代码:
<script>
function getDomainsOfEmails(text) {
var arr=new Array;
var regex= /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}/g;
var matches= text.match(regex);
for(var i=0; i<matches.length; i++){
arr[i]=matches[i].match(/@[a-z0-9.-]+\.[a-z]{2,4}/);
}
for(j=0; j<arr.length; j++){
console.log(arr[j]);
}
console.log(typeof arr);
}
getDomainsOfEmails("vikaskumar2299@gmail.com is not a mail? Is vikas@xmail.com ? No? google.com? sachin@gmail.comsds gmail.com");
</script>
另外,我想知道它是否是一个对象,它的属性和值是什么?
答案 0 :(得分:3)
显然是根据以下结果
typeof Array()
返回"object"
Array() instanceof Object
返回true
更新:根据API文件
所有Array实例都继承自Array.prototype。可以修改Array构造函数的原型对象以影响所有Array实例。
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Properties_2
答案 1 :(得分:-1)
是阵列只是对象
创建一个数组
var arr = new Array();
arr .____ proto____(原始链接stackoverflow正在消耗2个不需要的内容) - &gt; Array.prototype
Array.prototype ---&gt; Object.prototype中
[1,2,3] instanceof Object ---&gt;真