元スレ+ JavaScript の質問用スレッド vol.142 +
JavaScript覧 / PC版 /みんなの評価 :
301 :
htmlとcssは出来るようになった
次はjavascriptかphpのどちらかをやりたい
どっちがオススメですか
302 = :
>>344
javascript
303 = :
>>344
同じくJS
ただJSスレでどっちが良いか聞いてもあんま意味ないと思う
304 = :
>>344
両方やる
お前に適切な方が自然と分かる
305 = :
俺の頭が低スペなんだろうけど
JSとPHP同時進行で書いてると混乱する
JSに$thisとか書いてエラー出してからハッとする
306 :
phpで何か作るならjavascriptは避けて通れないってマジですか?
結局javascriptはある程度勉強しなきゃならんのか
307 = :
>>349
別にそんなこともないと思うけど
現代的なウェブアプリケーションのフロントエンドを作る上で
JSを避けて通れないのはその通りだけど
308 = :
鯖専用で言語学ぶ非効率さを嫌うなら、利用者側をJavaScript・鯖側をNode.jsって選択肢あるね
どっちもJavaScriptで書けるし今だとPHPに劣らず熱いでしょ
309 = :
forEachの中でsetTimeoutを利用する場合、複数のタイマーが同時に動くと思うのですが、
clearTimeoutで1つ解除すると、まとめて解除されたりしますか?
何故か途中で処理が止まってしまうようです。
310 = :
まとめて解除されたりされなかったりする
311 = :
>>352
しない
313 = :
>>352
ブラウザ依存
314 = :
>>352
解決法としてタイマーのIDであるsetTimeout()の戻り値をclearTimeout()に渡すのはどうだろう
315 = :
>>357
それ以外、clearTimeoutに渡す方法はないから、既知なのでは…?
316 = :
>>352です。
されたりしなかったりで、ブラウザに依存するのですね。
スクロールするとフェードインするためのクラスを与えるという処理で、
横一列に並んだ要素を、一定の間隔でフェードイン表示させたいのですが、
リロードする度に、上手くいく数がマチマチで、且つ全部表示されることがないという
状態で、何が起きているのか把握できませんでした。
んが、色々試したところ、下記のように条件分岐の中にループ処理を
仕込んだところ、望んだ動作となりました。
このような使い方の場合、タイマーをクリアする必要ってあるのでしょうか?
var loop1 = function() {
if (...) {
setTimeout(loop2, 300);
}
else {
setTimeout(loop1, 16);
}
};
loop1();
317 = :
なんか問題は別にありそうな気がしてならんのだが
単体テストはしてみたの?
318 = :
そのちっちゃいコードでは何も分からんが
動いたんならめでたしと言うことで
319 = :
forEachを使うときって下のコードみたいに、スクロールイベントの中で
forEachを回して、添え字を関数に渡すべきなのか、
それぞれの関数でforEachを回すべきなのか、
どちらがパフォーマンスよいのでしょうか?
window.addEventListener('scroll', function() {
test.forEach(function(value, index) {
funkA(index);
funkB(index);
});
});
320 = :
前者が配列一周回るのに対し後者は二周回るから前者のほうが速い気がするが、まあ関数呼び出しコストの違いもあるし計れば?
それより実行順は大丈夫なの?
ようするに、
前者は
a0 b0 a1 b1 a2 b2 a3 b3 …
後者は
a0 a1 a2 a3 … b0 b1 b2 b3 …
って感じで処理の実行順が異なってくると思うんだけど…
322 = :
敢えて2回回す理由は無いと思うが
中途半端に切り取ったコードじゃ何も言えん
323 = :
ブラウザの最適化具合にもよるだろ
どっちのパフォーマンスが~って言ってる時点で絶対気にしなくていいレベル
324 = :
パフォーマンスのためにはパッシブリスナにしてアイドルコールバックで少しずつ処理すべきだろ
327 = :
入力フォームがなければ作ればいいじゃない
329 = :
>>369
フォームでなくてもいいけどDOMツリー内にあって選択状態にしないとだめ
display:none等で隠してしまうと選択状態にはならないので、画面外やサイズ0で見えないように要素作るのがセオリー
>>371
document.execCommand("copy")は大抵のブラウザで使えますよ
330 = :
clipboard.js使えば異種・新旧のブラウザ間の実装差異吸収してくれるけどそれじゃダメなん?
332 = :
関数を書く順番でなやんでいます。
ファイルを読み込みながら実行する書き方だと
関数の中で関数を呼び出すには、入れ子の方を上に書く必要があり
自分で読み返したときに、どういった順番かわかりづらいことがあります。
DOMContentLoaded で読み込み完了後に実行する書き方であれば
上から順を追って書いていっても問題ないので、
自分としては読み返しやすいと感じています。
どちらが望ましいとかってあるのでしょうか?
333 = :
当然自分の分かりやすさより、どう実行されるかの方が優先度高い
DOM読み込み完了時に実行で良いならそれ使えば良いし、他の時機で実行するならそれに合わせた実装をしないと
そもそも関数定義と関数呼び出しは読んだ瞬間に判別できるようになった方が良い
その上で分かりやすい変数名付けて、大きすぎる関数は作らずに小分けした関数を入れ子にすれば、読む時に都合の良い順番なんて必要ない
334 = :
>>375
全ファイルを読み込み完了してから、実行するか
一つずつファイルを読み込み完了してから、実行するか
当然、後者の方が実行速度が向上する
335 = :
>>377
実行速度は一気に実行の方が速いでしょ
逐次実行にしてはやくなるのは開始時機の早さと、それで見込める終わる時機の早さ
336 = :
一気に実行するような時代ではない
まず第一にオフザメインスレッド
どうしてもメインスレッドで行わないといけない処理は
その優先度に基づいて小分けにして実行する
337 = :
>>378
それだと、ダウンロード中は待機しか出来ないんだが
338 = :
>>379 >>380
そうだよ
でもスクリプトの実行速度が上がる訳じゃないから初心者が混乱しないように言ったんだ
339 = :
数字が少ないのがユーザー体験にとっていいとは限らないしな
プチフリがあるよりちゃんと読み込み中の表現した中断の方がストレスないし
341 = :
不易能
342 = :
var wmp = new ActiveXObject('MediaPlayer.MediaPlayer.1')
var a = document.createElement(wmp)
a.setAttribute('type', 'video/x-msvideo')
document.body.appendChild(a)
wmp.FileName=file_name
wmp.play()
音声は聞こえるんだけれど、映像がどこにも見えなくてわけわからんです。
スタイルいじってもダメなので、何か他に抜けているところがあるんでしょうか。
343 = :
ここぞとばかりに自分語りっすね
344 = :
>>381
待機時間が長い方を「速い」と主張する>>378の方が誤解の元だと思うが
345 = :
>>387
速度/時機、速い/早い、をわざわざ対比して書いてるのに誤解の元になるって……
いきなり話に小学生の読み手が入ってくるとか想定してる?
少なくとも流れ見てたら誤解よりもむしろ理解に役立つ書き方でしょ
346 = :
>>388
ファイルの読み込みは遅いに決まってるでしょ
何のために非同期処理になっていると思っているんだ?
347 = :
>>381
>>377は「ダウンロード処理」「ダウンロード後の処理」を合算した「全体の実行速度」の話をしているのに、後者のみに着目したコメントをされても困るよ
処理の単位を勝手に限定しないでくれ
(そもそも、初心者だと「実行速度=スクリプトの実行速度」と読んでダウンロード処理を除外するものなのか?)
一般にIO処理は遅いから、少しでも早く終わるように効率化した方が良いに決まってる
あえて、完了時刻を遅らせる理由があるなら、その理由を添えて質問者に回答してやってくれ
348 = :
>>390
それこそ元レスは前者にも後者にも限ってないし、違い全般を聞くような書き方をしてた
限定的な回答があったからもう一方の限定的な情報付け足した訳で、それに困惑する必要なんてない
そもそも初心者だと~じゃなくて、初学者だからこそ手探り段階の可能性が大いにあるし、「できるだけ思い込みを植え付けない広い情報」を挙げた方が良いし他の誰も困らないでしょ
一般にどっちが良いかとか一言も言ってないし、推しを否定した事もない
それでもJavaScript実行中はレンダリングやら他の多くの処理が止まるから定期的に確実な切れ目を作るのは用途が無い訳じゃないし
もし不満があるなら教えて欲しい
触れられてない情報を付け足す事に誰が困るっていうの?違うなら噛まないで頂戴
349 = :
確かに、初心者だからこそ、JSやWebで気をつけないといけないことは真っ先に知っておくべきだろう
350 = :
>>375です
読み込み完了後だと開始時機は遅くなるけど処理ははやい。
読み込みながらの場合は開始時機がはやく終了時機もはやくなる見込みがある。
そして、ケースバイケースで使い分けるといった感じでよろしいでしょうか?
関数の書き順なのですが、入れ子となっている場合、慣れてくると
下記の下の方でも問題なく読めるものなのでしょうか?
ご飯を炊く
おかずを作る
配膳する
食べる
↓
食べる
配膳する
おかずを作る
ご飯を炊く
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.142 + (984) - [100%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
トップメニューへ / →のくす牧場書庫について