我用for in 遍历,为什么会调用我封装的getMax功能?

我用for in 遍历,为什么会调用我封装的getMax功能?图中的println是我封装的document.write功能
     <script type="text/javascript" src="tool.js"> </script>

     <script type="text/javascript" >

var arr = [32,80,65];

         for(r in arr )
         {
             println(r);

         }

             println("<hr/>");

img

我的解答思路和尝试过的方法
我想要达到的结果

你题目的解答代码如下:

function getMax(arr) {
    var max = arr[0];
    for (var n in arr) {
        if (arr[n]>max)
            max = arr[n];
    }
    document.write(max);
}
var arr = [32,80,65];
getMax(arr);

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

for in一般用于遍历对象,你给Array原型添加getMax方法,抽象理解,相当于给arr添加了属性getMax,arr.getMax,所以可以遍历出来
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for...in