+ JavaScript の質問用スレッド vol.134 +

1Name_Not_Found2018/06/04(月) 16:22:58.13ID:aMAv4I5k
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

81Name_Not_Found2018/06/10(日) 17:07:16.04ID:???
>実践的な部分では変数初期化のタイミングさえ覚えれば良い

覚える必要あんのか?
変数は「初期化するコード」より前のタイミングで使うな、なんならブロック先頭で網羅的に初期化しろ、で済む話では?

82Name_Not_Found2018/06/10(日) 21:03:36.41ID:???
>>73
俺からすれば最初>>62は君に対する返答でもたしかにあったけど、
君だけへの返答ではなくそれまでの流れを含めた視聴者に対するまとめを書いただけで
別に君に変数の仕組みを解説したつもりはない

そこに君が>>64で突っ込んできたから、それ「も」書いてると言った
君は「自分の言葉」と思ったかもしれないが、仕様書のURLは、「あえて」記載しなかった
ただ俺はきちんと必要ならすぐ調べられるように仕様上の用語は含ませた
そこは確かに君を強く意識して行ったことだけど
先にも言ったとおり全体としては君の質問へのど直球の回答ではないので
君の期待通りの返信では無いのは悪しからず

そして>>78の言う通り、俺が>>62などで書いた文章は以前の話を含めて書いているため
その後のそれらに対するレスは、>>61だけではない流れ上で考えさせて貰っている
君がやけに>>61に拘ってたことには失礼ながら今気づいたが、俺はそんなちっぽけなところなんて見続けていない

83Name_Not_Found2018/06/10(日) 21:14:46.91ID:???
>>73
あとこれは完全に別件として問いたいことだが、
なぜES2017に拘る?
俺はES2017というのは最新仕様の言い換えだろうなと思ったから
より適切な最新のドラフトを案内した

今回の件でES2017に拘る理由がわからない
ES3,5や、letやconstが入ってその辺りに変更が入った2015を見てみるというのはまだ分かる
でもES2017なんて中途半端なところを拘って見たがる理由って一体全体なんだ?
今を知りたいのなら最新のドラフトの方がいいぞ、多少読みやすくもされてるし

84Name_Not_Found2018/06/10(日) 22:36:17.46ID:???
一次情報云々の話ならそもそも実体化とかいう訳語が怪しいんだが
誰かがそう決めたの?

85Name_Not_Found2018/06/11(月) 08:47:51.79ID:???
>>81
それはポリシーの問題
それでいい人もいれば、良くない人もいる
const房と根本的に同じ問題

86Name_Not_Found2018/06/11(月) 09:52:34.11ID:???
>>85
ちょっとおかしくね
>>80を理解したところで初期化jsコードより先に使っちゃダメなのは確かで
初期化jsコードより後に使うなら>>80は無意味では
問題おきてデバッグする時にもまず役に立たない知識

87Name_Not_Found2018/06/11(月) 10:06:20.55ID:???
知っていると実益があるかどうか
var,let,constはそれぞれ性質が違いしかも一方だけでコードを書くことができる
選択の余地ひいては実益があり、実益をどう判断するかのポリシー問題

変数の巻き上げやTDZや宣言・初期化とか用語・説明の話は実益あるのか

88Name_Not_Found2018/06/11(月) 11:12:20.90ID:???
俺様が満足していればどうでも良いんだよ

89Name_Not_Found2018/06/11(月) 12:13:44.14ID:VhNszVLU

90Name_Not_Found2018/06/11(月) 12:40:18.54ID:???
実益があるのかって、単純に何事も内部構造をできるだけ分かって使う方がより良いと思うけど。
クラッチやエンジンの仕組みを何も知らないで感覚だけで覚えるのと、理屈で理解してるのとでは違いがあると思う

91Name_Not_Found2018/06/11(月) 13:18:48.10ID:???
巻き上げ周りの知識があったら書き方がどう変わるのかってやつだな
自動車の例でいえば、仕組みを知ってれば効率良い運転に繋がる可能性もあろう

92Name_Not_Found2018/06/11(月) 15:55:56.82ID:???
ジェネレーター関数って使い道ありますか・・?

93Name_Not_Found2018/06/11(月) 15:57:10.40ID:???
フレームワーク作者とかは使うんじゃない?

94Name_Not_Found2018/06/11(月) 18:37:23.63ID:???
通常のジェネレータはあんまり使い道はないが
asyncになるとイベント的なことに使えるのでかなり重要な存在
これがあれば、whileループみたいに描くしか無いところをfor awaitで書ける

95Name_Not_Found2018/06/11(月) 19:18:59.97ID:???
でもそれwhileループで書けば良いんですよね?

96Name_Not_Found2018/06/11(月) 22:32:05.39ID:???
そうでもないと思う
ジェネレータの良いところは、継続状態と返り値が同時に抽象化されてることだから
for awaitならそれを抽象化されたまま自然と扱えるが、
whileを使った場合その抽象化システムを丁寧に自分で組み立てるか、
その場その場で適応的に書くか、もしくは妥協しないといけない

97Name_Not_Found2018/06/11(月) 23:47:57.05ID:FHvAGVIA
ftp%3A//ftp2.shuwasystem.co.jp/pub/book/javascpermas/chap09.zip
これのsec04/dragdrop.htmlの26,36行のpreventDefault()ってなにを取り消してるの??

98Name_Not_Found2018/06/12(火) 00:18:43.22ID:???
あ、ちなみに、ページ内の「ドラッグできます」というのを上の四角の領域にドロップすると要素が移動するというコードです。


それから34行のcurrentTargetとtargetと違いもわからないです。
targetに書き換えるとドラッグしても何も起こらなくなるのはなぜだろう

99Name_Not_Found2018/06/12(火) 01:33:58.85ID:???
んなURL持ってくんなよ
しかも度々書籍ステマ・書籍アフィが出てるスレで「コンピュータ、パソコン書籍の出版社」が
アクセス統計でも得たいのか

100Name_Not_Found2018/06/12(火) 06:26:12.22ID:???
本買うと特典でサンプルDLできるとかのあれか

本買ってないやつがDLするわけにはいかないし
本買ったやつならURLなんて出さなくてもわかるだろうし
何より本書いたやつか出版社に聞け

101Name_Not_Found2018/06/12(火) 12:39:51.08ID:???
>>98
どなたかお願いします

102Name_Not_Found2018/06/12(火) 12:54:37.96ID:???
>>92
データのID作るときとか便利
ループだとそのループ中でしかできないが
ループ以外でも簡単に連番等つけれる

同じ理屈で数列つくるときに便利。
遅延評価で無限数列つくるときとか。
ま、あんま使わんと思うが。

103Name_Not_Found2018/06/12(火) 12:55:33.83ID:???
調べるべき用語が分かってるんだからググった方が絶対いい結果を得られるよ

104Name_Not_Found2018/06/12(火) 12:58:21.53ID:???
>>97
$('a').click(function(e){ e.preventDefault(); });

例えばこれなら、a タグによるページ遷移という、デフォルトの動作が取り消される

jQuery のイベントバブリング、preventDefault()・stopPropagation() を参照

105Name_Not_Found2018/06/12(火) 13:35:41.02ID:???
('q')

106Name_Not_Found2018/06/12(火) 16:23:25.80ID:???
>>97-98
http://jqueryui.com/droppable/

jQueryUI の、Draggable, Droppable のソースコードを見れば?

107Name_Not_Found2018/06/15(金) 05:12:24.54ID:OkF/hEF8
JS違法だって
おまえら逮捕だね

【ウイルス】WebサイトでJavaScriptでPCに負荷をかける行為は違法 警察が検挙
http://asahi.5ch.net/test/read.cgi/newsplus/1528979221/

108Name_Not_Found2018/06/15(金) 05:40:24.41ID:???
jkなら大丈夫だから

109Name_Not_Found2018/06/15(金) 12:42:58.55ID:???
ひまつぶしにどうぞ
+ JavaScript のお題用スレッド +
https://mevius.5ch.net/test/read.cgi/hp/1526666703/

110Name_Not_Found2018/06/15(金) 15:06:38.85ID:???
パターンマッチ関数って何のためにやるのですか?
回りくどいな、という印象しかなかったのですが

111Name_Not_Found2018/06/15(金) 16:35:12.09ID:???
パターンマッチ関数??
それだけ言われても…

112Name_Not_Found2018/06/15(金) 17:28:44.15ID:???
>>110
すべてモジュール化するため

113Name_Not_Found2018/06/15(金) 17:41:20.29ID:???
処理のメイン部分の記述が簡素になる。

114Name_Not_Found2018/06/17(日) 09:54:02.75ID:???
JavaScriptで配列をすごい勢いでループしてる時に
緊急停止ボタンが押されたらブレーキをかけることはできますか

115Name_Not_Found2018/06/17(日) 10:02:59.78ID:???
>>114
再帰なら可

116Name_Not_Found2018/06/17(日) 10:24:28.66ID:???
>>115
質問者じゃないけど興味があるので理由を詳しく聞かせてもらいたい

117Name_Not_Found2018/06/17(日) 12:03:06.04ID:???
嘘だから気にすんな

118Name_Not_Found2018/06/17(日) 12:33:49.85ID:???
なんだうそか

119Name_Not_Found2018/06/17(日) 12:35:22.12ID:???
setTimeoutやsetIntervalで再帰させてれば緊急停止できるのでは

概念的にはもはやループじゃなくてタスク管理だけど

120Name_Not_Found2018/06/17(日) 14:34:27.38ID:???
> setTimeoutやsetIntervalで再帰させてれば
再起である必要はないね

121Name_Not_Found2018/06/17(日) 14:57:27.97ID:???
緊急停止ボタンのクリックイベントでkinkyubrake = trueしておく。
ループではkinkyubrakeがtrueのときはbreakするようにしとけばいい。

122Name_Not_Found2018/06/17(日) 16:18:01.04ID:???
再開どうすんの
あ、再開はないのか

123Name_Not_Found2018/06/17(日) 17:49:51.65ID:9b6f4Zt8
緊急停止っていみわからんけど
再帰で無限数列とかつくるとオーバーフローでエラーでるが
それを回避するためにsetIntervalに入れるんだが。
そういうことじゃねぇのか?

124Name_Not_Found2018/06/17(日) 17:58:49.16ID:???
そりゃ別の問題だろ
jsエンジンの保護機能があって、理解した上でそれを回避する手法を使う
そこにユーザの停止意思は関係ない

125Name_Not_Found2018/06/17(日) 18:07:58.46ID:???
>>110
関数型プログラミングの質問か?

126Name_Not_Found2018/06/17(日) 20:12:00.03ID:???
皆様ご回答有り難うございます
長い時間がかかる計算をさせているのですが
私のラスクトップはこの時期長時間動かすと熱で落ちてしまいます
その兆候が現れた時に、物理的なUSBボタンが押されたら
全タブの処理を抑えたいと思っています
完全に止まらなくとも構いません
再開はしたいです

127Name_Not_Found2018/06/17(日) 20:13:14.81ID:???
なんかラスク食べたくなってきた。買ってこよう。

128Name_Not_Found2018/06/17(日) 20:15:51.10ID:???
つまりオーバーフローによる問題を回避するためではなく
エアフローによる問題を回避したいわけですな

ドヤァ

129Name_Not_Found2018/06/17(日) 20:18:15.35ID:???
ラスクトップってなんだデスクトップなのかラップトップなのかどっちだ

PCごとスリープさせたらダメなのかね

130Name_Not_Found2018/06/17(日) 20:32:27.93ID:???
とりあえずJSの仕事では無さそう
プロセスごとのCPU使用率制御かなんかを調べた方が多分近道

131Name_Not_Found2018/06/17(日) 23:23:03.78ID:???
>>116
厳密には同期的繰り返し処理では割り込み処理出来ない

新着レスの表示
レスを投稿する