私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレJavaScript の質問用スレッド vol.132
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>844
それぞれ最適化の手法がちがうんだからケースによって差が出るのは当たり前だろう
随分不毛な言い争いが続くとおもってたら吉火狐信者が暴れてたんだな
V8やnode.js、これらは今のweb界隈の宝だよ
いつ消滅してもだれも困らないFireFoxにしがみつくのは勝手だが質問スレ荒らすのはやめような
それぞれ最適化の手法がちがうんだからケースによって差が出るのは当たり前だろう
随分不毛な言い争いが続くとおもってたら吉火狐信者が暴れてたんだな
V8やnode.js、これらは今のweb界隈の宝だよ
いつ消滅してもだれも困らないFireFoxにしがみつくのは勝手だが質問スレ荒らすのはやめような
>>850
おまえ本当に発達障害かなにかか?
ここまできても話のコアがまったく分かってないな
チョコレートケーキはケーキがベースであり、焼き菓子もベースなんだよ
どちらかを振り回してもう一方を否定してる姿が滑稽すぎるって話だよ
要するにおまえが哀れってことな
おまえ本当に発達障害かなにかか?
ここまできても話のコアがまったく分かってないな
チョコレートケーキはケーキがベースであり、焼き菓子もベースなんだよ
どちらかを振り回してもう一方を否定してる姿が滑稽すぎるって話だよ
要するにおまえが哀れってことな
>>849
申し訳ないがよく理解できない
エンジン内部でjsコードをコンパイルして実行するときに
あるオブジェクトのあるプロパティの操作とか固定のものを内部でキャッシュしたりしてて
ベンチのような特定の何かを超回数ループだとキャッシュが効くから早くなるけど
そうでなければキャッシュが効くなくなる
という感じでいいのかね
申し訳ないがよく理解できない
エンジン内部でjsコードをコンパイルして実行するときに
あるオブジェクトのあるプロパティの操作とか固定のものを内部でキャッシュしたりしてて
ベンチのような特定の何かを超回数ループだとキャッシュが効くから早くなるけど
そうでなければキャッシュが効くなくなる
という感じでいいのかね
>>852
何が言いたいのか全くわからん。
ベースにこだわりたいんか?
BlinkとWebkitは(2014年時点ですでに)半分以上
違うものだってのがいちばん重要な点だろ
ベースのベースのベースのベースは
ぜんぜん違うものなんだよ。
何が言いたいのか全くわからん。
ベースにこだわりたいんか?
BlinkとWebkitは(2014年時点ですでに)半分以上
違うものだってのがいちばん重要な点だろ
ベースのベースのベースのベースは
ぜんぜん違うものなんだよ。
> チョコレートケーキはケーキがベースであり、焼き菓子もベースなんだよ
この例えも変だし。
これはベースじゃなくて単なる包含関係
カテゴリにすぎない
この例えも変だし。
これはベースじゃなくて単なる包含関係
カテゴリにすぎない
>>853
V8はプロパティに高速でアクセスする隠しクラスをJITに仕込んでいるんだが、
それが静的型付けを前提にしているからプロパティを付け足すだけで低速化するって話
最小構成で環境が固定されてるベンチでなら速く動くが、フレームワークやライブラリ挟んで規模を広げた実際の環境では極端に遅くなる仕様だよ
V8はプロパティに高速でアクセスする隠しクラスをJITに仕込んでいるんだが、
それが静的型付けを前提にしているからプロパティを付け足すだけで低速化するって話
最小構成で環境が固定されてるベンチでなら速く動くが、フレームワークやライブラリ挟んで規模を広げた実際の環境では極端に遅くなる仕様だよ
>>856
実際に他のブラウザと比較してどの程度の速度ななるのかデータはないの?
実際に他のブラウザと比較してどの程度の速度ななるのかデータはないの?
フォークとベースは違うものだよ。
ベースは日本語で基礎を意味する言葉だが
その言葉の通り、ある製品の基礎になっていれば、それはベース
あるライブラリを使用した別のライブラリは、あるライブラリをベースとしていると言っていい。
例えば、jQuery Mobileフレームワークは、jQueryをベースとしてる。
しかしフォークの場合は違う。BlinkがWebkitを含んでいるわけじゃない
BlinkそのものがWebkitと同等のもの。
だからBlinkはWebkitをフォークして作られたものであってベースとはしていない
ベースは日本語で基礎を意味する言葉だが
その言葉の通り、ある製品の基礎になっていれば、それはベース
あるライブラリを使用した別のライブラリは、あるライブラリをベースとしていると言っていい。
例えば、jQuery Mobileフレームワークは、jQueryをベースとしてる。
しかしフォークの場合は違う。BlinkがWebkitを含んでいるわけじゃない
BlinkそのものがWebkitと同等のもの。
だからBlinkはWebkitをフォークして作られたものであってベースとはしていない
>>856
先生、念のため質問させて下さい
「膨大な量のelement.style.***へのアクセスの高速化とかで
役立っていてベンチ最適化現象はただの波及効果」
って線はないもの?
実用性なのかベンチ特化性なのか判断できない自分
逆にそういう仕組みだと大きいオブジェクト/配列を作って
データを追加していったりするとアホ程重いとかになるのかな
prototype作って回せといわれればそれで終わりな気もするけど
先生、念のため質問させて下さい
「膨大な量のelement.style.***へのアクセスの高速化とかで
役立っていてベンチ最適化現象はただの波及効果」
って線はないもの?
実用性なのかベンチ特化性なのか判断できない自分
逆にそういう仕組みだと大きいオブジェクト/配列を作って
データを追加していったりするとアホ程重いとかになるのかな
prototype作って回せといわれればそれで終わりな気もするけど
>>862
見苦しいのはお前だよ
見苦しいのはお前だよ
そもそも今のSafariはWebkit2系だからかつて言っていたWebkit系とも別物と考えたほうがいいよ。
上の方で出てた無名関数とかの話ってES2015を使えるような環境だと普通にクラス構文使えるし特にメリットなさそうなんだけどどう?
Wevkit切り捨てはモバイルサイト切り捨てといってるようなものだが、今時珍しい考え方だな
javascriptって数ある言語のなかでも一番テクニカルで難解な言語なのに、スレに居座るのは素人丸出しの池商多いよね
JavaScriptは繰り返しをループでも再帰でも書けると思いますが、
こういうときは再帰の方がいいよとか、その逆があれば教えてください
今気になってるのは条件によって途中でループを抜けたいためにforeachが
使えないような繰り返しは、単にforやwhlieでまわすより再帰の方が
すっきり書けるのかなとかそれくらいなんですが
こういうときは再帰の方がいいよとか、その逆があれば教えてください
今気になってるのは条件によって途中でループを抜けたいためにforeachが
使えないような繰り返しは、単にforやwhlieでまわすより再帰の方が
すっきり書けるのかなとかそれくらいなんですが
>>870
スタックの無駄遣いだろ
スタックの無駄遣いだろ
>>870
ループで纏まりきらなくなってきたら複数の関数の再帰に分割すると良いことがある
ループで纏まりきらなくなってきたら複数の関数の再帰に分割すると良いことがある
>>869
理解しなくてもそれなりに使えるって事はある意味理想的なんじゃないか?
つうかJSの挙動マスター出来てたとしても、
ここで暗黙の型変換利用したトリッキーな技使います、セミコロン省略します、プロトタイプベースOOPします、とか言うと大批判間違いなしでしょ。
理解しなくてもそれなりに使えるって事はある意味理想的なんじゃないか?
つうかJSの挙動マスター出来てたとしても、
ここで暗黙の型変換利用したトリッキーな技使います、セミコロン省略します、プロトタイプベースOOPします、とか言うと大批判間違いなしでしょ。
>>875
obj = {children:[obj,obj...]}
function sendChildren(obj){
for(let child of obj.children){
sendChildren(child);
}
}
こういう処理を再帰無しで書くにはどうすれば良いの?
obj = {children:[obj,obj...]}
function sendChildren(obj){
for(let child of obj.children){
sendChildren(child);
}
}
こういう処理を再帰無しで書くにはどうすれば良いの?
パフォーマンスの問題だろ
あんまりループをネストしたりして余りにでか過ぎる関数作ると殆ど最適化してくれ無くなるからな
反対に極めて小さな関数で有れば完全に埋め込んで最適化かけてくれる
一方再帰中に全変数で最適化のためのマイクロタイプが絶対に変化しないようにするのはちょっと大変
あんまりループをネストしたりして余りにでか過ぎる関数作ると殆ど最適化してくれ無くなるからな
反対に極めて小さな関数で有れば完全に埋め込んで最適化かけてくれる
一方再帰中に全変数で最適化のためのマイクロタイプが絶対に変化しないようにするのはちょっと大変
>>876
無限ループ内で自分でスタックとか管理してオブジェクトを見渡せば出来る
無限ループ内で自分でスタックとか管理してオブジェクトを見渡せば出来る
多次元配列の一次元化アルゴリズムをここの奴らに聞いても無駄だよ
そのコード僕ちゃんのブラウザに貼り付けても動かないぞって底が知れるような文句付ける奴ばかりだから
そのコード僕ちゃんのブラウザに貼り付けても動かないぞって底が知れるような文句付ける奴ばかりだから
> そのコード僕ちゃんのブラウザに貼り付けても動かないぞって底が知れるような文句付ける奴ばかりだから
お前さんは>>876のコードが動くブラウザを使っているのか?
お前さんは>>876のコードが動くブラウザを使っているのか?
>>876
element.children[0].children[0] なら [0,0,0] のように index 値を管理すれば再帰なしでも書けると思うよ
element.children[0].children[0] なら [0,0,0] のように index 値を管理すれば再帰なしでも書けると思うよ
え、お前らこの程度のコードをわざわざコンソールに貼って実行してるの?
ちょっとドン引きなんですけど
ちょっとドン引きなんですけど
あと、まあ抽象化されたコードだkで伝わるというなら、抽象的な回答だけで質問者に伝わらないと公平でないよな
それで伝わるとは思えん質問だから解決するわけがないんだが
>>887
コンソールで実行するまでもなく動かない事は自明じゃないかね
それで伝わるとは思えん質問だから解決するわけがないんだが
>>887
コンソールで実行するまでもなく動かない事は自明じゃないかね
>>889
馬鹿なお前の為に書いてやったぞ
const obj = {children:[{children:[]},{children:[]}]};
function sendChildren(obj){
console.log(obj);
for(let child of obj.children){
sendChildren(child);
}
}
sendChildren(obj);
無限に参照し続けるってむしろお前がどんな補完したのか気になるわ
馬鹿なお前の為に書いてやったぞ
const obj = {children:[{children:[]},{children:[]}]};
function sendChildren(obj){
console.log(obj);
for(let child of obj.children){
sendChildren(child);
}
}
sendChildren(obj);
無限に参照し続けるってむしろお前がどんな補完したのか気になるわ
無限に参照はいいすぎたが、「無限に参照し続けるうちに例外で止まる」が正しいな
childrenはDOM関連の仮想コードだろうから、childrenが空でないと動かないコードなど役に立たん
で、これを修正していくと>>876から大分離れたコードになる
初めから「面倒くさい」としかいってないんだが、なぜ馬鹿にされるんだろうな
childrenはDOM関連の仮想コードだろうから、childrenが空でないと動かないコードなど役に立たん
で、これを修正していくと>>876から大分離れたコードになる
初めから「面倒くさい」としかいってないんだが、なぜ馬鹿にされるんだろうな
>>892
オブジェクト配列の入れ子なのに何で終端を数値配列にしてんの?
オブジェクト配列の入れ子なのに何で終端を数値配列にしてんの?
傍から見てると良く分からん
childのいずれか1つにプロパティchildrenが無かったらそこでエラー吐いて止まる?
全てのchildにプロパティchildrenがあったらエラーにならず普通に終わる?
childのいずれか1つにプロパティchildrenが無かったらそこでエラー吐いて止まる?
全てのchildにプロパティchildrenがあったらエラーにならず普通に終わる?
>>894
オブジェクト配列しか存在しないと誰が決めたの?
オブジェクト配列しか存在しないと誰が決めたの?
>>896
childのいずれか一つが「child.childrenが存在しない」もしくは「child.childrenがイテレータではない」だったら例外で止まる
childのいずれか一つが「child.childrenが存在しない」もしくは「child.childrenがイテレータではない」だったら例外で止まる
>>897
obj ← これが数値を示すように見える?
obj ← これが数値を示すように見える?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.132 + (1001) - [91%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [88%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.133 + (1001) - [88%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.113 + (1001) - [88%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.130 + (974) - [88%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.123 + (1002) - [88%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [88%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.123 + (966) - [88%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [88%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.130 + (1001) - [88%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.102 + (1001) - [88%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.131 + (1004) - [88%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.142 + (984) - [88%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.122 + (116) - [88%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [88%] - 2015/2/14 4:45
トップメニューへ / →のくす牧場書庫について