JS中的文本函数第一个参数(_)

时间:2015-01-10 02:40:17

标签: javascript jquery

<p class="myString">something to remove xxx here within a tag</p>

$('p.myString').text(function(_, txt) {
    return txt.replace('xxx', '');
});

上面的代码工作但第一个参数是什么?一个_

3 个答案:

答案 0 :(得分:3)

正如documentation所说,第一个参数是您当前正在处理的元素的索引。

答案 1 :(得分:2)

名为_的参数通常表示此参数将被忽略,并且不在函数中使用。这只是一个约定,它仍然是一个有效的参数名称,并且没有任何东西阻止您无论如何使用此参数。

如果使用它,参数究竟是什么取决于框架 - 在这种情况下是另一个答案中提到的jQuery文本函数。

答案 2 :(得分:1)

在您的代码段中,_位于index的位置,它位于.text(fn)回调功能的第一个参数中一个是集合中的元素:

$('p.myString').text(function(_, txt) {
    return txt.replace('xxx', _); // it changes all the "xxx" with their index values
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>
<p class="myString">something to remove xxx here within a tag</p>

您可以看到_代表元素的索引,因为_they相对于其父_出现。