在浏览有关“ W3Schools”的JavaScript教程时,我发现了这段代码,解释了如何确定对象是否为数组。
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
我不知道该特定行如何执行。
答案 0 :(得分:1)
即使该问题已接受有关正确使用Array.isArray()
的答案
问题是关于从W3Schools执行特定的代码,因此出于教育的原因,代码示例中发生了什么。
myArray.constructor
是对对象构造函数的引用。 Link
考虑到这一点,我们可以继续:
myArray.constructor.toString()
将结果输入
function Array(){ [本地代码]}
函数indexOf
将返回字符串序列在其他字符串序列中的位置。如果找到我们要查找的字符串,它将返回int
位置。如果没有,indexOf
将返回-1。
函数可以描述为:如果对象的字符串化构造函数中“数组”的位置大于-1,则对象为数组。
希望这会有所帮助。