X



+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2017/07/31(月) 21:10:56.03ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

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

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
・回答者同士のレスは原則禁止(>>6を参照)
・ライブラリの話題の投稿(>>6を参照)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
0043Name_Not_Found
垢版 |
2017/08/07(月) 18:42:08.10ID:???
愚直にやるのが一番いいと思うけど。
ワンライナーにしなきゃいけない理由がわからない
三ヶ月後の自分が分かるコードで書くべき
0044Name_Not_Found
垢版 |
2017/08/07(月) 19:30:51.85ID:???
こんなコード書かれたら発狂するわ
0045Name_Not_Found
垢版 |
2017/08/07(月) 20:45:20.80ID:???
>>41
&&をこんな感じに使えるんですね、なるほど参考になります
ありがとうございます

>>43
長いと目が迷子になってしまうので、特にmatchはよく使うので
一般的な感覚じゃないかもですが、行数の割に得られるものが少ないと、このブロック何の為だ、と後々読んだ時に混乱してしまって
でもif文で数行に書くのが一般的なのですね、なるほどありがとうございます
0046Name_Not_Found
垢版 |
2017/08/07(月) 22:00:11.62ID:???
string.match(/(.*hoge)/)
temp = RegExp.$1.replace("honya","hage")
0047Name_Not_Found
垢版 |
2017/08/08(火) 02:08:12.03ID:???
>>46
これRegExp.$1に何も入ってなくてもエラー吐かないんですね
こんな裏技あったとは、RegExpって気になってたので意識して使ってみます、ありがとうございます
0048Name_Not_Found
垢版 |
2017/08/08(火) 04:59:19.20ID:???
条件が複雑なら、コードも複雑になるのが、当たり前。
そのまま素直にコードにすればよい

条件が複雑なのに、コードが単純になっていれば、間違っている。
コードを単純に出来るなら、条件も単純に出来るはず

2段階のプロセス。
1. 論理的に正しい証明を先にしてから(仕様書)、
2. その通りにコードに写す(実装)

2を修正したら、常に1に帰ってから、正しさを証明して、2を修正する。
常に、考える時は、1の仕様書で考える

&& を使ったら、if-else よりも、分かりにくい。
頭の中で、if-else に置き換えて、
論理的に矛盾が無いか、証明しないといけないから、余計に難しい。
つまり、見落とし・勘違い・バグが起こる、可能性が高くなる

もし、&& の右の式に、副作用があって、何かの状態を変える場合、
パッと見て、右式が実行されたか、されていないか、分かりにくい。
頭の中で、間違いが無いか、確かめるのが大変

論理的に正しいと証明するのが、一番難しい。
コードを書くよりも難しい
0049Name_Not_Found
垢版 |
2017/08/08(火) 08:57:46.63ID:???
ECMAでRegExp.$1などを無くそうかという議論がされてるときに
堂々と提案できるやつはどういう神経してるんだろう
0050Name_Not_Found
垢版 |
2017/08/08(火) 09:31:44.99ID:???
なくなってからまたおいで
10年後ぐらいにね
0051Name_Not_Found
垢版 |
2017/08/09(水) 02:51:27.94ID:???
なくそうか、じゃなくて仕様に拡張として追加しようか、という案と反対意見でしょ
現時点ではただのレガシーな独自実装なんだから、勧めるのは確かに良くないよ
0052Name_Not_Found
垢版 |
2017/08/09(水) 09:45:36.44ID:???
やっぱそうだったかw
無くすわけないしな

全てのブラウザで使えて昔から
よく使われているものなんだから
仕様に追加するべきだろうな。

昔から広く実装されているからって
レガシーってことにはならんよ
0053Name_Not_Found
垢版 |
2017/08/09(水) 22:36:56.14ID:???
よく使われている……?
キチガイじみててめまいがしてくるなw
0054Name_Not_Found
垢版 |
2017/08/09(水) 23:50:53.63ID:???
HTML5っていうのはそもそも過去のブラウザを含めて各ブラウザで
同じようにレンダリングできるように仕様が固められたもの
仕様があってそれに準拠するようにブラウザを開発するのとは逆。

だからJavaScriptでも同じように動くことを目標としてるので
使われている機能は消さないし、標準化されてないのであれば
標準化する方向にすすむ。
0055Name_Not_Found
垢版 |
2017/08/10(木) 07:50:42.87ID:???
>>39
基地外が立てたスレだから許してやれ
0056Name_Not_Found
垢版 |
2017/08/10(木) 09:36:53.61ID:???
>>54
「JavaScript」の仕様があればそうだし、現にWHATWGにはRegExpの拡張を含む「JavaScript」仕様があった
での削除された、その理由を考えると良い
0057Name_Not_Found
垢版 |
2017/08/10(木) 19:06:04.88ID:???
ちょっとスレチかも知れないのですが
<video src="blob:https://google.com/example";>
のsrcのblobって何を表しているのでしょうか?blob先のURLにアクセスしてみても404なのですが
0058Name_Not_Found
垢版 |
2017/08/10(木) 20:26:08.60ID:???
data:image/png;base64,〜のようにDataURIは知ってると思うがそれの親戚だ
よりでかいバイナリデータを扱う場合に適しているAPI
0059Name_Not_Found
垢版 |
2017/08/10(木) 21:16:14.19ID:???
>>56
あー、考えたw 考えたw
はい、この話題はおしまい
0060Name_Not_Found
垢版 |
2017/08/10(木) 21:17:05.02ID:???
>>58
そういうことを聞いてるんじゃないだろ
説明が的はずれだな
0061Name_Not_Found
垢版 |
2017/08/10(木) 21:22:34.09ID:???
どこが的はずれなんだ?何を表してるって聞かれてバイナリオブジェクトってまんま答えなわけだが
0062Name_Not_Found
垢版 |
2017/08/10(木) 21:33:50.04ID:???
>>58
有難う御座います
すみません詳しい説明の乗ってるサイトとかってありますか?
404のページのURLが何を表してるのか分からなくて
0063Name_Not_Found
垢版 |
2017/08/10(木) 21:39:29.98ID:???
Q. srcのblobって何を表しているのでしょうか?

A1. バイナリデータを扱う場合に適しているAPIだ!
A2. バイナリオブジェクトだ!


的外れは続くよw
0064Name_Not_Found
垢版 |
2017/08/10(木) 21:49:48.50ID:???
メモリ上にあるオブジェクトに発行した一時的なIDみたいなもんでそのページのみで有効
普通にいつでもどこでもアクセス可能なURLではない
0066Name_Not_Found
垢版 |
2017/08/10(木) 23:51:26.90ID:???
blob は Binary Large Object の略称だから的外れでもない
0067Name_Not_Found
垢版 |
2017/08/11(金) 07:41:17.24ID:???
>>65
動画サイトなら手軽にアクセスできなくしてるのだろう
直リンで見れるようなら自分が持ってる動画プレイヤーや
第三者サイトの動画プレイヤーやとかで見れてしまうわけで
そうすると広告のある自サイトに誘導出来ないから困っちゃうとかね
0068Name_Not_Found
垢版 |
2017/08/11(金) 09:17:38.63ID:???
Blobと言うのは要するにプログラム中に存在するファイルデータみたいなもんだよ
そんでそのURLはそのデータを参照させるためのもの
つまりブラウザ内に存在しているデータへのリンクであって、
そのデータはどこかから取ってきたものかもしれないが、
blobURLが外部へのURLに置き換わるわけではない
0069Name_Not_Found
垢版 |
2017/08/11(金) 09:20:46.41ID:???
Firefoxスレで質問してみたのですが答えが返って来なかったのでご存知の方お願いします

Fullscreen APIでflashをsrcに指定したiframe要素をフルスクリーン化したあと
フルスクリーン化したiframe内を左クリックすると元に戻っていたのですが
先日リリースされたFirefox55になってからこの方法では戻らなくなり
ESCキーを押した時に戻るようになりました
Firefox55でも引き続きフルスクリーン化の脱出に左クリックを使いたいのですが
何か情報ありませんでしょうか?
0070Name_Not_Found
垢版 |
2017/08/11(金) 09:25:36.12ID:???
その話は知らんけどflashは2020年には廃止されるようだな
0071Name_Not_Found
垢版 |
2017/08/11(金) 12:58:38.70ID:???
フルスクリーンのUIはずっと固まってないじゃん
Chromeでもオプション提供してずっと実験してるし
今たまたま望み通りいってることがこの先も上手くいくとは限らないと考えるべきだよ
0072Name_Not_Found
垢版 |
2017/08/11(金) 13:01:52.59ID:???
まあdocument.exitFullscreenをうまく使う位しか望みは無いんじゃないの?
007369
垢版 |
2017/08/11(金) 13:16:13.10ID:???
>>70-72
レスありがとうございます
Firefoxの場合設定いじったり加えると戻ったりするのですが今回は見当もつきませんでした
JavaScriptで制御できればいいんですけどね
iframe側はflash直接埋め込んでるのでJavaScript使えないので
フルスクリーンにしてフォーカスがiframe内に移ってしまうとどうしたらいいかわからないです
iframeが動作が軽快なのでiframeをどうしても使いたいため
objectやembed使う以外でなんかうまい解決策とかありそうでしょうか?
0074Name_Not_Found
垢版 |
2017/08/11(金) 14:50:01.47ID:???
iframeが動作が快適だと考えるのも危ないと思うよ
今ちょうど各ブラウザがiframeの優先度やどういうプロセスで動かすか大改造中だもの

で、iframeが同オリジンなら操作できるかもね
007569
垢版 |
2017/08/11(金) 17:29:12.90ID:???
>>74
iframeを参照するhtmlもiframeのsrcのflashも同じオリジンです
localhostで使っているものなので
そうするとflash側のソースをいじらないといけないんですかね
一応オープンソースなのでソースはいじろうと思えばいじれるのですが
ActionScriptはさっぱりです
007657
垢版 |
2017/08/11(金) 18:13:46.16ID:???
>>68
"blob:https://google.com/example";というのは、いったんブラウザメモリへダウンロードしたファイルへアクセスさせる変数ということで合ってますか?
しかし動画ファイルだと数ギガあったりするので
「はい今数ギガの動画を一瞬でダウンロードしたのであとはローカルでアクセスしてください」ってことになっておかしい気がするのですが
どこか認識が違ってるでしょうか?
0077Name_Not_Found
垢版 |
2017/08/12(土) 05:40:45.04ID:???
そうだけどメモリとかよりはもっと抽象的に考えたほうが良いとは思うよ

それで動画はチャンクで細切れに送られてくるものだから
MediaSource APIを使って随時結合していってるんじゃないの?
0078Name_Not_Found
垢版 |
2017/08/12(土) 09:18:14.70ID:???
>>77
そんなAPIがあるんですね。つまり動画を見てる時、再生時間が変わる度に
再生時間に合わせた細切れ動画をダウンロード→blob:http://~~のリンクを今ダウンロードした場所へ変更→blob:http://~~の内容が変わったことをブラウザが感知して新しい動画が再生される
という感じですかね
どうも有難う御座いました
0080Name_Not_Found
垢版 |
2017/08/15(火) 09:16:47.49ID:???
完全に取り残されて、最新の情報に追いつけないのですが、
10年前のコードから、順を追って現在のコードに変えていきたいのですが、
何か最適な学習法やサイトありませんか?
0081Name_Not_Found
垢版 |
2017/08/15(火) 16:09:23.61ID:???
必ず覚えておきたいという物は少ない
便利機能や雑多なもの、細かい難しい点についてはざっと眺めとくだけでいい

まずばletやconstだけど、どんな説明見ても一回で分かるだろう
次にclassだけど、これも重要な点はすぐ理解できると思う

一番の問題はPromiseかもしれない。
まあググって上の方のページ見とけば良いんだけど、
機能や使い方だけではなく、概念を理解しないといけないから
頭の柔軟度などに依存して難しいかもしれない

あとは本当に自分で自分のために使っていって慣れるしか無い
Promiseはこれから普及するasync関数で真価を発揮する
だからまだ取り残されては居ない
2020年くらいまでは猶予がある
0082Name_Not_Found
垢版 |
2017/08/15(火) 16:13:53.86ID:???
ESの変更については上記の通りだが、
Web APIについては、進化点を探すのが難しいかもしれない
取り敢えず自分が情報追うのに使っているのは、このChromeの実装計画

https://www.chromestatus.com/features
ここを左の下のVersion 1から順に選んで見ていったら良いかもしれない
追加だけでなく廃止された重要な点も書いてある
0083Name_Not_Found
垢版 |
2017/08/16(水) 12:18:40.28ID:???
無理だとは思いますが、
Windowsのスタンバイ時、スタンバイ復帰時に、
開いていたブラウザでイベントを起こすことってできますか?
0084Name_Not_Found
垢版 |
2017/08/16(水) 17:23:22.09ID:???
似たようなことはできるよ。
調べるの面倒なんで
例のWeb APIマニアさん頑張ってw
0085Name_Not_Found
垢版 |
2017/08/17(木) 18:55:40.07ID:???
出来ると知っているのに「調べるのが面倒」とはどういう意味だ?
0086Name_Not_Found
垢版 |
2017/08/17(木) 22:03:58.40ID:???
あー、あの関数でできそうだよ
関数名忘れたけど
0087Name_Not_Found
垢版 |
2017/08/18(金) 01:55:02.43ID:???
知ったかして、詳しい人が解説してくれるのを待つテクニックか
0088Name_Not_Found
垢版 |
2017/08/18(金) 06:26:46.95ID:???
自分も気になって横から知ったか書き込みしたんだろうけど
スレの雰囲気も悪くなるしただ迷惑
0089Name_Not_Found
垢版 |
2017/08/18(金) 08:41:22.65ID:???
横着な方法だけど、1秒毎に時間測って一定以上感覚開いていないか調べれば良いんじゃないの?
0090Name_Not_Found
垢版 |
2017/08/20(日) 17:42:43.39ID:???
Promise は過渡期に出来てしまったから、.method() な連結記法が鳥肌ものにダサい。
0091Name_Not_Found
垢版 |
2017/08/21(月) 23:52:00.46ID:???
えー超便利だけどじゃあどういうのがいいわけ?
0092Name_Not_Found
垢版 |
2017/08/22(火) 14:15:50.77ID:???
Promiseってなんじゃ?xhrじゃだめなんけ?
0093Name_Not_Found
垢版 |
2017/08/22(火) 16:26:05.23ID:???
Promiseは昔っから概念がある物だしESでも1年以上十分に練られただろうよ。
0094Name_Not_Found
垢版 |
2017/08/23(水) 11:19:26.79ID:???
Promiseはasync-awaitと組み合わせてこそ最強
0095Name_Not_Found
垢版 |
2017/08/23(水) 14:02:45.98ID:???
awaitぐらいasync無しに単体で使わせろよと思う
0096Name_Not_Found
垢版 |
2017/08/23(水) 18:18:35.52ID:???
>>92
時間掛かる処理の場合、続けてなにかやりたいときは
コールバックで渡すからやりたいことがいくつもあると
どんどんネストしていくことになるじゃん?

promiseはそうではなく、メソッドチェーンで繋いでも
ちゃんとひとつひとつの処理が終わるまで待ってくれるやーつ
0097Name_Not_Found
垢版 |
2017/08/23(水) 22:42:43.34ID:???
今electronやっててjqueryで要素の編集とかで練習してんだけど
electronとjqueryの相性悪いのとjquery単体で画面パーツとか無いから新しいライブラリ探してるんだけどいいのないですかね??
色んな画面パーツとそこからのイベントが簡単に用意出来ればいいんだが
0098Name_Not_Found
垢版 |
2017/08/24(木) 10:27:54.81ID:???
>>97
reactとかvue.jsとかかね。vue.jsが無難
0099Name_Not_Found
垢版 |
2017/08/24(木) 20:22:12.86ID:???
サーバサイドのデータをクライアント側で編集するタイプのアプリを作っていますが
サーバサイドの状態とクライアント側が前提としている状態が
ズレた時の問題について考えています
データ変更のたびに変わっていくバージョン情報を設定し
クライアントが読み書きする時にはサーバに自分が所有しているバージョン情報を渡し、
それがズレていたらサーバは差分情報をクライアントに返し、
クライアントは差分を自分に適応する、
というような方法がいいのではないかと思ったのですが
もっといい方法ありますか?
あとこういうアプリのサンプルが載ってる本とかあれば教えてください
0100Name_Not_Found
垢版 |
2017/08/24(木) 20:29:16.60ID:???
>>97
これ立ち読みしてみ。
https://www.amazon.co.jp/dp/4774188190

どんなクオリティであれ自分が勉強してる分野の紙の本が出てるってすばらしい!
検索しなきゃいけない量がめっちゃ減るからね。
0101Name_Not_Found
垢版 |
2017/08/24(木) 20:39:42.06ID:VqVyYokKM
🐒
0103Name_Not_Found
垢版 |
2017/08/24(木) 23:32:45.21ID:D0oxmKt+
>>99
> サーバは差分情報をクライアントに返し、
> クライアントは差分を自分に適応する、

という部分の実装がどれだけ面倒かによるかな。クライアント側の1レコードの編集に掛かる手間がどれだけか、というのも考慮したい。
サーバのデータ(レコード)に最終更新日時を持たせて、それをバージョン情報として利用できる。
DBの更新条件に最終更新日時を付けてUPDATEして、更新されたレコード数を確認。もし0件だったら、最終更新日時が変更されていたことになる。

> あとこういうアプリのサンプルが載ってる本とかあれば教えてください

本とかは知らない。
0104Name_Not_Found
垢版 |
2017/08/24(木) 23:40:00.38ID:???
>>98
おおおりがとう
>>100
これ実はフライングで買ってしまったんだけど解説に次々に知らんjsライブラリぶっこんで来るからソースコードの理解進まないから止めたわ、、
0105Name_Not_Found
垢版 |
2017/08/25(金) 01:05:03.27ID:???
>>102-103
firebaseっていうの知らなかったんですが、
面倒な部分をgoogleに全部丸投げできるのめちゃくちゃ魅力的ですね
調べてみます
ありがとうございました
0106Name_Not_Found
垢版 |
2017/08/27(日) 14:12:55.79ID:???
数秒ごとに細かく同期して、ずれたら単純に破棄するのが一番見易いよ
0107Name_Not_Found
垢版 |
2017/08/28(月) 21:34:43.38ID:???
setIntervalとかsetTimeoutって結構誤差出ませんか?
プチフリするようなしょぼい環境だったり
秒数カウントする(何回も呼ぶ)ものとかだと特にそんな感じがします
1/1000秒単位で正確なタイマーが欲しい場合って
別のタイマー使ってで数秒起きにズレ修正したりするのでしょうか?
0108Name_Not_Found
垢版 |
2017/08/28(月) 22:40:10.36ID:???
なんか高精度のタイマーあったろ?
Web APIマニアさんに後は任せた
0110107
垢版 |
2017/08/29(火) 13:34:03.22ID:???
>>109
ありがとうございます
4msから指定可能であって(1ms指定しても4msになる)
1秒に設定したら1004msになるというわけではないですよね?
描画処理入れたら描画が終わってからタイマーが再びセットされる感じで
描画処理の分ずれていってるのかもしれないですね
ちょっとコード見なおして検証してみます
0111Name_Not_Found
垢版 |
2017/08/29(火) 14:04:17.34ID:???
>>107
> setIntervalとかsetTimeoutって結構誤差出ませんか?
誤差以前に、その2つは等価じゃないのになぜ同列として扱う?

・setInterval はコールバック関数の処理時間を待機せずにインターバルをおく
・setTimeoutの再帰呼び出しではコールバック関数の処理完了後にインターバルをおく
0112Name_Not_Found
垢版 |
2017/08/29(火) 14:20:33.09ID:???
>>108
「なんか高精度のタイマー」とは具体的に何ですか?
0113Name_Not_Found
垢版 |
2017/08/29(火) 14:40:56.28ID:???
Node.js にも、何種類か、タイマーがあったかも

高性能タイマーとは、ベンチマークで速いもの
0114Name_Not_Found
垢版 |
2017/08/29(火) 16:25:28.45ID:???
>>113
> Node.js にも、何種類か、タイマーがあったかも
>107の要件を満たせそうなタイマーは何?

> 高性能タイマーとは、ベンチマークで速いもの
タイマー処理で何がどう速くなるの?
0115Name_Not_Found
垢版 |
2017/08/29(火) 22:02:29.05ID:???
>>111
違いはそこじゃねーよw

setIntervalは登録したコールバックを定期的に何度も呼び出す
setTimeoutは登録したコールバックを一回だけ呼び出す
0116Name_Not_Found
垢版 |
2017/08/29(火) 22:10:00.75ID:E3IgUCub
>>115
いや、それは誰でも知ってるだろ
同列に扱っているから、定期的に関数を呼び出す処理を前提に質問していると思ったんだよ
それぐらい読み取ってくれ
0117Name_Not_Found
垢版 |
2017/08/29(火) 22:19:46.46ID:???
>>116
同列に扱ってなんかいないだろ

setIntervalが誤差でずれていく
setTimeoutが誤差でタイムアウトする時間がずれている

違う話だろ
0118Name_Not_Found
垢版 |
2017/08/29(火) 22:30:09.12ID:???
>>117
質問者の下記一文は読んだか?

> 秒数カウントする(何回も呼ぶ)ものとかだと特にそんな感じがします
これを実装する為には setTimeout を再帰呼び出して setInterval と似た振舞いにしなければならない
ここで、setTimeout と setInterval ではインターバルの取り方が違うだろ
要件次第でどちらを選択するかが決まる
目的に合う実装は一つしかないはずなのに、setTimeout と setInterval を一緒くたに問題視するのは違うだろ
0119Name_Not_Found
垢版 |
2017/08/30(水) 05:25:33.41ID:???
下記一文ってそれだけが全てじゃないだろうに
0120Name_Not_Found
垢版 |
2017/08/30(水) 09:09:12.57ID:???
だな、setTimeout と setInterval の特性ぐらい勉強してね
0121Name_Not_Found
垢版 |
2017/08/30(水) 09:38:26.11ID:???
特性の違いは理解してるように読めるけどな
読解力の問題か
0122Name_Not_Found
垢版 |
2017/08/30(水) 12:19:11.35ID:???
こんな過疎板で自演するなや見苦しい
0123Name_Not_Found
垢版 |
2017/08/30(水) 15:57:27.84ID:???
情報が正しいのなら、自演云々はどうでもいい
煽りは害悪
0124Name_Not_Found
垢版 |
2017/08/30(水) 16:03:40.21ID:???
>>119
では、>>115の回答が全てなのか?違うだろ?
回答で全てを語っているなんて誰も言ってない

>>120
知ってる
0125Name_Not_Found
垢版 |
2017/08/30(水) 17:08:41.75ID:???
もう不毛な議論な気がする
回答にイチャモンをつけるのが正義みたいな風潮は何とかならんのかな
否定するなら、さらに良い回答で塗りつぶすぐらいの気概がある方が健全だと思う
彼は言葉は悪いけど、回答しているだけ非難だけしている人より数段マシだよ
0126Name_Not_Found
垢版 |
2017/08/30(水) 22:17:24.67ID:Imeby3lO
【環境】Win7-Pro,Chrome60.0
【何をしたいのか】NumLockキー状態の監視

リロードや何かの操作(イベント)の際のNumLockキーの状態を監視したいです。
例えば、リロードしたとき console.log("NumLockキーはOFF"); とかの出力をしたいです。
何か案はありますか?
0127Name_Not_Found
垢版 |
2017/08/30(水) 23:32:05.92ID:???
console.log("NumLockキーは"+event.getModifierState("NumLock")?"ON":"OFF");
0128Name_Not_Found
垢版 |
2017/08/30(水) 23:43:14.48ID:???
eventはkeydownとかのKeyboardEventじゃないとgetModifierState()生えてないからリロードの時とかは無理だな
0129Name_Not_Found
垢版 |
2017/08/31(木) 00:17:09.34ID:???
あ、MouseEventにも生えてんのか。
じゃvar fresh = true;とかしといてbodyのmousemoveとかmouseoverとかのハンドラのなかにif(fresh){さっきのconsole文;fresh=false;}すればどうか。
スマホだから確認できんけど
0130126
垢版 |
2017/08/31(木) 18:08:57.85ID:???
>>127-129
レスありがとうございます。 event.getModifierState("NumLock") で色々細工してみます
0131Name_Not_Found
垢版 |
2017/09/03(日) 00:26:56.14ID:???
すみません
javascriptの曖昧な型定義や柔軟性による複雑さは
jsDocコメントを書く事で回避できますでしょうか?
0132Name_Not_Found
垢版 |
2017/09/03(日) 01:05:40.28ID:???
複雑な理由はお前のコードの問題だから
JsDocどころか例え型定義があったり柔軟性がなくても
何も回避できないよ。
0133Name_Not_Found
垢版 |
2017/09/03(日) 01:42:32.01ID:???
>>131
jsdocて単なるJavadocのポーティングでしょ?ちゃんと書いたらそれにしたがったドキュメントを自動生成してくれるにすぎない。
flow(flowtype)やtypescriptなら型検査してくれるよ。
お手軽に始めるならflowがいいんじゃない?typescriptはちょっと(週末潰すくらい)気合い要る。
0134131
垢版 |
2017/09/03(日) 02:28:16.27ID:mSmyCXiG
ありがとうございます。

>>132
そうですね。
その場凌ぎのプロパティ追加やコールバックの嵐等、気を付けます。
>>133
そうですね。flowやtypescriptを使って安心するの良いかもです。

しかしjavascriptはアセンブラ言語みたいな扱いをされているのが
何とも面白いですね。
0135Name_Not_Found
垢版 |
2017/09/03(日) 05:36:32.07ID:???
それはES2015が出る前の考え方だよ
今はWASMもあるし今更そういうこと言うやつは居ない
0136Name_Not_Found
垢版 |
2017/09/03(日) 21:44:32.30ID:RQxmc/0y
<p id="hahaha"></p>
↑このpタグのみになにか処理したい場合のセレクタの書き方おしえて。
pタグ かつ id="hahaha"ってどう記述すればいい?
0137Name_Not_Found
垢版 |
2017/09/03(日) 21:51:40.73ID:???
idってのはhtml中に1個しか出てきちゃいけないもんだぞ
pタグであるかどうかなんて関係なく#hahahaだけでいい
まぁ別にp #hahahaとかでもいいけど
0138Name_Not_Found
垢版 |
2017/09/03(日) 23:04:10.21ID:???
document.getelementbyidで取得とかは?
0139Name_Not_Found
垢版 |
2017/09/03(日) 23:26:50.18ID:???
普通に
document.querySelector('#hahaha');
でいいんじゃね
速度が問題になるほどかどうかだけど
0140Name_Not_Found
垢版 |
2017/09/03(日) 23:40:07.88ID:???
idひとつしかつけちゃいけないって言っても、つけたから何かエラーが起きるわけでもないし普通に2つ以上についてることもある
querySelectorでp#hahahaでいいんじゃない
0141Name_Not_Found
垢版 |
2017/09/03(日) 23:45:11.25ID:buG2OJDC
関数の有無をチェックし、その関数を実行するということをやりたいのですが、
fCheckだけなら以下で済みますが

if ( typeof fCheck == "function") {
fCheck();
}

fCheckの部分を変数に入れるなどして使いまわしたい場合は、どのように書けば良いでしょうか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況