使用列表调用Javascript方法

Javascript method call with list

本文关键字:Javascript 方法 调用 列表      更新时间:2023-09-26

像这样调用javascript方法是正确的吗

 var flag = this.totalSubarrayLengths([ document.getElementsByTagName('ol'), document.getElementsByTagName('ul') ])
 var totalSubarrayLengths = function(container) {
        total = 0;
        for (var val in container) {
            var total += val.length;
        }
        return total;
    }

所以总的来说,没有。

  • 您尝试以this作为关键字调用函数,这是一个简单的函数而不是类。

  • 变量将被提升,该变量稍后将包含该函数,但没有内容。最好是使用函数语句function fn() {...},而不是函数表达式fn = function () {...},因为函数语句总是被提升,这意味着它们被移动到程序的开头,代码中的位置是无关紧要的。

  • 在函数中,total表示声明的每个循环,并且与+= an unexpected token结合使用。

  • 您必须使用val作为container计数的索引

var flag = totalSubarrayLengths([document.getElementsByTagName('ol'), document.getElementsByTagName('ul')])
function totalSubarrayLengths(container) {
    var total = 0, val;
    for (val in container) {
        total += container[val].length;
    }
    return total;
}
document.write('total: ' + flag);
<ul><li>ul</li></ul>
<ol><li>ol</li><li>ol</li><li>ol</li><li>ol</li></ol>