遇到一个代码,并想知道为什么这个工作?
$.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)
顺便说一句.我知道'简单'没有,但为什么?
这创建了一个jquery插件,基本上与底部示例做同样的事情.你是对的,底部应该是等价的(除了其他响应中提到的语法问题),但我猜测顶部片段是作为如何扩展jquery的一个例子而创建的,这最终会变得非常强大.
它可以让你写:
$('#sometextboxaspcontrol').appendVal(txt);
Run Code Online (Sandbox Code Playgroud)
可以想象,抽象可以在保持非常简单的公共API的同时进行扩展.