最后一句话怎么解释?

<p>判断是否为数组。</p>
<p id="demo"></p>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = isArray(fruits);
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
</script>

一只名叫tom的猫
浏览 103回答 3
3回答

繁星coding

我也在这看了半天没弄明白现在大概懂了function isArray(myArray) {return myArray.constructor.toString().indexOf("Array") > -1;}fruits传到myArray在这个函数里myArray.constructor.toString()的结果就是function Array() { [native code] }indexof(Array)如果在function Array() { [native code] }中存在就会返回一个正数,大于-1;如果在function Array() { [native code] }中不存在那么会返回-1,-1不大于-1所以返回false

白衣染霜花

myArray.constructor.toString() 是字符串function Array() { [native code] },function Array() { [native code] }中Array在function这8个字母后面,从0(f为0)编号,一直到7,空格算1个,所以Array从第9个字符开始出现,所以 myArray.constructor.toString().indexOf("Array") 输出数字为9。你可以尝试把 myArray.constructor.toString().indexOf("function") >-1或者 myArray.constructor.toString().indexOf("function") >0 尝试一下,或者把Array换成native试试

沧海一幻觉

在本例中,我们将在 "Hello world!" 字符串内进行不同的检索:<script type="text/javascript">var str="Hello world!"document.write(str.indexOf("Hello") + "<br />")document.write(str.indexOf("World") + "<br />")document.write(str.indexOf("world"))</script>以上代码的输出:0-16
打开App,查看更多内容
随时随地看视频慕课网APP