参数内部函数如何工作?

时间:2013-07-17 11:56:52

标签: jquery

HTML

<p>This is a <b>bold</b> paragraph.</p>
<button>Add</button>

jquery的

$("button").click(function(){
    $("p").text(function(i,origText){
      return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; 
    });
  });

我想知道 origText 不是在函数外部调用,而是返回值。怎么样?

demo

4 个答案:

答案 0 :(得分:2)

As docs says

  

功能(索引,文字)

     

返回要设置的文本内容的函数。接收集合中元素的索引位置和旧文本值作为参数。

How does jQuery’s .text() work, internally?

答案 1 :(得分:2)

实际方法text将函数作为参数。传递给text的函数可能包含两个参数,第一个接收索引,第二个接收原始文本。

答案 2 :(得分:0)

函数text对输入节点做了一些准备,然后运行用户(你的函数)提供的回调,并将这两个参数(准备在“一些准备工作”)步骤传递给你的回调。如果你想要完全代码,你可以阅读jQuery源代码。

答案 3 :(得分:0)

简单来说:

text(function(whatever){
      return whatever; // returns the text what is the text it has.
    });

在您的示例 p 中有文字:这是一个粗体段落。

返回任何会返回文字的内容:这是一个粗体段落。