これらの本はレベルアップにおすすめでしょうか?
JavaScriptビジュアル・リファレンス
http://astore.amazon.co.jp/javascriptboo-22/detail/4844357808/376-8524211-1340127
発売日: 2004-11
プロとして恥ずかしくないJavaScriptの大原則
http://astore.amazon.co.jp/javascriptboo-22/detail/4844358707/376-8524211-1340127
発売日: 2006-07-15
JavaScript
http://astore.amazon.co.jp/javascriptboo-22/detail/4873110270/376-8524211-1340127
発売日: 2000-12
これらの本は、2000年~2006年の頃の本ですが、
その頃のjavascriptと現在のjavascriptではヴァージョンが変わってしまったりしていないでしょうか?問題がなければ全部買おうと思っています。
ちなみに、
JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで
http://www.amazon.co.jp/JavaScript%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%EF%BD%9E%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89Ajax%E3%83%BB%EF%BD%8AQuery%E3%81%BE%E3%81%A7-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4774144665/ref=pd_sim_b_4
という本は読みとおし、いろいろなサイトを見て勉強しています。
下記のようなコードを理解できるようになりたいです。
例えば
最初のfunction find (_, n) {の部分で_は何か、nに何が入るのか…
function (n, i) { find.call (this[i], null, n); }でnとiの引数に何が入るのか、this[i]は配列?これは何か…
などです。
</select>
</ol>
<p>
<input type="reset" onclick="allDisp()">
<img src="sample.jpg" onclick="find2()" alt="検索ボタン">
</p>
</form>
</div>
<ul id="BUKKEN">
<li>
<ol>
<script>
function find (_, n) {
var e = this;
var d = this.ownerDocument;
var v = e.value;
var r, l;
if (v && n) {
l = d.querySelectorAll ('#BUKKEN > li > ol > li:nth-of-type(' + n + ')');
switch (n) {
case 2 : case 3 :
r = Array.prototype.filter.call (l, function (e) {
return this.test (e.textContent) }, new RegExp (v));
break;
case 4: //case4は価格
var t = v.split (','); //varの追加
r = Array.prototype.filter.call (l, function (e) {
var n, m;
if (n = e.textContent.match (/(\d+)/)) {
m = +n[1];
if (this.min <= m && m < this.max) {
return true;
}
}
}, {min: +t[0], max: +t[1]});
break;
}
if (r)
Array.prototype.forEach.call (d.querySelectorAll ('#BUKKEN > li'),
function (e) { if (-1 == this.indexOf (e)) e.style.display = 'none'; },
r.map (function (e) { return e.parentNode.parentNode; }));
}
}
function find2 () {
allDisp ();
[3,2,4].forEach (
function (n, i) { find.call (this[i], null, n); },
document.querySelectorAll ('#kensaku select[name^="sel_"]')
);
}
function allDisp () {
Array.prototype.forEach.call (
document.querySelectorAll ('#BUKKEN > li'),
function (e) { e.style.display = 'list-item'; }
);
}
</script>
お礼
有難う御座います、一度試してみます。