jQuery - 链接本机函数

时间:2011-08-18 15:50:28

标签: javascript jquery

任何人都可以解释为什么我可以将原生JavaScript函数链接到jQuery函数,如下所示:

$('#search').val().replace("00:00:00", "")

在这种情况下,replace是本机JavaScript函数。

http://www.w3schools.com/jsref/jsref_replace.asp

由于

3 个答案:

答案 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", "")