我正在学习js/jquery,并在做this练习,按字母顺序排列选择选项。这是解决他们给:试图了解.each()回调,排序选择选项
<div id="target">
<select>
<option val="a">aaa</option>
<option val="c">ccc</option>
<option val="d">ddd</option>
<option val="b">bbb</option>
</select>
</div>
<script>
var options = {};
$('#target option').each(function(i){
var option = $(this);
options[option.text()] = option;
});
var keys = Object.keys(options).sort();
var select = $('#target select').empty();
$.each(keys, function(i, key){
select.append(options[key]);
});
</script>
是否
i
参数的$.each
回调函数涉及到$('#target option').each(function(i)
的i
参数?如果是这样,为什么从
$('#target option').each(function(i)
中删除参数不会破坏什么?什么是
i
参数在做$.each(keys, function(i, key)
?我只看到该函数中使用的关键字。从这里删除i
确实会中断程序。
啊好吧。我显然不明白回调是什么。目前为止只看到了“forEach”。为了澄清,顺序对于回调中的参数而言非常重要,而不是它们被称为什么? – unident77
回调函数是正常函数 - 我们只是称它们为回调函数,因为它们是从另一个函数回调的。因此,你已经知道的有关参数如何与函数调用一起工作的所有信息都可以与回调一起使用。所以'function square(b){return b * b; }'和'function square(x){return x * x; }'完全等效 - 与回调函数相同。 – Amadan