带列表的Javascript方法调用
这样调用javascript方法正确吗带列表的Javascript方法调用,javascript,Javascript,这样调用javascript方法正确吗 var flag = this.totalSubarrayLengths([ document.getElementsByTagName('ol'), document.getElementsByTagName('ul') ]) var totalSubarrayLengths = function(container) { total = 0; for (var val in container) {
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
+=
一个意外标记相结合
- 您必须使用
作为计数的val
容器的索引
var flag=totalsubraylength([document.getElementsByTagName('ol'),document.getElementsByTagName('ul'))
函数总子数组长度(容器){
var total=0,val;
用于(容器中的val){
合计+=容器[val]。长度;
}
返回总数;
}
文件写入(“总计:”+标志)代码>
- ul
- ol
- ol
- ol
- ol
顺便说一句,针对数组使用的中…的将把索引放在val
中,因此您不能将val.length
做错。你很快抛出了一个代码,作为第一个添加答案的人:)不,我理解在这样的情况下不应该做什么。大多数情况下,我宁愿是最后一个添加答案的人,但给出一个有效且解释清楚的答案。有时,被标记为正确答案的答案并不是投票数更多的答案。顺便说一句,没有人应该添加答案只是为了看看一个数字是如何增加的。。。