paiza.ioで試したが再現しなかった
JavaScriptの実行エンジンがあらかじめ使いもせずすぐdeleteするような無駄な処理を削ぎ落とすとかしてるんじゃね?知らんけど
探検
JavaScript の質問用スレッド vol.126
197デフォルトの名無しさん (JP 0H7f-Odlx [133.106.38.39])
2024/06/09(日) 04:55:12.99ID:Wajupa1KH198デフォルトの名無しさん (ワッチョイ 23a9-YaDi [240b:12:203:6300:* [上級国民]])
2024/06/09(日) 04:59:29.38ID:eQJZpcgM0199デフォルトの名無しさん (JP 0H7f-Odlx [133.106.38.39])
2024/06/09(日) 05:22:49.71ID:Wajupa1KH あーjsをhtmlに直書きしてFireFox/Edgeで読み込んだら再現したわ
jsじゃなくて開発者ツールのコンソール表示の仕様だと思う
配列内のオブジェクトみたいなネストされてるモノについては、その時点の値じゃなく表示を求められた時点の値が表示されるとかじやないかな
jsじゃなくて開発者ツールのコンソール表示の仕様だと思う
配列内のオブジェクトみたいなネストされてるモノについては、その時点の値じゃなく表示を求められた時点の値が表示されるとかじやないかな
200デフォルトの名無しさん (ワッチョイ 3f12-HeGF [240b:11:92e0:d400:*])
2024/06/09(日) 06:13:08.40ID:7bXOQjjM0201デフォルトの名無しさん (ワッチョイ 43e9-qUdF [222.15.234.152])
2024/06/09(日) 06:25:46.35ID:v+ppJ5f30 id を別な文字に変えると
202デフォルトの名無しさん (ワッチョイ ff0c-xov0 [240b:253:a100:e600:*])
2024/06/09(日) 08:02:18.06ID:GyoPGP3N0 全ての波【電磁波】で下記の症状が起きる
理由は電磁波が強いために起こるか電磁波が通過すれば磁気が生じて鉄分が振動して間接的に鼓膜などが振動する
マイクロ波聴覚効果を用いた音声伝送に関する検討
2018/03/05
https://www.bookpark.ne.jp/cm/ieej/detail/IEEJ-ZT181039-PDF/
マイクロ波聴覚効果 Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E6%B3%A2%E8%81%B4%E8%A6%9A%E5%8A%B9%E6%9E%9C
>>マイクロ波を照射された被験者は、クリック音やブザーのようなうなり音が聞こえる
早大、物質中の創発磁気モノポールに起こる集団振動現象を理論的に発見
2024/06/04
https://news.mynavi.jp/techplus/article/20240604-2958879/
理研、電子ビームの電子回折をアト秒で制御できる技術を開発
2024/06/06
https://news.mynavi.jp/techplus/article/20240606-2960578/
※電磁波も振動させれると記載あり
最低でも下記ノ電磁波の威力が必要なら行っている者全員補足されている
GPSの電波は超微弱
https://gigazine.net/news/20240421-gypsum-gps-receiver/
[22]米国特許5868100号
【GPS位置情報を使用した動物コントロール・システム】
一例ですが年々受信機の感度は向上している
東工大、磁束集中器を用いない高感度「ダイヤモンド量子センサ」を開発
2024/06/07
https://news.mynavi.jp/techplus/article/20240607-2961238/
電磁波音波攻撃をされている部位ごとにホルモンや異常物質などの観測
パーキンソン病の原因物質、脳内の可視化に成功
2024年6月6日 0時00分
https://www.asahi.com/articles/ASS652V7RS65ULBH00GM.html
理由は電磁波が強いために起こるか電磁波が通過すれば磁気が生じて鉄分が振動して間接的に鼓膜などが振動する
マイクロ波聴覚効果を用いた音声伝送に関する検討
2018/03/05
https://www.bookpark.ne.jp/cm/ieej/detail/IEEJ-ZT181039-PDF/
マイクロ波聴覚効果 Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E6%B3%A2%E8%81%B4%E8%A6%9A%E5%8A%B9%E6%9E%9C
>>マイクロ波を照射された被験者は、クリック音やブザーのようなうなり音が聞こえる
早大、物質中の創発磁気モノポールに起こる集団振動現象を理論的に発見
2024/06/04
https://news.mynavi.jp/techplus/article/20240604-2958879/
理研、電子ビームの電子回折をアト秒で制御できる技術を開発
2024/06/06
https://news.mynavi.jp/techplus/article/20240606-2960578/
※電磁波も振動させれると記載あり
最低でも下記ノ電磁波の威力が必要なら行っている者全員補足されている
GPSの電波は超微弱
https://gigazine.net/news/20240421-gypsum-gps-receiver/
[22]米国特許5868100号
【GPS位置情報を使用した動物コントロール・システム】
一例ですが年々受信機の感度は向上している
東工大、磁束集中器を用いない高感度「ダイヤモンド量子センサ」を開発
2024/06/07
https://news.mynavi.jp/techplus/article/20240607-2961238/
電磁波音波攻撃をされている部位ごとにホルモンや異常物質などの観測
パーキンソン病の原因物質、脳内の可視化に成功
2024年6月6日 0時00分
https://www.asahi.com/articles/ASS652V7RS65ULBH00GM.html
203デフォルトの名無しさん (ワッチョイ 2301-t5YS [60.88.88.32])
2024/06/09(日) 08:21:10.79ID:kTI4ZAed0204デフォルトの名無しさん (ワッチョイ 2361-7AaF [124.87.227.97])
2024/06/09(日) 16:12:58.02ID:Q+r4d53/0 単純なオブジェクトならconsole.log(JSON.stringify(hoge))とかするのも手だね
205デフォルトの名無しさん (ワッチョイ ff96-sNpc [2400:2200:4b1:1eb8:*])
2024/06/09(日) 17:12:03.63ID:bzc/s2Ac0 ここが詳しいね↓
Chrome の console.log でハマらないために
http://nmi.jp/2022-11-14-Be-careful-about-console-log-in-chrome
Chrome の console.log でハマらないために
http://nmi.jp/2022-11-14-Be-careful-about-console-log-in-chrome
206デフォルトの名無しさん (ワッチョイ 639f-VQfa [2001:268:9a20:1e45:*])
2024/06/09(日) 18:59:00.31ID:47AcMhsH0 >let test
オブジェクトtest に再代入していないから、const test を使う。
内部を変更しているだけだから(破壊的変更)
配列オブジェクトtest の、内部のオブジェクトを変更している。
value は参照渡し。
内部のオブジェクトをコピー・再構築して、引数に渡すのではない!
C/C++ 以外の言語は参照渡し。
コピー・再構築せずに、現存するオブジェクトをそのまま引数に渡す
const test = [{id: 1,name: '太郎'}];
console.log(test);
//=> forEach 実行前は、[ { id: 1, name: '太郎' } ]
test.forEach((value) => {
delete value.id;
})
console.log(test);
//=> forEach 実行後は、[ { name: '太郎' } ]
オブジェクトtest に再代入していないから、const test を使う。
内部を変更しているだけだから(破壊的変更)
配列オブジェクトtest の、内部のオブジェクトを変更している。
value は参照渡し。
内部のオブジェクトをコピー・再構築して、引数に渡すのではない!
C/C++ 以外の言語は参照渡し。
コピー・再構築せずに、現存するオブジェクトをそのまま引数に渡す
const test = [{id: 1,name: '太郎'}];
console.log(test);
//=> forEach 実行前は、[ { id: 1, name: '太郎' } ]
test.forEach((value) => {
delete value.id;
})
console.log(test);
//=> forEach 実行後は、[ { name: '太郎' } ]
207デフォルトの名無しさん (ワッチョイ cf10-N2Ms [153.252.74.3])
2024/06/13(木) 23:54:51.41ID:UwmoZOtM0 console.log厄介だな…プリントデバッグ卒業しないと駄目か
208デフォルトの名無しさん (ワッチョイ 8f13-Sdaz [2400:2200:1d9:de7d:*])
2024/06/14(金) 00:22:57.99ID:QtqbLyKp0 卒業しなくていい
209デフォルトの名無しさん (ワッチョイ 8299-bV2f [2400:2200:4fb:564e:*])
2024/07/02(火) 17:17:44.53ID:kFuGoUXg0 ループの中でwindow.openして、ポートだけが違う同じドメインの同じ画面を複数開くとchromeのタスクマネージャーでは全部同じプロセスIDでcpuコア分散してくれないのだけれどそういうものでしょうか?
最初は同じオリジンでやってたんだけどふか高くて、ポート変えて別オリジンならプロセスも変わってコア使い回してくれるかなと思ったのだけれどそうはならず、回避方法模索中です
最初は同じオリジンでやってたんだけどふか高くて、ポート変えて別オリジンならプロセスも変わってコア使い回してくれるかなと思ったのだけれどそうはならず、回避方法模索中です
210デフォルトの名無しさん (ワッチョイ 1231-PoPW [2400:2200:4d2:c4bd:*])
2024/07/02(火) 20:47:10.76ID:nZysD7UJ0 詳しくは分からないけどJavaScriptのコードで関与できる部分じゃないような
まずchromeのスレあたりで挙動について質問してみたら?
まずchromeのスレあたりで挙動について質問してみたら?
211デフォルトの名無しさん (ワッチョイ 8299-bV2f [2400:2200:4fb:564e:*])
2024/07/02(火) 21:33:51.40ID:kFuGoUXg0 >>210
ありがとうございます
イロイロ試したけど挙動的にwindow.openで同じドメインのページ開くと同じプロセスに囲われてしまうっぽいです
で、hostsに同じipを別ホスト名に定義してそのホスト名で呼んだら別プロセスになってくれた
気持ち悪いけど一旦これで逃げられるか検証したいと思います
ありがとうございます
イロイロ試したけど挙動的にwindow.openで同じドメインのページ開くと同じプロセスに囲われてしまうっぽいです
で、hostsに同じipを別ホスト名に定義してそのホスト名で呼んだら別プロセスになってくれた
気持ち悪いけど一旦これで逃げられるか検証したいと思います
212デフォルトの名無しさん (ワッチョイ 0df5-hfHU [2404:7a82:3de0:3500:*])
2024/07/03(水) 18:29:30.68ID:YlCf6WAf0 >>211
子ウィンドウから opener で親を参照できる間柄だと CPU を分けるわけにはいかないんじゃない?
子ウィンドウから opener で親を参照できる間柄だと CPU を分けるわけにはいかないんじゃない?
213デフォルトの名無しさん (ワッチョイ 0df5-hfHU [2404:7a82:3de0:3500:*])
2024/07/03(水) 18:30:11.37ID:YlCf6WAf0 >>212
CPU じゃない、プロセスか
CPU じゃない、プロセスか
214デフォルトの名無しさん (ワッチョイ 9e7e-bV2f [2400:2200:7b2:8057:*])
2024/07/03(水) 20:03:48.10ID:QL5YeWa80 >>213
大元画面
→A機能群メイン画面
→B機能群メイン画面
→C機能群メイン画面
みたいな構成で大元からワンクリックでA,B,C画面がバババっと別Windowで表示のイメージで
大元とA,B,Cは親子関係いらないしA,B,C間も参照不要だから別プロセスで上げてコア分散して欲しいんだけどA,B,Cが同一プロセスになっちゃうって感じなのです
大元画面
→A機能群メイン画面
→B機能群メイン画面
→C機能群メイン画面
みたいな構成で大元からワンクリックでA,B,C画面がバババっと別Windowで表示のイメージで
大元とA,B,Cは親子関係いらないしA,B,C間も参照不要だから別プロセスで上げてコア分散して欲しいんだけどA,B,Cが同一プロセスになっちゃうって感じなのです
215デフォルトの名無しさん (ワッチョイ 0df5-hfHU [2404:7a82:3de0:3500:*])
2024/07/04(木) 04:55:13.57ID:O++Z8oMX0 >>214
それらが同じドメインにあってセキュリティ上も子画面から親画面を opener で参照できちゃう間柄だから、スクリプトエンジンも同じインスタンスじゃないといけなくて同じプロセスになるってことなんじゃないかな。
間に別ドメインを挟んでリダイレクトでもするとプロセスが分かれるかもね。
それらが同じドメインにあってセキュリティ上も子画面から親画面を opener で参照できちゃう間柄だから、スクリプトエンジンも同じインスタンスじゃないといけなくて同じプロセスになるってことなんじゃないかな。
間に別ドメインを挟んでリダイレクトでもするとプロセスが分かれるかもね。
216デフォルトの名無しさん (ワッチョイ f518-w2mC [2400:2200:6b6:7ae7:*])
2024/07/04(木) 08:37:45.29ID:7WHO1Maz0 Chromeのプロセスマネジメントの仕組みについて説明すると、Chromeは各タブや拡張機能を個別のプロセスで管理することで、ブラウザの安定性とセキュリティを向上させています。しかし、同じオリジン(スキーム、ホスト、ポートが同じ)からのリクエストに対しては、プロセスを共有することが一般的です。ポート番号が異なる場合でも、同じドメインからのリクエストは同じプロセスで処理されることが多いです。
CPUコアの分散については、Chromeのプロセスマネジメントに依存するため、開いているタブや実行中のスクリプトの数が多くても、同じプロセスで実行される場合があります。そのため、CPUコアが均等に分散されないことがあるのです。
CPUコアの分散については、Chromeのプロセスマネジメントに依存するため、開いているタブや実行中のスクリプトの数が多くても、同じプロセスで実行される場合があります。そのため、CPUコアが均等に分散されないことがあるのです。
217デフォルトの名無しさん (ワッチョイ 5e63-klGW [153.174.220.41])
2024/07/05(金) 09:45:00.80ID:Js1ZcPln0 acrobatで選択した単語をJavascriptに渡せないのは仕様?
api使いたいのにその前段階で躓いている
api使いたいのにその前段階で躓いている
218デフォルトの名無しさん (ワッチョイ 5e63-klGW [153.174.220.41])
2024/07/05(金) 10:34:02.07ID:Js1ZcPln0 自己解決した。
渡せないんだねえ。
ハイライト経由で渡すんだね。
面倒くさくな。
渡せないんだねえ。
ハイライト経由で渡すんだね。
面倒くさくな。
219デフォルトの名無しさん (ワッチョイ 692d-RZYL [240b:12:203:6300:* [上級国民]])
2024/07/05(金) 10:37:09.77ID:Beou0vig0 ブラウザの制約を厳しくしないと
すぐクレカ番号やログイン情報を抜かれるからな
特殊な事をしたければデスクトップアプリやCLIをベースにした方が無難
すぐクレカ番号やログイン情報を抜かれるからな
特殊な事をしたければデスクトップアプリやCLIをベースにした方が無難
220デフォルトの名無しさん (ワッチョイ 5e63-klGW [153.174.220.41])
2024/07/05(金) 11:02:03.90ID:Js1ZcPln0 デスクトップアプリのAcrobat DCで英文自動翻訳注釈作成機を作ろうとしてるんですけどねえ
221デフォルトの名無しさん (ワッチョイ 9279-oiVf [27.132.131.251])
2024/07/06(土) 16:41:04.11ID:ixa6zhE30 acrobatというかPDFに英文箇所を翻訳したいってことだよね
acrobatでやるならプラグインでも入れないと無理なんじゃないかな
やる事の割に大変な手間だから有償だったりするね
acrobatでやるならプラグインでも入れないと無理なんじゃないかな
やる事の割に大変な手間だから有償だったりするね
222デフォルトの名無しさん (ワッチョイ 5e63-klGW [153.174.220.41])
2024/07/06(土) 19:00:07.61ID:SVaQBkcr0223デフォルトの名無しさん (ワッチョイ c24b-Wzaw [203.139.76.105 [上級国民]])
2024/07/27(土) 23:26:18.23ID:6J8KNmw/0 iOSのブラウザだと指をつまむようにピンチ操作するとタブ一覧になりますがこれを防ぐ方法ってないんでしょうか
touchstart, touchmove, touchendのそれぞれでpreventDefaultしても無理でした
touchstart, touchmove, touchendのそれぞれでpreventDefaultしても無理でした
224デフォルトの名無しさん (ワッチョイ ef7d-urqj [111.89.246.142])
2024/08/11(日) 18:28:32.58ID:tgahoj8r0 東京都の低所得者向け支援事業のページですが、
https://kurashiouen.metro.tokyo.lg.jp/login
ここのフォームに毎回手動で入れるのが面倒なんで
TamperMonkeyで入れようとしたんですが、
うまく値が入らないです。
(メアド登録すれば向こうから知らせてくるのだけどメアドを広範囲に振りまくのはなるべく避けたい)
inputタグのvalueプロパティに
値を入れてその値が画面に出ていても
そのinputにフォーカスすると消えてしまいますし、
ページのjavascriptからは正常な値が入っていると認識されていないようです。
(生年月日のselectタグも同じ)
https://kurashiouen.metro.tokyo.lg.jp/login
ここのフォームに毎回手動で入れるのが面倒なんで
TamperMonkeyで入れようとしたんですが、
うまく値が入らないです。
(メアド登録すれば向こうから知らせてくるのだけどメアドを広範囲に振りまくのはなるべく避けたい)
inputタグのvalueプロパティに
値を入れてその値が画面に出ていても
そのinputにフォーカスすると消えてしまいますし、
ページのjavascriptからは正常な値が入っていると認識されていないようです。
(生年月日のselectタグも同じ)
225デフォルトの名無しさん (ワッチョイ ef7d-urqj [111.89.246.142])
2024/08/11(日) 18:28:49.67ID:tgahoj8r0 最初の世帯識別番号を全部フィルしてから(全部4ケタ)
一番下の規約同意チェックボックスをクリックしないと
ログインボタンが有効にならないという動作のようです。
(チェックボックスを.checked=trueにするだけではダメ)
うまく自動で値を入力するにはどうすればいいでしょうか?
セレニウムやAutoHotKeyを使えばできるような気もしますが
できればTamperMonkeyでやりたい
一番下の規約同意チェックボックスをクリックしないと
ログインボタンが有効にならないという動作のようです。
(チェックボックスを.checked=trueにするだけではダメ)
うまく自動で値を入力するにはどうすればいいでしょうか?
セレニウムやAutoHotKeyを使えばできるような気もしますが
できればTamperMonkeyでやりたい
226デフォルトの名無しさん (ワッチョイ cb61-6HV9 [60.45.92.38])
2024/08/11(日) 21:08:30.34ID:lbk/Z2Eg0 >>224
それぞれイベント発火時に値を読み取るようなので
inputに対しては.valueに値設定したら.dispatchEvent(new Event("input"))
selectは.dispatchEvent(new Event("change"))
チェックボックスは.click()
それぞれイベント発火時に値を読み取るようなので
inputに対しては.valueに値設定したら.dispatchEvent(new Event("input"))
selectは.dispatchEvent(new Event("change"))
チェックボックスは.click()
227デフォルトの名無しさん (ワッチョイ ef7d-urqj [111.89.246.142])
2024/08/12(月) 18:41:31.15ID:dTbtx1jA0228デフォルトの名無しさん (ワッチョイ 2501-FzYF [126.51.187.51])
2024/08/23(金) 05:01:35.54ID:GNzk6D2z0 ここ1年くらいで本格的に学び始めたものです
数カ月前にmicromatchていう正規表現ライブラリに脆弱性が指摘されてCVEに登録されたみたいんなんですが
これ使ってるライブラリは芋づる式で全部npmでSeverity:moderateの警告が出てるはずで
その中にtypescript-eslintも入ってるので、これ使ってるフレームワークのテンプレート、
ほとんど影響受けてると思うんですが、各ライブラリのissueとか探しても全然話題になっていないみたいです。
皆、moderateくらいのセキュリティ警告はほとんど気にしないんですか?
それとも開発環境Onlyの依存関係だから?
数カ月前にmicromatchていう正規表現ライブラリに脆弱性が指摘されてCVEに登録されたみたいんなんですが
これ使ってるライブラリは芋づる式で全部npmでSeverity:moderateの警告が出てるはずで
その中にtypescript-eslintも入ってるので、これ使ってるフレームワークのテンプレート、
ほとんど影響受けてると思うんですが、各ライブラリのissueとか探しても全然話題になっていないみたいです。
皆、moderateくらいのセキュリティ警告はほとんど気にしないんですか?
それとも開発環境Onlyの依存関係だから?
229デフォルトの名無しさん (ワッチョイ db59-3ukT [2400:4176:2846:5b00:*])
2024/08/23(金) 16:45:00.54ID:bCxVN52K0 >>228
botがプルリク送ってきたとて放置
botがプルリク送ってきたとて放置
230デフォルトの名無しさん (ワッチョイ 3542-l7gQ [2001:268:c203:2913:*])
2024/08/27(火) 21:06:37.83ID:lR/Nrb/N0 バニラJSって流行ってんですか?
231デフォルトの名無しさん (ワッチョイ 6bcf-Xwm8 [153.165.155.26])
2024/08/28(水) 07:37:45.61ID:RARaVMf40232デフォルトの名無しさん (ワッチョイ 25a5-sJ2H [2400:4051:e720:2600:*])
2024/08/30(金) 21:40:56.02ID:iQc2EzH00 拡張機能でページの読み込み完了時に動作するスクリプトを書いたが、
完了前に発動してしまい、
ラッセーラー、ラッセーラー
完了前に発動してしまい、
ラッセーラー、ラッセーラー
2331000て事にしよっと 999よりデカい (ワッチョイ 8dc0-gcOT [2400:2200:671:c292:*])
2024/09/03(火) 06:53:50.48ID:3ofcqTVt0 《言語 javascript》
for(let i = 0;i < 10; i++){
if (i === 99999){
break; // とにかく脱出
}
}
console.log("i="+i)
は、ダメである
varは非推奨らしいけど、この意味は
T》varは、使用しないことは、推奨
U》varは、使用は、推奨は、しない
等 イロイロな解釈の余地はあるな
by 🤡自称プロマネ
letは地球人が推奨するヤバイやつ∴
letは、宇宙人的には、使用は、🈲ずる
by 👤自称ウチュ〰人 本日もモチ暴言
質問ぢゃない質問。ウチュ〰人素晴らしい
by 🥳ウチュ〰人に忖度するバカッテスタ
for(let i = 0;i < 10; i++){
if (i === 99999){
break; // とにかく脱出
}
}
console.log("i="+i)
は、ダメである
varは非推奨らしいけど、この意味は
T》varは、使用しないことは、推奨
U》varは、使用は、推奨は、しない
等 イロイロな解釈の余地はあるな
by 🤡自称プロマネ
letは地球人が推奨するヤバイやつ∴
letは、宇宙人的には、使用は、🈲ずる
by 👤自称ウチュ〰人 本日もモチ暴言
質問ぢゃない質問。ウチュ〰人素晴らしい
by 🥳ウチュ〰人に忖度するバカッテスタ
234デフォルトの名無しさん (ワッチョイ c18d-v++5 [240d:f:2a0:600:*])
2024/09/09(月) 00:14:27.71ID:0tBQa8Zr0 node.jsで「http://www.amecs.co.jp/solar/index.html?hlat=36.00&hlon=140.25」の
textareaの「0,0,0,0...」という文字列を取得したいです。
以下のようなコードで実行すると結果は
Textarea value:
となり、うまく取得できません。
もし原因がわかれば教えてください。
<コード>
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://www.amecs.co.jp/solar/index.html?hlat=36.00&hlon=140.25');
// ページが完全に読み込まれるのを待ちます
await page.waitForSelector('#sdata');
// textareaの値を取得します
const textareaValue = await page.$eval('#sdata', el => el.value);
console.log('Textarea value:', textareaValue);
await browser.close();
})();
textareaの「0,0,0,0...」という文字列を取得したいです。
以下のようなコードで実行すると結果は
Textarea value:
となり、うまく取得できません。
もし原因がわかれば教えてください。
<コード>
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://www.amecs.co.jp/solar/index.html?hlat=36.00&hlon=140.25');
// ページが完全に読み込まれるのを待ちます
await page.waitForSelector('#sdata');
// textareaの値を取得します
const textareaValue = await page.$eval('#sdata', el => el.value);
console.log('Textarea value:', textareaValue);
await browser.close();
})();
235デフォルトの名無しさん (ワッチョイ 1361-IU9Y [61.119.230.146])
2024/09/09(月) 01:15:24.84ID:/+PLPYVG0236デフォルトの名無しさん (ワッチョイ c1ed-BHET [240d:f:2a0:600:*])
2024/09/09(月) 07:40:59.09ID:0tBQa8Zr0237デフォルトの名無しさん (ワッチョイ 1361-IU9Y [61.119.230.146])
2024/09/10(火) 01:02:40.92ID:pJ+fs1Xn0 >>236
ブラウザF12の開発ツールの要素タブでCtrl+Fして#sdataで検索
ブラウザF12の開発ツールの要素タブでCtrl+Fして#sdataで検索
238デフォルトの名無しさん (ワッチョイ c1b3-BHET [240d:f:2a0:600:*])
2024/09/11(水) 23:50:48.17ID:HwHYDYw50239デフォルトの名無しさん (ラクッペペ MM4e-co9J [133.106.89.97])
2024/09/26(木) 10:16:59.99ID:Wk3ylYwqM document.getElementById("test_id");
を使わずに
test_id.value
と、直接使うと何か問題がありますか?
を使わずに
test_id.value
と、直接使うと何か問題がありますか?
240今の所はポクのは問題は未だ無い (ワッチョイ 3ffb-dFxZ [2400:2200:5d5:5428:*])
2024/09/26(木) 21:22:05.89ID:hoEdOj9E0 📕はCanvasタグID 、📘はAタグID
─ ─ ─ ─ ─ ─ ─
🔴 = document.getElementById("📕");
🔵= document.getElementById("📘");
var 🟢 = 🔴.toDataURL("image/png");
🔵.href = 🟢;
BY 🤡 んー素晴らしい
─ ─ ─ ─ ─ ─ ─
オレッちのパソコン環境だと
pure な javascript のハズだけど
document.getElementById は不要
var 🟢 = 📕.toDataURL("image/png");
📘.href = 🟢;
BY 👤 ヤバぃのかな。こんな実装
─ ─ ─ ─ ─ ─ ─
タグID がjavascriptのグローバル変数❓
そんなのは、教科書は、見たことは、
ナイナイナイ 在る。
てか、そぅなら、以下一行で済むぢゃん
📘.href = 📕.toDataURL("image/png");
BY 🥳
─ ─ ─ ─ ─ ─ ─
地球の
javascriptは超進化したのだろうか?!
BY 👤
─ ─ ─ ─ ─ ─ ─
🔴 = document.getElementById("📕");
🔵= document.getElementById("📘");
var 🟢 = 🔴.toDataURL("image/png");
🔵.href = 🟢;
BY 🤡 んー素晴らしい
─ ─ ─ ─ ─ ─ ─
オレッちのパソコン環境だと
pure な javascript のハズだけど
document.getElementById は不要
var 🟢 = 📕.toDataURL("image/png");
📘.href = 🟢;
BY 👤 ヤバぃのかな。こんな実装
─ ─ ─ ─ ─ ─ ─
タグID がjavascriptのグローバル変数❓
そんなのは、教科書は、見たことは、
ナイナイナイ 在る。
てか、そぅなら、以下一行で済むぢゃん
📘.href = 📕.toDataURL("image/png");
BY 🥳
─ ─ ─ ─ ─ ─ ─
地球の
javascriptは超進化したのだろうか?!
BY 👤
241デフォルトの名無しさん (ワッチョイ b310-Qw5I [180.12.82.129])
2024/10/03(木) 08:27:00.36ID:EHJ+UvFT0 const str = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
という文字列を[]で囲まれた部分を取り出して配列にしたいんだけど
どうやればいいですか?
aaa,bbb,cccとddd,eee,fffとggg,hhh,iiiの3つの要素を持つ配列ってことです
という文字列を[]で囲まれた部分を取り出して配列にしたいんだけど
どうやればいいですか?
aaa,bbb,cccとddd,eee,fffとggg,hhh,iiiの3つの要素を持つ配列ってことです
242デフォルトの名無しさん (ラクッペペ MMff-xL0Q [133.106.77.209])
2024/10/03(木) 08:38:25.14ID:G42V7GDMM 外側を[]で囲んでeval
243デフォルトの名無しさん (ワッチョイ 3f00-v4Ln [221.118.182.146])
2024/10/03(木) 08:40:52.73ID:WRRjekij0 aaaとかbbbとかの形式によってはJSON.parseで良くないか
244デフォルトの名無しさん (アウアウエー Sa72-xere [111.239.153.138])
2024/10/08(火) 10:57:59.20ID:BetB/9MOa const str = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
str.split(",");
str.split(",");
245デフォルトの名無しさん (アウアウエー Sa72-xere [111.239.153.138])
2024/10/08(火) 11:13:58.37ID:BetB/9MOa // こうか?
const str = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
str.replace("[","").replaceAll("],","").replace("]","").split("[");
const str = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
str.replace("[","").replaceAll("],","").replace("]","").split("[");
246デフォルトの名無しさん (アウアウエー Sa72-xere [111.239.153.138])
2024/10/08(火) 11:28:09.41ID:BetB/9MOa // こっちか
const strArray = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
// 角括弧で囲まれた要素を二重引用符で囲んでJSON形式に変換
const jsonFormattedStr = strArray.replace(/(\w+)/g, '"$1"');
// JSON.parse()を使って配列に変換
JSON.parse(`[${jsonFormattedStr}]`);
// [ ["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]]
const strArray = "[aaa,bbb,ccc],[ddd,eee,fff],[ggg,hhh,iii]";
// 角括弧で囲まれた要素を二重引用符で囲んでJSON形式に変換
const jsonFormattedStr = strArray.replace(/(\w+)/g, '"$1"');
// JSON.parse()を使って配列に変換
JSON.parse(`[${jsonFormattedStr}]`);
// [ ["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]]
247デフォルトの名無しさん (ワッチョイ ba45-1ld3 [59.147.98.100])
2024/10/11(金) 07:13:33.54ID:tTImpqsq0 久々にプログラミングしてるのですが、今のjavascriptって即時関数の中にコードを書くのが普通なんですか?
昔javascript触ってた時はそういうのなかったので
昔javascript触ってた時はそういうのなかったので
248デフォルトの名無しさん (ワッチョイ fa00-F8I7 [221.118.182.146])
2024/10/11(金) 07:51:03.87ID:o/ilE/ed0 JSは15年くらい前から無名関数使い倒す文化だと思うけど
249デフォルトの名無しさん (ワッチョイ 0b4c-V3+A [2001:240:2472:c002:*])
2024/10/11(金) 09:47:24.63ID:uRIO12V20 2005年頃には即時関数を使い倒す文化が確立されてたぞ
むしろ2015以降は代替手段ができたからQuick and Dirtyなコードじゃなければ即時関数の利用シーンはかなり減ってる
むしろ2015以降は代替手段ができたからQuick and Dirtyなコードじゃなければ即時関数の利用シーンはかなり減ってる
250デフォルトの名無しさん (ワッチョイ 9302-i3Tp [124.210.129.68])
2024/10/11(金) 09:52:14.18ID:SCGEnJgQ0 letとconstができたから即時間数なんてもういらない
251デフォルトの名無しさん (ベーイモ MM66-shoS [27.253.251.174])
2024/10/11(金) 11:05:14.15ID:cc/oW7+2M 個人的には 1) その場限りのコールバック、2) 一連の手続きの中で中間変数(説明変数含む)が多くなるケース、で即時関数をよく使う
後者は「結果の局所化」及び「意図と実装の分離」の効果をサクッと得られる
後者は「結果の局所化」及び「意図と実装の分離」の効果をサクッと得られる
252デフォルトの名無しさん (ワッチョイ 0b4c-V3+A [2001:240:2472:c002:*])
2024/10/11(金) 11:29:01.18ID:uRIO12V20 即時関数は即時実行関数式(IIFE)の略で無名関数とは違うと思うんだけど>>251は無名関数について書いてない?
253デフォルトの名無しさん (ワッチョイ fa00-F8I7 [221.118.182.146])
2024/10/11(金) 11:48:22.92ID:o/ilE/ed0 すまん。俺が無名関数とか言い出したから良くなかったんだろうと思う
254デフォルトの名無しさん (ワッチョイ b70e-3m9W [2400:2200:6f3:9a36:*])
2024/10/15(火) 06:39:54.87ID:/S0KwaUI0 そもそも、基本的に関数なんていらん。
ほぼ全部、変数は、グローバル変数で宣言し
とにかく、サブルーチンは
イベンリスナー系を除いて不要だよな
てゆぅかさ、goto文がないようだし、
goto文のラベルの代わりに
無名じゃない関数
(モビロン引数はなし∵全部グローバル変数)
これが、無限年後のJavaスクリプトの常識だぜ
てか、無名関数廃止して、gotoとラベルを
無限以内に復活しようよ
これで、ド初心者の人気No.ワン言語、確実
ほぼ全部、変数は、グローバル変数で宣言し
とにかく、サブルーチンは
イベンリスナー系を除いて不要だよな
てゆぅかさ、goto文がないようだし、
goto文のラベルの代わりに
無名じゃない関数
(モビロン引数はなし∵全部グローバル変数)
これが、無限年後のJavaスクリプトの常識だぜ
てか、無名関数廃止して、gotoとラベルを
無限以内に復活しようよ
これで、ド初心者の人気No.ワン言語、確実
255デフォルトの名無しさん (ワッチョイ bfa1-LGdj [2001:268:9a20:b79:*])
2024/10/15(火) 09:34:04.49ID:vvxZNDvq0 >>241
Ruby のJSON.parse なら、
require 'json'
# 改行を削除する。削除しなくても同じ結果
json_str = <<'JSON'.delete( "\n" )
[ {"あ":[{"い":1}, "x"]},
[] ]
JSON
p json_obj = JSON.parse( json_str )
#=> [{"あ"=>[{"い"=>1}, "x"]}, []]
Ruby のJSON.parse なら、
require 'json'
# 改行を削除する。削除しなくても同じ結果
json_str = <<'JSON'.delete( "\n" )
[ {"あ":[{"い":1}, "x"]},
[] ]
JSON
p json_obj = JSON.parse( json_str )
#=> [{"あ"=>[{"い"=>1}, "x"]}, []]
256デフォルトの名無しさん (ワッチョイ bf7d-ZVNI [111.89.246.142])
2024/10/19(土) 15:37:37.54ID:67I5xGKq0 スクリプトの問題とは微妙に話が違いますが、
tampermonkeyじゃなくてgreasemonkey使っている人いますか?
firefoxで使ってるんですが、
greasemonkeyだと自作スクリプトって簡単にはインストールできないですよね?
zipに固めないとインストールできないと思うのですが、
みなさんはどうやってるんでしょうか?
tampermonkeyじゃなくてgreasemonkey使っている人いますか?
firefoxで使ってるんですが、
greasemonkeyだと自作スクリプトって簡単にはインストールできないですよね?
zipに固めないとインストールできないと思うのですが、
みなさんはどうやってるんでしょうか?
257デフォルトの名無しさん (ワッチョイ 977c-d0HJ [122.209.8.233])
2024/11/19(火) 23:39:35.70ID:Jroeim880 JavaScriptのwindow.openで第2引数にウィンド名を指定して画面を開きます 続いて全く同じ引数で同じ画面をwindow.openで開いてるのに別ウィンドウで開いてしまいます
broadcastchannelを使っている画面でこのような事象が見られるように思えるのですが、broadcastchannelを使っている画面はwindow.openで第2引数を指定しても別ウィンドウで開いてしまうのでしょうか
因みに関連ウィンドウは全て同オリジンでウィンドウ名は半角空白も含まれない半角英文字のみです
broadcastchannelを使っている画面でこのような事象が見られるように思えるのですが、broadcastchannelを使っている画面はwindow.openで第2引数を指定しても別ウィンドウで開いてしまうのでしょうか
因みに関連ウィンドウは全て同オリジンでウィンドウ名は半角空白も含まれない半角英文字のみです
258デフォルトの名無しさん (ワッチョイ 0ed1-iDGe [240a:61:11c0:64d6:*])
2024/11/20(水) 09:20:12.24ID:GmME3X9l0 開いたウインドウにナビゲートするのではなく?
259デフォルトの名無しさん (ワッチョイ 1a43-d0HJ [2400:2200:7db:bf56:*])
2024/11/20(水) 10:44:47.45ID:0q/8r7xH0 >>258
同じurl window.nameのページが普通に別ウィンドウで開いちゃいますね
同じurl window.nameのページが普通に別ウィンドウで開いちゃいますね
260デフォルトの名無しさん (ワッチョイ 0b10-d0HJ [2400:2200:7f9:bb38:*])
2024/11/21(木) 20:21:30.75ID:/JpQPFMK0
EchoAPIはVS Code環境に素晴らしい追加で、APIテストが超楽になった!
262デフォルトの名無しさん (ワッチョイ 1755-Dj8N [2400:4151:a4a0:6500:*])
2024/12/07(土) 12:00:11.18ID:Hozm9f1q0 画像の読み込みが完了したら動作するのはできたけど、動画の読み込みが完了したら動作するのはimgの部分をvideoに変えてもできませんでした。
どのようにやれば動画の読み込みが完了して動作するようにできますか?
const img_elm = document.createElement("img");
document.body.appendChild(img_elm);
img_elm.src = "./test.png";
img_elm.style.position = "absolute";
img_elm.style.top = "0px";
img_elm.style.left = "0px";
img_elm.onload = function(){
alert("画像の読み込み完了");
}
どのようにやれば動画の読み込みが完了して動作するようにできますか?
const img_elm = document.createElement("img");
document.body.appendChild(img_elm);
img_elm.src = "./test.png";
img_elm.style.position = "absolute";
img_elm.style.top = "0px";
img_elm.style.left = "0px";
img_elm.onload = function(){
alert("画像の読み込み完了");
}
263デフォルトの名無しさん (ワッチョイ 1f61-LsAq [221.187.41.227])
2024/12/07(土) 13:15:33.00ID:UdJyqKqA0 >>262
https://developer.mozilla.org/ja/docs/Web/HTML/Element/video
video要素で発生するイベントはloadではなくloadeddataやloadedmetadata
https://developer.mozilla.org/ja/docs/Web/HTML/Element/video
video要素で発生するイベントはloadではなくloadeddataやloadedmetadata
264デフォルトの名無しさん (ワッチョイ e310-aw/E [180.12.82.129])
2024/12/07(土) 20:39:58.70ID:Ho+7zKXc0265デフォルトの名無しさん (ワッチョイ fb75-qCia [2400:2200:4de:12ad:*])
2024/12/14(土) 01:19:41.44ID:vTrcqbr80 var x = 1;
if (x===1){let z = 10;}
else if (x===2){let z = 20;}
else {let z = 30;}
console.log("z = " + z);
で、エラーになります。
でもlet をvarへ変更したら、
エラーにならず、z = 10 と表示された
このようなプログラミングでは
letは使うのは、いけない事のようです。
でも、何が何でもvarよりlet推奨ぽぃし
でも、そんなの無視してやはり、
推奨されてないvarで指定すべきですか?
とゆぅか、ポクはletとconstが嫌いですが
でも、ポクは、varが好きです。
皆さんは、varは嫌いですか❓
if (x===1){let z = 10;}
else if (x===2){let z = 20;}
else {let z = 30;}
console.log("z = " + z);
で、エラーになります。
でもlet をvarへ変更したら、
エラーにならず、z = 10 と表示された
このようなプログラミングでは
letは使うのは、いけない事のようです。
でも、何が何でもvarよりlet推奨ぽぃし
でも、そんなの無視してやはり、
推奨されてないvarで指定すべきですか?
とゆぅか、ポクはletとconstが嫌いですが
でも、ポクは、varが好きです。
皆さんは、varは嫌いですか❓
266デフォルトの名無しさん (ワッチョイ fbfd-gJv4 [2405:6581:23c0:5400:*])
2024/12/14(土) 06:46:27.36ID:zVdiZk6o0 釣りネタつまらん
267デフォルトの名無しさん (ワッチョイ 7901-2/hw [60.106.71.182])
2024/12/14(土) 20:33:37.99ID:B6x89OP40 >>265
好きとか嫌いとかで決めるものではない
好きとか嫌いとかで決めるものではない
268デフォルトの名無しさん (ワッチョイ 9c79-0Q8V [61.192.201.239])
2024/12/23(月) 07:23:14.55ID:X/5iZgP80 letの無いIEやHTAで開発する場合var宣言が必要だから好きとか嫌いとかではない
つまり古いブラウザのjavascriptでも動かしたい場合必然的にvarだらけになる
つまり古いブラウザのjavascriptでも動かしたい場合必然的にvarだらけになる
269デフォルトの名無しさん (ワッチョイ a392-/oXw [2404:7a84:8ea0:d700:*])
2024/12/26(木) 11:59:20.77ID:YCJOeewg0 JS初心者です。Electron使用しています。
カウントダウンで3→2→1と表示させようとした時、For文で組もうとするとFor文が終了した一瞬で終了してしまうので以下のように一度に作動させることで解決しました。
が、もっと効率の良い組み方があればご教示頂きたいです。よろしくお願いします。
駄目だった文(3→1に飛んでしまう)
for (let i = 3; i > 0; i--) {
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', i);
}, 1000)
} return
動作しているけど改善できればと思っている文
Element.insertAdjacentHTML('beforeend', 3);
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', 2);
}, 1000)
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', 1);
}, 2000)
setTimeout(() => {
Element.innerHTML = "";
}, 3000)
カウントダウンで3→2→1と表示させようとした時、For文で組もうとするとFor文が終了した一瞬で終了してしまうので以下のように一度に作動させることで解決しました。
が、もっと効率の良い組み方があればご教示頂きたいです。よろしくお願いします。
駄目だった文(3→1に飛んでしまう)
for (let i = 3; i > 0; i--) {
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', i);
}, 1000)
} return
動作しているけど改善できればと思っている文
Element.insertAdjacentHTML('beforeend', 3);
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', 2);
}, 1000)
setTimeout(() => {
Element.innerHTML = "";
Element.insertAdjacentHTML('beforeend', 1);
}, 2000)
setTimeout(() => {
Element.innerHTML = "";
}, 3000)
270デフォルトの名無しさん (ワッチョイ 7001-Hs8E [60.89.148.145])
2024/12/26(木) 12:33:27.44ID:t8P1jyWN0 setTimeout の第2引数をiを使って変えればいい
iが3→2→1と減っていくなら、例えば1000*(4-i)とか
iが3→2→1と減っていくなら、例えば1000*(4-i)とか
271デフォルトの名無しさん (ワッチョイ a392-/oXw [2404:7a84:8ea0:d700:*])
2024/12/26(木) 12:59:38.81ID:YCJOeewg0272デフォルトの名無しさん (ワッチョイ b6e0-cPla [2400:2200:634:ad7a:*])
2024/12/26(木) 13:44:41.88ID:rxD7DMeD0 ウチュ〰人からのお告げという事にしてほしいが
//絶対位置指定∵動かすために
XXX.style.position = "absolute";
//位置10へ動かす
XXX.style.top = 10 + "px";
( async ()=> {
for( let y=-300; y<10; y=y+10 ) {
XXX.style.top = y + "px";
await new Promise(
res => setTimeout( res, 5) );
}
XXX.style.top = "10px";
} )();
※async関数の直下、直下、直下へ
await new Promise をコーディング
する事が必要ぢゃ
ただし 動作環境等による。
でも、当方の動作環境等では、
async関数の直下、直下、直下へ
await new Promise をコーディング
する事が必要ぢゃ
//絶対位置指定∵動かすために
XXX.style.position = "absolute";
//位置10へ動かす
XXX.style.top = 10 + "px";
( async ()=> {
for( let y=-300; y<10; y=y+10 ) {
XXX.style.top = y + "px";
await new Promise(
res => setTimeout( res, 5) );
}
XXX.style.top = "10px";
} )();
※async関数の直下、直下、直下へ
await new Promise をコーディング
する事が必要ぢゃ
ただし 動作環境等による。
でも、当方の動作環境等では、
async関数の直下、直下、直下へ
await new Promise をコーディング
する事が必要ぢゃ
273デフォルトの名無しさん (ワッチョイ 8e1a-I2L4 [2001:240:247f:48a9:*])
2024/12/26(木) 14:00:17.69ID:31Mawuna0 >>269
setInterval使え
インターバルに間に合わない可能性のある処理をするならsetTimeoutを再帰しろ
ループごとに必要もなくinsertAdjacentHTMLなんかするな
値を書き換えれば十分だろ
視覚効果を狙ってるならCSSアニメーション使え
setInterval使え
インターバルに間に合わない可能性のある処理をするならsetTimeoutを再帰しろ
ループごとに必要もなくinsertAdjacentHTMLなんかするな
値を書き換えれば十分だろ
視覚効果を狙ってるならCSSアニメーション使え
274265 (ワッチョイ b6e0-cPla [2400:2200:634:ad7a:*])
2024/12/28(土) 04:01:21.72ID:4NKxKk420 >>265 ポクはどっちも、嫌いデス
ちょっと🤏前の自分へ返信
なに、varとlet どっちが嫌いとか
なに言ってるんだ。好き嫌いの問題でない
今のポクは、どっちも嫌い。varもlet嫌い
てっゆぅか、varとかletとかconstant
とか使わなきゃヨシ (๑•̀ㅂ•́)و✧
てなワケで、翻訳アプリ作ってみたぁ
x = 2;
if (x === 1) { y = "イチ";}
else if (x===2){y = "ニッ"}
else if (x===3){y = "サン"}
else {y = " 知ら無いアル "}
console.log("y = " + y)
なお、こんなコーディングして
エライ人に怒られても、
気にしちゃダメ在る。
ちょっと🤏前の自分へ返信
なに、varとlet どっちが嫌いとか
なに言ってるんだ。好き嫌いの問題でない
今のポクは、どっちも嫌い。varもlet嫌い
てっゆぅか、varとかletとかconstant
とか使わなきゃヨシ (๑•̀ㅂ•́)و✧
てなワケで、翻訳アプリ作ってみたぁ
x = 2;
if (x === 1) { y = "イチ";}
else if (x===2){y = "ニッ"}
else if (x===3){y = "サン"}
else {y = " 知ら無いアル "}
console.log("y = " + y)
なお、こんなコーディングして
エライ人に怒られても、
気にしちゃダメ在る。
275デフォルトの名無しさん (JP 0Hc2-pkw/ [60.87.218.219])
2024/12/28(土) 06:58:46.94ID:vWbq3x/3H276>>274 (ワッチョイ ebe0-AFTv [2400:2200:634:ad7a:*])
2024/12/30(月) 09:51:50.06ID:Yh06n1a50 >>274 ちょっと前の自分へ返答
var x7 = 1;
var x7 += 2; //var再宣言・再代入OKだろ
は❌var x7 += 2;となった
やっぱvarも使っちゃダメだよな。てなワケで
今のところは、274が大正解
var x7 = 1;
var x7 += 2; //var再宣言・再代入OKだろ
は❌var x7 += 2;となった
やっぱvarも使っちゃダメだよな。てなワケで
今のところは、274が大正解
277自問自答してみた (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/24(金) 06:19:41.63ID:Dgfkru+90 👤コールバック地獄(ファンクション地獄)
setTimeout(function() {
console.log(1)
setTimeout(function() {
console.log(2)
setTimeout(function() {
console.log(3)
}, 1000) }, 1000) }, 1000)
// end setTimeout×3
ちな、下記ロジックとは違うぞ
setTimeout(function() {
console.log(1)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(2)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(3)
}, 1000) // end setTimeout
🤡じゃ下記ならどお!
setTimeout(function() {
console.log(1)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(2)
}, 2000) // end setTimeout
setTimeout(function() {
console.log(3)
}, 3000) // end setTimeout
setTimeout(function() {
console.log(1)
setTimeout(function() {
console.log(2)
setTimeout(function() {
console.log(3)
}, 1000) }, 1000) }, 1000)
// end setTimeout×3
ちな、下記ロジックとは違うぞ
setTimeout(function() {
console.log(1)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(2)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(3)
}, 1000) // end setTimeout
🤡じゃ下記ならどお!
setTimeout(function() {
console.log(1)
}, 1000) // end setTimeout
setTimeout(function() {
console.log(2)
}, 2000) // end setTimeout
setTimeout(function() {
console.log(3)
}, 3000) // end setTimeout
278デフォルトの名無しさん (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/24(金) 06:29:52.53ID:Dgfkru+90279>>277の続編 グダグダな自問自答 (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/25(土) 04:32:37.95ID:TAq0uG+90 🥳なるぼど、もしかして、
for(let t=1000; t<=3000; t+=1000){
setTimeout(function() {
console.log(t/1000)}, t)
}
でどう❓
👤んー、恐らくは、机上では、
非同期の部分は、setTimeout内の
関数(コールバックの意)だけ、故に
それは、以下と等価
for(let t=1000; t<=3000; t+=1000){
}
setTimeout(function() {
console.log(t/1000)}, t)
然るに、机上ぢゃ、そこで
t は undefined故に動かない
🥳 でへへ、それがちゃんと
🤡 マジ❓
🥳 マジですよー❢ルンルン❢
👤 机上OKで実際はNGはよくあるが
机上NGで実際はOKは有りえ無い
🥳 それは、机上した👤は、
🐴🦌 かつ、
ポクは、超天才の証明なのだァァァ
👤 ・・・
for(let t=1000; t<=3000; t+=1000){
setTimeout(function() {
console.log(t/1000)}, t)
}
でどう❓
👤んー、恐らくは、机上では、
非同期の部分は、setTimeout内の
関数(コールバックの意)だけ、故に
それは、以下と等価
for(let t=1000; t<=3000; t+=1000){
}
setTimeout(function() {
console.log(t/1000)}, t)
然るに、机上ぢゃ、そこで
t は undefined故に動かない
🥳 でへへ、それがちゃんと
🤡 マジ❓
🥳 マジですよー❢ルンルン❢
👤 机上OKで実際はNGはよくあるが
机上NGで実際はOKは有りえ無い
🥳 それは、机上した👤は、
🐴🦌 かつ、
ポクは、超天才の証明なのだァァァ
👤 ・・・
280>>277 の続編の続編 (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/25(土) 08:48:00.93ID:TAq0uG+90 👤ま、setTimeoutは使用はヨロシイぞ
しかし、そのロジックは再帰でなく
単なるループだ。for文のループ
🤡再帰?、再帰って地獄かもよ?
setTimeout(function() {
console.log(1)
setTimeout(function() {
console.log(2)
setTimeout(function() {
console.log(3)
}, 1000) }, 1000) }, 1000)
🥳コールバック地獄大好き
てか、再帰プログラミングて地獄なの❓
👤いや(゜o゜; アウウ いやいや(・o・;)
🤡再帰的アルゴリズムとは
for等のループ的アルゴリズムなら
オレは、どっちも好きだ
コールバック地獄は嫌いだし
async proなんちゃらも嫌いだけど
👤矛盾した主張だな
🥳コールバック地獄とfor文組合せよう。
👤🤡 それ検討したが挫折 バイバイ
しかし、そのロジックは再帰でなく
単なるループだ。for文のループ
🤡再帰?、再帰って地獄かもよ?
setTimeout(function() {
console.log(1)
setTimeout(function() {
console.log(2)
setTimeout(function() {
console.log(3)
}, 1000) }, 1000) }, 1000)
🥳コールバック地獄大好き
てか、再帰プログラミングて地獄なの❓
👤いや(゜o゜; アウウ いやいや(・o・;)
🤡再帰的アルゴリズムとは
for等のループ的アルゴリズムなら
オレは、どっちも好きだ
コールバック地獄は嫌いだし
async proなんちゃらも嫌いだけど
👤矛盾した主張だな
🥳コールバック地獄とfor文組合せよう。
👤🤡 それ検討したが挫折 バイバイ
281>>277 の続編³ (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/25(土) 13:17:37.74ID:TAq0uG+90 💃(←初登場:ナゾの女性 という設定)
あら、これ再帰プログラム❓
信じられなーーい。ありえなーーい。
マジ、超本物の再帰プログラミングは、
自身の関数を呼び出すのが本物です。
スナワチ、以下の通りよ。
var cnt = 0 ; // Global変数にしてみた
setTimeout(fff(), 1000) ;
function fff() {
console.log(cnt);
cnt++;
if (cnt < 5) setTimeout(fff(), 1000) ;
}
アナタ達の再帰は、再帰とは言えません。
モチロン、asyncとかfor文は不要ですよー
async forは🈲止です。
🥳これが本物の再帰なのか
コールバック地獄と同様に、
意味がわからないコードだぜっ。
本物の再帰プログラミング嫌いです。
てゆぅか、コールバック地獄大好き
🤡めちゃくちゃコードレビュー
だからぁぁぁーーforやって
async await promise が一番ですよぉっ
👤そもそもjsvsscriptなんてやめちゃえー
で、CSSでアニメーションやれ。
あら、これ再帰プログラム❓
信じられなーーい。ありえなーーい。
マジ、超本物の再帰プログラミングは、
自身の関数を呼び出すのが本物です。
スナワチ、以下の通りよ。
var cnt = 0 ; // Global変数にしてみた
setTimeout(fff(), 1000) ;
function fff() {
console.log(cnt);
cnt++;
if (cnt < 5) setTimeout(fff(), 1000) ;
}
アナタ達の再帰は、再帰とは言えません。
モチロン、asyncとかfor文は不要ですよー
async forは🈲止です。
🥳これが本物の再帰なのか
コールバック地獄と同様に、
意味がわからないコードだぜっ。
本物の再帰プログラミング嫌いです。
てゆぅか、コールバック地獄大好き
🤡めちゃくちゃコードレビュー
だからぁぁぁーーforやって
async await promise が一番ですよぉっ
👤そもそもjsvsscriptなんてやめちゃえー
で、CSSでアニメーションやれ。
282デフォルトの名無しさん (ワッチョイ 6301-yzBs [60.70.162.219])
2025/01/25(土) 15:30:48.00ID:e0C8gdKs0 >>277-281
質問スレにいつまで居座るつもりなのかね
質問スレにいつまで居座るつもりなのかね
283デフォルトの名無しさん (ワッチョイ 6faf-NH4A [2400:2200:438:4658:*])
2025/01/25(土) 16:34:31.47ID:TAq0uG+90 あっそうだ、setTimeout の再帰はおいておいて
setInterval というのも在るのか。それは、時間がないから
そろそろ、オイトマとするtimeにするかも知れない
ま、再帰しなしsetTimeoutで、かつ async promiseは使用しない
のが、一番バッチリという感触。今は。では、またいつか。5日ではないいつか
(^_^)/~ 👤🤡🥳💃一同 実は同一人物だけど(・_・;)
setInterval というのも在るのか。それは、時間がないから
そろそろ、オイトマとするtimeにするかも知れない
ま、再帰しなしsetTimeoutで、かつ async promiseは使用しない
のが、一番バッチリという感触。今は。では、またいつか。5日ではないいつか
(^_^)/~ 👤🤡🥳💃一同 実は同一人物だけど(・_・;)
284やっぱ過疎化防止で、また来ちゃった (ワッチョイ deaf-opVO [2400:2200:438:4658:*])
2025/01/27(月) 06:54:39.55ID:/Hv0VvQW0 ふと、どうでもヨイ疑問が湧いた。
for(let t=1000; t<=3000; t+=1000){
setTimeout(function() {
console.log(t/1000)}, t)
}
と、
for(let n=1; n<=3; n+=1){
setTimeout(function() {
console.log(n)}, 1000*n)
}
どっちも問題はないけど・・・
どっちが見やすい?。
誤差とかわかり易さとかの観点で
てか、どっち に しようかな。
てか、どっち の 仕様がいいのかな。
てか、どっち を 使用しようかな
for(let t=1000; t<=3000; t+=1000){
setTimeout(function() {
console.log(t/1000)}, t)
}
と、
for(let n=1; n<=3; n+=1){
setTimeout(function() {
console.log(n)}, 1000*n)
}
どっちも問題はないけど・・・
どっちが見やすい?。
誤差とかわかり易さとかの観点で
てか、どっち に しようかな。
てか、どっち の 仕様がいいのかな。
てか、どっち を 使用しようかな
285デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:38:29.10ID:DmLoR8Bu0 >>284
ChatGPTに聞いてみたけど、全部は掲載できないので結論だけ転載
1. 「時間」を基準にして明示的に処理を進めたいなら t
2. 「ループ回数」を基準にするのが直感的なら n
個人的にはtの方が汎用性が高く、特に時間管理が重要なケースでは使いやすいと思います。
ChatGPTに聞いてみたけど、全部は掲載できないので結論だけ転載
1. 「時間」を基準にして明示的に処理を進めたいなら t
2. 「ループ回数」を基準にするのが直感的なら n
個人的にはtの方が汎用性が高く、特に時間管理が重要なケースでは使いやすいと思います。
286デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:44:15.26ID:DmLoR8Bu0 1. 可読性
tを使ったコードでは、時間そのもの(1000, 2000, 3000)が直接書かれており、「時間に基づいた処理」という意図が明確。
一方、nを使ったコードでは、「ループの回数を基準に処理」していることが読み取れる。
一般的には、「時間を意識した処理」ならt、「回数を意識した処理」ならnを使ったほうが直感的です。
tを使ったコードでは、時間そのもの(1000, 2000, 3000)が直接書かれており、「時間に基づいた処理」という意図が明確。
一方、nを使ったコードでは、「ループの回数を基準に処理」していることが読み取れる。
一般的には、「時間を意識した処理」ならt、「回数を意識した処理」ならnを使ったほうが直感的です。
287デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:44:38.45ID:DmLoR8Bu0 2. 精度と誤差
setTimeoutは指定した時間で必ず正確に実行されるわけではなく、若干の誤差が発生します。どちらもこの点においては同じですが、**tの方が「時間の計算結果が直接書かれているため誤差の発生ポイントが少ない」**という印象を受けます。
例えば:
1000 * n // 計算で導出
1000, 2000, 3000 // そのまま指定
上記の違いから、誤差を気にするならtの方が直接的で分かりやすいです。
setTimeoutは指定した時間で必ず正確に実行されるわけではなく、若干の誤差が発生します。どちらもこの点においては同じですが、**tの方が「時間の計算結果が直接書かれているため誤差の発生ポイントが少ない」**という印象を受けます。
例えば:
1000 * n // 計算で導出
1000, 2000, 3000 // そのまま指定
上記の違いから、誤差を気にするならtの方が直接的で分かりやすいです。
288デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:46:35.01ID:DmLoR8Bu0 3. メンテナンス性
tのコード
時間間隔を変更したい場合、初期値・上限値・増加値だけを変更すればよく、スケール感の変更がしやすい。
nのコード
「1000を掛ける」という計算式が直接書かれているため、変更時に計算式部分にも目を配る必要がある。
tのコード
時間間隔を変更したい場合、初期値・上限値・増加値だけを変更すればよく、スケール感の変更がしやすい。
nのコード
「1000を掛ける」という計算式が直接書かれているため、変更時に計算式部分にも目を配る必要がある。
289デフォルトの名無しさん (ワッチョイ 96c0-zcB2 [2001:240:2472:fef0:*])
2025/01/27(月) 21:16:45.23ID:T51mrGlF0 一般常識があるやつならtを使うメリットなんて一つも無いと分かるはずなんだがChatGPTはいまだにこんな意味のない回答するんだな
俺の使ってるChatGPTと同じとは思えない
俺の使ってるChatGPTと同じとは思えない
290デフォルトの名無しさん (ワッチョイ 1200-wGFo [221.118.182.158])
2025/01/27(月) 21:44:29.89ID:mnVLXxyY0 ChatGPT君はわりと利用者に忖度した回答するので、利用者次第で馬鹿にもなる
291デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 21:56:48.37ID:DmLoR8Bu0 いや、質問をそのままGPTにペーストしたよ
利用者の意見なんて1つも入れてない
利用者の意見なんて1つも入れてない
292デフォルトの名無しさん (ワッチョイ 1200-wGFo [221.118.182.158])
2025/01/27(月) 22:13:58.10ID:mnVLXxyY0 質問の仕方に利用者の知識量とか思考が入り込んで、ChatGPTはそれに応じた回答をする。回答のレベルは質問のレベルに合致する
293デフォルトの名無しさん (ワッチョイ de4b-OnvR [119.150.245.179 [上級国民]])
2025/01/28(火) 03:33:19.87ID:7uzvZSX70 それはそうだけど、正確性からそんなに大きく逸脱はしてないでしょう
というか、客観的に大多数に正しいと思われる解決法を提示してくれるから助かる
無料のは今だに嘘が混じってる事が多いんだけど、有料のPlusは結構正確になった
参照してる知識量が無料のものの何倍もあるみたい
というか、客観的に大多数に正しいと思われる解決法を提示してくれるから助かる
無料のは今だに嘘が混じってる事が多いんだけど、有料のPlusは結構正確になった
参照してる知識量が無料のものの何倍もあるみたい
294デフォルトの名無しさん (アウアウウー Sa79-mO6r [106.130.52.8])
2025/02/06(木) 13:59:21.74ID:FTswYlc4a 外国のサイトにある動画から字幕を抜き出したくて色々試したけど上手く行かなかった(www.francetvinfo.frというとこ)
でもffmpegだとあっさり成功した
もしJavaScriptに詳しければffmpegというツールに頼らず抜き出せたのだろうか?
chatGPTに聞くとDOMで作成してるみたいな答えが帰ってきたので字幕作成はJavaScriptで行っているのかなと思った
今字幕抜き出せた喜びとツールに頼った悔しさが入り混じってるけど皆なら自力で抜き出せた?
でもffmpegだとあっさり成功した
もしJavaScriptに詳しければffmpegというツールに頼らず抜き出せたのだろうか?
chatGPTに聞くとDOMで作成してるみたいな答えが帰ってきたので字幕作成はJavaScriptで行っているのかなと思った
今字幕抜き出せた喜びとツールに頼った悔しさが入り混じってるけど皆なら自力で抜き出せた?
295デフォルトの名無しさん (JP 0H96-qIVI [133.106.33.6])
2025/02/13(木) 12:33:25.69ID:DZyx9aKAH 失礼します。
insertBeforeでHTML要素にnodeを追加する際、複数ある要素(class)の1番最後にのみnodeを挿入したいのですが、可能でしょうか?
<div class="unko"></div> //1
<div class="unko"></div> //2
<div class="unko"></div> //3
<div class="unko"></div> //4
<div class="unko"></div> //~以下ランダムで増減
このように、ユーザーが投稿するコメントのようなランダムで増減するclass要素があり、その繰り返しの1番最後にnodeを挿入したいのですが、
hoge[0].parentNode.insertBefore(elmDiv, hoge[0].nextSibling)
これを改良して
hoge[※最後の要素].parentNode.insertBefore(elmDiv, hoge[※最後の要素].nextSibling)
とするにはどうすればいいでしょうか?
そもそも不可能である場合、不可能であると断言して頂けると幸いです。
insertBeforeでHTML要素にnodeを追加する際、複数ある要素(class)の1番最後にのみnodeを挿入したいのですが、可能でしょうか?
<div class="unko"></div> //1
<div class="unko"></div> //2
<div class="unko"></div> //3
<div class="unko"></div> //4
<div class="unko"></div> //~以下ランダムで増減
このように、ユーザーが投稿するコメントのようなランダムで増減するclass要素があり、その繰り返しの1番最後にnodeを挿入したいのですが、
hoge[0].parentNode.insertBefore(elmDiv, hoge[0].nextSibling)
これを改良して
hoge[※最後の要素].parentNode.insertBefore(elmDiv, hoge[※最後の要素].nextSibling)
とするにはどうすればいいでしょうか?
そもそも不可能である場合、不可能であると断言して頂けると幸いです。
296デフォルトの名無しさん (ワッチョイ 9eba-k2ZP [2001:240:241a:56bf:*])
2025/02/13(木) 13:01:37.54ID:xGLXSNfR0 :last-of-typeとか:last-childとかで出来るけどそういうの知らなくても”配列の長さ-1”くらいは思いつこうよ
297295 (ワッチョイ b149-GKZ3 [180.221.149.54])
2025/02/13(木) 13:14:34.23ID:8KNio/Em0 > 296
つまりあまたはわたしをアホとおっしゃるのですか?
つまりあまたはわたしをアホとおっしゃるのですか?
298295 (ワッチョイ b149-GKZ3 [180.221.149.54])
2025/02/13(木) 13:15:37.17ID:8KNio/Em0 💩
299デフォルトの名無しさん (ワッチョイ 5e0b-XAIF [153.164.41.34])
2025/02/13(木) 13:39:50.07ID:tamKTj1t0 >>295
hoge[hoge.length-1].insertAdjacentElement("afterend", elemDiv);
hoge[hoge.length-1].insertAdjacentElement("afterend", elemDiv);
300デフォルトの名無しさん (ワッチョイ 7d7c-F9OP [122.212.18.110])
2025/04/05(土) 12:51:42.18ID:7VBJ2biq0 関数定義するとき、
function funcName() { ~}
と
const funcName = () => { ~ }
で、関数内でthisの参照先を気にしないとすると、どっちの書き方のほうがいい、とかありますか?
なんとなくconst~で書いてたときがあるんですが、VSCodeでアウトライン表示したときに、functionで定義するとメソッドのアイコンになるけど、constで書くと変数扱いになるで他の変数と(ツリー上)区別が付きにくくなり、functionの書き方に戻しました。
function funcName() { ~}
と
const funcName = () => { ~ }
で、関数内でthisの参照先を気にしないとすると、どっちの書き方のほうがいい、とかありますか?
なんとなくconst~で書いてたときがあるんですが、VSCodeでアウトライン表示したときに、functionで定義するとメソッドのアイコンになるけど、constで書くと変数扱いになるで他の変数と(ツリー上)区別が付きにくくなり、functionの書き方に戻しました。
301デフォルトの名無しさん (ワッチョイ 058f-iziL [2001:ce8:137:595f:*])
2025/04/05(土) 21:28:14.07ID:sUMv9Ks50 >>300
巻き上げがあるから関数宣言はやめた方がいい
巻き上げがあるから関数宣言はやめた方がいい
302デフォルトの名無しさん (ワッチョイ 0507-pzHV [2001:240:2463:dde5:*])
2025/04/05(土) 21:48:41.97ID:lcZxDDXa0 巻き上げがあったら困る場合だけ関数式
関数宣言のほうが
- 巻き上げがあるからトップダウンで書ける
- 名前付きの関数なのでdebugabilityが高い
ので迷ったらまずはこっち
関数宣言のほうが
- 巻き上げがあるからトップダウンで書ける
- 名前付きの関数なのでdebugabilityが高い
ので迷ったらまずはこっち
303デフォルトの名無しさん (ワッチョイ 372f-pQOn [60.236.132.37])
2025/05/08(木) 23:46:11.91ID:fGnrU9Lw0 constに入れておかないと、チーターに簡単に上書き改竄されたりすんのか
304デフォルトの名無しさん (ワッチョイ ef4b-3gjP [119.150.14.214 [上級国民]])
2025/05/11(日) 01:02:25.07ID:N+caZpkb0 水前寺清子?
305デフォルトの名無しさん (ワッチョイ cfcf-+6HO [153.205.197.132])
2025/05/11(日) 17:20:56.05ID:NQ286Pqc0 バイナリをいじる場合はconstとか関係ない。
306デフォルトの名無しさん (ワッチョイ 9722-2R+f [180.24.66.223 [上級国民]])
2025/05/30(金) 22:49:08.32ID:1o7EfCHn0 愚痴ですが…
当方プログラミングはC言語やVBA、ほんの少しPythonを触ったことがあるぐらいのド素人です
今はサポートされてない昔の測定機器のSDKですが、dllファイルがVBAからライブラリとして読めない現象が発生
原因分からず、VBA詳しい友人にdllファイルをアンコンパイルして解析してもらうとC++で書かれているためそもそもVBAで読めないと言われました
ChatGPTにも相談すると中間Wrapper作りますよ!と言われ、紆余曲折有りながら出来上がったものをVBAで読み込んでも動作せず
諦めてダメ元で公式のサポートを頼るも、日本国内の代理店からは対応できないと断られ、やむを得ず国際電話で計測器メーカー直轄の韓国の拠点へ電話
後日メール返すとのこと
疲れた
当方プログラミングはC言語やVBA、ほんの少しPythonを触ったことがあるぐらいのド素人です
今はサポートされてない昔の測定機器のSDKですが、dllファイルがVBAからライブラリとして読めない現象が発生
原因分からず、VBA詳しい友人にdllファイルをアンコンパイルして解析してもらうとC++で書かれているためそもそもVBAで読めないと言われました
ChatGPTにも相談すると中間Wrapper作りますよ!と言われ、紆余曲折有りながら出来上がったものをVBAで読み込んでも動作せず
諦めてダメ元で公式のサポートを頼るも、日本国内の代理店からは対応できないと断られ、やむを得ず国際電話で計測器メーカー直轄の韓国の拠点へ電話
後日メール返すとのこと
疲れた
307デフォルトの名無しさん (ワッチョイ 9722-2R+f [180.24.66.223 [上級国民]])
2025/05/30(金) 22:50:16.72ID:1o7EfCHn0 ちなみに今回の対応も韓国への国際電話も自腹です(^q^)
何やってるんだろうな俺
何やってるんだろうな俺
308デフォルトの名無しさん (ワッチョイ e3b4-nntB [2400:4151:a4a0:6500:*])
2025/10/11(土) 20:33:48.15ID:n5gETjNc0 video_elm.addEventListener(
"ended",
function(){
alert("全て見た");
}
);
動画を再生しきると「全て見た」と出るけど
video_elm.currentTime = 0;で再生位置を最初に戻してまた再生しても
「全て見た」と出ませんでした。
このイベントは1回限りなんですか?
"ended",
function(){
alert("全て見た");
}
);
動画を再生しきると「全て見た」と出るけど
video_elm.currentTime = 0;で再生位置を最初に戻してまた再生しても
「全て見た」と出ませんでした。
このイベントは1回限りなんですか?
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 【高市経済】日経平均マイナス1600円!、金利1.76%!ドル円155円!世界恐慌へ [219241683]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
