私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.133 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
いずれにしても、見た目上は左が前で右が後だけど、ここでいわれる「前」と「後」は 前(previousSibling) と後(nextSibling)?
DOMノードレベルとブラウザに描画されるレベルでは、前後の定義が変わるのでは?
DOMノードレベルとブラウザに描画されるレベルでは、前後の定義が変わるのでは?
>>601
なに言ってるんだ? 先に現れたのが前だろ
なに言ってるんだ? 先に現れたのが前だろ
チェーンの数を動的に変更したいのですがどうすればいいでしょうか。
func(){
hoge.a().a().a().a();
}
このa()をfunc(1)のときは1回で実行結果が
hoge.a();
func(2)のときは3回で実行結果が
hoge.a().a().a();
みたいにやりたいのです
func(){
hoge.a().a().a().a();
}
このa()をfunc(1)のときは1回で実行結果が
hoge.a();
func(2)のときは3回で実行結果が
hoge.a().a().a();
みたいにやりたいのです
もちろん
func(n){
switch(n){}
}
的なのは考えましたが
例えばnが大きくなると大変になりそうなので
func(n){
switch(n){}
}
的なのは考えましたが
例えばnが大きくなると大変になりそうなので
>>607
単純なループで良い
難しく考える必要はない
func(n){
var o = hoge;
for (var i = 0; i < n; i++) {
o = o.a();
}
return o;
}
単純なループで良い
難しく考える必要はない
func(n){
var o = hoge;
for (var i = 0; i < n; i++) {
o = o.a();
}
return o;
}
難しく考える必要はない
せっかくJSを使ってるのだからこれでいい
eval( 'o'+'.a()'.repeat(n) )
せっかくJSを使ってるのだからこれでいい
eval( 'o'+'.a()'.repeat(n) )
難しく考える必要はない
単純にreduceでいい
func(n) {
Array(n).fill().reduce(acc => acc.a(), o);
}
単純にreduceでいい
func(n) {
Array(n).fill().reduce(acc => acc.a(), o);
}
いろいろ間違えた
function func(n) {
Array(n).fill().reduce(acc => acc.a(), hoge);
}
function func(n) {
Array(n).fill().reduce(acc => acc.a(), hoge);
}
でもreduceってIE9からしか使えないしな。
fillとか存在の意味が分からんし
そんなに一行で書きたいなら
func(n){
for (var i = 0, o = hoge; i < n; i++) o = o.a()
}
fillとか存在の意味が分からんし
そんなに一行で書きたいなら
func(n){
for (var i = 0, o = hoge; i < n; i++) o = o.a()
}
func(n){
var o = hoge, while (n--) o = o.a();
}
var o = hoge, while (n--) o = o.a();
}
そんなこと言ってもIE9なんてもはや気にしてないし。
サポート切れて喜んでたじゃんお前ら。
サポート切れて喜んでたじゃんお前ら。
fillが嫌ならこんなのでもいいぞ。
function func(n) {
[...'.'.repeat(n)].reduce(acc => acc.a(), hoge);
}
function func(n) {
[...'.'.repeat(n)].reduce(acc => acc.a(), hoge);
}
hoge.b = function(n){
for(var i = 0; i < n; i++){
this.a();
}
return this;
};
?
for(var i = 0; i < n; i++){
this.a();
}
return this;
};
?
>>618
ドット好き過ぎwww
ドット好き過ぎwww
>>615
MSは既にIE10以下を切り捨ててるけど、あなたのサポート対象はどこまで?
MSは既にIE10以下を切り捨ててるけど、あなたのサポート対象はどこまで?
ハァ?じゃあ配列も活用してるだろうが…
ちょっと考えておかしいと思わんかな
ちょっと考えておかしいと思わんかな
Rangeの端を指す用語は何でしょうか?
isPointInRangeのようなメソッド名があるのでポイントでいいでしょうか?
isPointInRangeのようなメソッド名があるのでポイントでいいでしょうか?
無駄がどうのと言ってるわりにevalはいいの?基準がよくわからんな
reduceでn回繰り返すために配列を生成するのは無駄、単純ではない
forでn回繰り返すために一時変数を生成するのは無駄ではない、単純
主観じゃん。forに慣れてるだけ。
たしかに無駄になるコストはforのための一時変数の方が配列より低いと思うよ。
でもそのわりにevalは認めちゃってるし…
基準がさっぱり分からない。
メモリリソースなのか、
CPUリソースなのか、
はたまたコードの見た目(単純に見える)なのか?
一番目と二番目は数字で語れるだろうけど、三番目なら主観だよ。
あなたがforに慣れてるだけ。
関数型言語の人に聞いたら違う答えが帰ってくるんじゃないかな。
forでn回繰り返すために一時変数を生成するのは無駄ではない、単純
主観じゃん。forに慣れてるだけ。
たしかに無駄になるコストはforのための一時変数の方が配列より低いと思うよ。
でもそのわりにevalは認めちゃってるし…
基準がさっぱり分からない。
メモリリソースなのか、
CPUリソースなのか、
はたまたコードの見た目(単純に見える)なのか?
一番目と二番目は数字で語れるだろうけど、三番目なら主観だよ。
あなたがforに慣れてるだけ。
関数型言語の人に聞いたら違う答えが帰ってくるんじゃないかな。
正直ここまで不格好でない例が無い
ひょっとしたらeval例が一番なくらい
でもやろうとしていることが不格好だから仕方ないとも思う
やっぱりメソッド中で必要な処理だけforで回したり再起にするのが良いと思う
ひょっとしたらeval例が一番なくらい
でもやろうとしていることが不格好だから仕方ないとも思う
やっぱりメソッド中で必要な処理だけforで回したり再起にするのが良いと思う
不格好ってことは三番目の「コードの見た目」だったようだね。主観。
多分それは悪い意味で言ってるんだと思うが
主観的見た目こそ超絶大切なことだと考えてる勢には通じないと思うぞ
今回の例みたいなのは動くだけなら猿でも書けるんだから
でも自由な文化のJSではどの方法が適当なのかなんて自明ではない
でもだからこそ、ロジック以外の部分で拘って研究して論争する価値があるんだと思うよ
そうして可能性を捨てずに色々試して皆で議論して良くしていこうっていうのがWebだから
主観的見た目こそ超絶大切なことだと考えてる勢には通じないと思うぞ
今回の例みたいなのは動くだけなら猿でも書けるんだから
でも自由な文化のJSではどの方法が適当なのかなんて自明ではない
でもだからこそ、ロジック以外の部分で拘って研究して論争する価値があるんだと思うよ
そうして可能性を捨てずに色々試して皆で議論して良くしていこうっていうのがWebだから
不恰好を定義できない、不恰好でない例も出せない無能はほっとけ
しいていえば見た目は読みやすさ・理解しやすさに繋がるか?
しいていえば見た目は読みやすさ・理解しやすさに繋がるか?
>>631
reduceは配列の要素から一つの値を作るものだと考えている
要素を使わず、代入処理だけのためにreduceを使うのであれば、始めから代入処理だけの機能を使うのが理にかなっている
後な、俺が主張してるのは単純か複雑か
reduceを使うためにArray()で配列を生成し、走査可能にする為にする為にfill()で値を初期化、という理屈を初心者が理解できるとは思えん
対するeval()は善し悪しはともかく、機能理解はreduceよりも容易だと思うね
個人的にはevalを全く使わんし、eval is evil、eval <<< Function
ローカル変数破壊は御法度だし、式呼び出ししなければ安全でないのは頂けないが、それは別の問題だ
evalがコードを実行できる関数ぐらいの理解は初心者にも出来る
reduceは配列の要素から一つの値を作るものだと考えている
要素を使わず、代入処理だけのためにreduceを使うのであれば、始めから代入処理だけの機能を使うのが理にかなっている
後な、俺が主張してるのは単純か複雑か
reduceを使うためにArray()で配列を生成し、走査可能にする為にする為にfill()で値を初期化、という理屈を初心者が理解できるとは思えん
対するeval()は善し悪しはともかく、機能理解はreduceよりも容易だと思うね
個人的にはevalを全く使わんし、eval is evil、eval <<< Function
ローカル変数破壊は御法度だし、式呼び出ししなければ安全でないのは頂けないが、それは別の問題だ
evalがコードを実行できる関数ぐらいの理解は初心者にも出来る
つまるところ、
歯ブラシは、俺の尻に突っ込むためにも使う
ということである
歯ブラシは、俺の尻に突っ込むためにも使う
ということである
eval を使うと、納品できない
そこからシステムに侵入されるから、損害賠償請求される。
危険なことを知っていて、使っているから
そこからシステムに侵入されるから、損害賠償請求される。
危険なことを知っていて、使っているから
>>643
ずいぶん、限定的な使い方だな
ずいぶん、限定的な使い方だな
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
トップメニューへ / →のくす牧場書庫について