$( "p" ) .append( $( "input" ).map(function() { return $( this ).val(); }) .get() .join( ", " ) );
<form> <input type="text" name="name" value="John"> <input type="text" name="password" value="password"> <input type="text" name="url" value="http://ejohn.org/"> </form>
這是我從官網拿出來的一個examplejavascript
本人曾經很困惑,不明白爲何在map方法的後面要在調用一個get方法。按照理論來講,map 返回出來的數據應該一個數組(集合)。 能夠直接調用join方法轉化爲string.html
仔細閱讀文檔後發現這裏有文章。java
我原來混淆的javascript object/array(其實就是dom) 和jqeruy object/ array這兩個概念jquery
其實javascript的對象和數組和jquery的是相互不能識別的。 數組
當我發現了這個」祕密「以後,就大概明白爲何須要get 方法了app
.get(): Retrieve the DOM elements matched by the jQuery object.dom
這是官網的定義。就是把jquery 對象轉爲dom 對象。 全部的dom對象都是能夠被javascript所使用的。這裏jquery其實就是經過get這個機制來順利過渡二者。ide
因此咱們回頭看上面這個例子 this
map 返回了jquery array 而後經過get方法轉爲javascript dom array。 最後調用join方法變爲string.url