元スレ+ JavaScript の質問用スレッド vol.117 +
JavaScript覧 / PC版 /みんなの評価 :
51 = :
var a = [1,2];
var b = 3;
aとbを足してcに[1,2,3]を代入する方法を方法を教えてください
やっぱり
c = a
c.push(b)しかないんですかね
52 = :
>>51
何種類か方法があると思うけど、何が最適かは場合によると思う。連続で何回も配列の値を増やし続けなきゃいけないとか、単純に一回だけとか。
53 = :
>>49
するよ
54 = :
>>51
c = a.concat(b);
55 = :
>>51
それだとaの内容も変わっちゃうから>>54以外にない
57 = :
引数の型が決まっている関数は毎回型チェックし、異なれば例外を投げるべきですか?
58 = :
>>57
例外を投げるか型変換すべき
59 = :
intって使えたっけ?
60 = :
スレ間違えました
61 = :
var a = "<hoge1hoge2>";
a.match(/<[^<>]+>/); // ["<hoge1hoge2>"]
返り値を"hoge1hoge2"にしたいのですがどうしたらいいですか
a.match(/<([^<>]+)>/)[1];としたらいけましたがマッチが一つだけのときこれは一般的でしょうか
あと<>以外は使わないからという理由で[^<>]+としてますけどこれも一般的な方法でしょうか
63 = :
letが使えるなら全てletにするべきですか?
64 = :
>>63
古いブラウザの対応が要らないってことだよね?
ならletでいいんじゃないかな。
するべきとまでは言わないけど、letの方が好ましいし、
varを使う理由はないと思う。
66 = :
>>61
例えば、http://aaa/bbb/ccc のaaaを取り出すには、
http://([^/]+)/ とする(エスケープを無視しています)
matchはオプション無しで、複数箇所に該当するの?
普通は、/パターン/g と、gオプションを付けると、
すべてにマッチするんだが
67 = :
<div>
<p>a</p>
<p>b</p>
<p>c</p>
</div>
子要素がいくつあるかわからないjqueryでこんな感じで書いてるんですけど
$(document).on('click', 'div>p', function(e){
});
これを生のjavascriptでどういうふうに書くのか教えてください
68 = :
ソース読め
69 = :
var a = {a:1}
var b = {b:2}
aとbを結合して{a:1,b:2}にする方法を教えて下しあ
71 = :
そんな地道な方法しかないのですかショック
72 = :
一行でかけるのに地道ってよくわからないが。
lodashを使ったら、一行で書ける。これより単純なものはないと思うけどね。
http://lodash.com/docs#merge
_.merge(names, ages);
// → { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
74 = :
>>67
html
<div id="hoge">
<p>a</p>
<p>b</p>
<p>c</p>
</div>
javascript
var div = document.getElementById('hoge');
var nodes = div.childNodes;
var i=0,n;
for (;n=nodes[i++];) {
if (n.nodeName !== 'P') { continue; }
n.addEventListener('click',function(e){alert(e.clientY);},false);
}
75 = :
>>73
複数ある$(".hoge")のすべてに、animate()の終わりに自分以外のanimate()が終了していたら
コールバック実行それ以外スルー、というフラグを立てる
76 = :
>>75
それはダサいね。
最近はフラグ=バッドノウハウ と考えていいぐらいだと思うわ。
promise使えるんだからそれでできるじゃない?って
思ったらこんなの見つけた。
http://tsmd.hateblo.jp/entry/2013/01/18/173509
試してないけど、これでいいんじゃね?
77 = :
>>74
そりゃだめだろw
$(document).on(イベント, セレクタ)の形をとってるんだから
addEventListernerはdocumentiに対して実行しなきゃ。
と問題の指摘はするけど、面倒だから俺は書く気無いけどね。
素直にjQuery使えと。
78 = :
>>67
document.addEventListener('click', function (event) {
var target = event.target, parentNode = target.parentNode;
if (target.tagName !== 'P' || !parentNode || parentNode.tagName !== 'DIV') {
return;
}
// 処理
}, false);
79 = :
意外と知られてないけど、jQueryで
$(document).on('click', 'div>p', function(e){
});
ってやったとき、div>p にマッチする要素だけじゃなくて、その子要素をクリックしてもハンドラが呼ばれる
ソースを読むと、targetがセレクタにマッチしてるかどうかだけではなくて、
targetの祖先要素がセレクタに引っ掛かるかも調べてる
80 = :
>>79
つまり、
<a href="URL"><strong>ここ</strong>をクリック</a>
っていう場合の、「ここ」をクリックしてもリンクが
発動するのと同じことでしょ?
あたりまえだと思うのだけど。
81 = :
82 = :
>>78がそうなってないって言いたいんだろ
83 = :
意外と知られてないって書いてあるから、
よく知られてるって言ってるんだよ。
84 = :
85 = :
jQueryと同等のものを書こうとすると
大変だなぁってのがよく分かるね。
86 = :
>>80
確かにそうだけど、>67では接触しないから端折った
parentNodeを遡ればいいから修正はそれほど難しくないかと
87 = :
イベントハンドラを設定した要素を削除したときってイベントハンドラの情報はメモリに残ったままになりますか?
88 = :
ブラウザにバグとかなければ大丈夫だと思うが、
そういう時でも安全に要素を削除できるというのが
jQueryのメリットの一つだし、特定のブラウザでは問題あるかもね。
89 = :
つまりイベントハンドラを削除してから要素を削除するべきですか?
90 = :
>>74
そもそもこれは子要素全てにイベント定義してるから>>67のとずれてるよね
91 = :
仕事でやる場合javascriptをそのまま書くのとjqueryなどの総合ライブラリを使うのどっちが多いですか?
92 = :
>>91
いろんな企業のサイト見て、jQuery使っているかどうか判断すればいい。
93 = :
jQuery使っている所が大半だろ。
そうじゃない所はjQueryでは力不足で
もっと大きなライブラリを使うような所
94 = :
>>89
jqueryを使ってないならそうする
95 = :
>>91
jqueryはもはやJavaScriptの一部みたいなものなので使わないことはあり得ない
96 = :
プログラマ業界ではjavascriptの仕事は多いですか?
97 = :
>>89
removeChild してから removeEventListener でも良い
どちらにしても removeEventListener は実行する
98 = :
>>96
いわゆるフロントエンドエンジニアになりたいならjsに精通してて1から書けたりメンテナンスができるような知識が必要。最近はそういう需要が増えていると思う。
99 = :
foo && ( bar = func(c) );
こんな形の式ってどういう処理になるんですか?
if条件になってるわけでも、結果を何かに代入してるわけでもないし、ビット演算かと思ったら違うみたいだし
100 = :
糞コードだねw
if (foo) {
bar = func(c);
}
これと一緒。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について