以下jQuery代码如何工作?

ra1*_*170 2 jquery

遇到一个代码,并想知道为什么这个工作?

$.fn.appendVal = function(txt) { return this.each(function(){ this.value += txt; }); }; 
Run Code Online (Sandbox Code Playgroud)

与简单相反:

 $('#sometextboxaspcontrol').value +=txt;
Run Code Online (Sandbox Code Playgroud)

顺便说一句.我知道'简单'没有,但为什么?

Joe*_*nez 7

这创建了一个jquery插件,基本上与底部示例做同样的事情.你是对的,底部应该是等价的(除了其他响应中提到的语法问题),但我猜测顶部片段是作为如何扩展jquery的一个例子而创建的,这最终会变得非常强大.

它可以让你写:

$('#sometextboxaspcontrol').appendVal(txt);
Run Code Online (Sandbox Code Playgroud)

可以想象,抽象可以在保持非常简单的公共API的同时进行扩展.

  • 你也可以链接它. (2认同)