任何人都可以解释为什么我可以将原生JavaScript函数链接到jQuery函数,如下所示:
$('#search').val().replace("00:00:00", "")
在这种情况下,replace是本机JavaScript函数。
http://www.w3schools.com/jsref/jsref_replace.asp
由于
答案 0 :(得分:4)
在这种情况下,val()
必须返回string
值,因此replace
按预期工作。它与调用返回string
并链接
function example() {
return "foo";
}
example().replace("00:00:00", "");
答案 1 :(得分:1)
正如Jamie所说,这些功能从左到右进行评估。所以val()返回一个类型字符串,其方法为replace
。
jquery函数都是可链接的原因是因为它们返回每次返回时由选择器创建的原始对象的引用。
除了val(),text(),html()和其他几个。
答案 2 :(得分:1)
这是因为:
$('#search').val().replace("00:00:00", "")
将评估为:
"some string".replace("00:00:00", "")
这没什么特别的。它基本上总是归结为从左到右评估函数,在以下情况下:
$('#search').eq(0).val().replace("00:00:00", "")
<jQuery obj>.val().replace("00:00:00", "")
"some string".replace("00:00:00", "")