!extend:checked:vvvvvv:1000:512
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-5のテンプレを読んだ上で質問してください。次スレは>>950が>>2の「次スレの立て方」を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
■前スレ
JavaScript の質問用スレッド vol.124
https://mevius.5ch.net/test/read.cgi/tech/1636525464/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
探検
JavaScript の質問用スレッド vol.125
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 1301-RMnj [36.240.123.227])
2022/08/07(日) 15:57:40.26ID:TS5TGpUB02デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 15:59:57.05ID:TS5TGpUB0 ■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
https://plnkr.co/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■次スレの立て方
本文一行目に「!extend:checked:vvvvvv:1000:512」と書いて、>>1-5のテンレの「前スレ」「関連スレ」を最新化して立ててください。
■JavaScriptスレの現状
元々はWeb制作板が本スレでしたが、ライブラリ信者に荒らされ、プログラム板に避難所として本スレが立てられました。
Web制作板の本スレは荒らされてから次スレが立っておらず、重複スレの消化のみとなっています。
実質的に本スレは存在しない為、質問者はWeb制作板、ブログラム板のどちらのスレで質問しても問題ありません。
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
https://plnkr.co/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■次スレの立て方
本文一行目に「!extend:checked:vvvvvv:1000:512」と書いて、>>1-5のテンレの「前スレ」「関連スレ」を最新化して立ててください。
■JavaScriptスレの現状
元々はWeb制作板が本スレでしたが、ライブラリ信者に荒らされ、プログラム板に避難所として本スレが立てられました。
Web制作板の本スレは荒らされてから次スレが立っておらず、重複スレの消化のみとなっています。
実質的に本スレは存在しない為、質問者はWeb制作板、ブログラム板のどちらのスレで質問しても問題ありません。
3デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 16:02:05.65ID:TS5TGpUB0 ■関連スレ(Web制作板)
JavaScript の質問用スレッド vol.126 (重複スレの消化)
https://mevius.5ch.net/test/read.cgi/hp/1439005423/
JavaScript ライブラリ総合質問所 vol.5
https://mevius.5ch.net/test/read.cgi/hp/1465399470/
jQuery 質問用スレッド vol.7
https://mevius.5ch.net/test/read.cgi/hp/1466750494/
■各種仕様
◆ECMAScript
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
https://262.ecma-international.org/13.0/ (ECMAScript 2022)
◆HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/ (HTML Living
Standard)
https://momdo.github.io/html/ (HTML Living
Standard日本語訳)
JavaScript の質問用スレッド vol.126 (重複スレの消化)
https://mevius.5ch.net/test/read.cgi/hp/1439005423/
JavaScript ライブラリ総合質問所 vol.5
https://mevius.5ch.net/test/read.cgi/hp/1465399470/
jQuery 質問用スレッド vol.7
https://mevius.5ch.net/test/read.cgi/hp/1466750494/
■各種仕様
◆ECMAScript
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
https://262.ecma-international.org/13.0/ (ECMAScript 2022)
◆HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/ (HTML Living
Standard)
https://momdo.github.io/html/ (HTML Living
Standard日本語訳)
4デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 16:05:31.17ID:TS5TGpUB0 テンプレここまで。
テンプレは前スレ、前々スレを元に、よくある議論(Web制作板へ誘導云々)を独断で追加した。
問題があれば、修正案を提案して頂ければ。
テンプレは前スレ、前々スレを元に、よくある議論(Web制作板へ誘導云々)を独断で追加した。
問題があれば、修正案を提案して頂ければ。
5デフォルトの名無しさん (ワッチョイ 6f5f-RyWk [14.11.194.224])
2022/08/07(日) 16:08:52.26ID:GMB7hjKM0 乙
6デフォルトの名無しさん (ワッチョイ ff01-qy/x [126.242.196.185])
2022/08/07(日) 17:10:09.37ID:r7YsBDkd0 > Javascript はweb制作管理板、CGI はWEBプログラミング板へ。
これは?
これは?
7デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 17:57:12.51ID:TS5TGpUB0 >>6
プログラム板のローカルルールか
「今ではNode.jsもあるし、JavaScriptはWeb制作言語に限定されないよね」を理由にプログラム板に立てられた、と記憶してる
Node.jsスレを関連スレに入れるべきだった
【非同期】node.js part.1【javascript】
https://mevius.5ch.net/test/read.cgi/tech/1582906877/
プログラム板のローカルルールか
「今ではNode.jsもあるし、JavaScriptはWeb制作言語に限定されないよね」を理由にプログラム板に立てられた、と記憶してる
Node.jsスレを関連スレに入れるべきだった
【非同期】node.js part.1【javascript】
https://mevius.5ch.net/test/read.cgi/tech/1582906877/
8デフォルトの名無しさん (ワッチョイ 4690-Htvk [153.207.71.13])
2022/08/08(月) 23:23:18.64ID:RzP/TMnO0 この板のJavaScript スレは、
web制作管理板が荒らされた時に、緊急避難用として立てられたもの
もう、この板でやる必要はない。
web制作管理板の方へ移動すべし!
全く、HTML, jQuery などに関係ない、
Node.js でも扱うなら、この板でも良いけど、
基本、Ruby on Rails などのフレームワークは、WEBプログラミング板
web制作管理板が荒らされた時に、緊急避難用として立てられたもの
もう、この板でやる必要はない。
web制作管理板の方へ移動すべし!
全く、HTML, jQuery などに関係ない、
Node.js でも扱うなら、この板でも良いけど、
基本、Ruby on Rails などのフレームワークは、WEBプログラミング板
9デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.56.30])
2022/08/10(水) 07:14:35.84ID:vRPAjQH+0 >>8
本スレがなく、ライブラリ信者が健在なWeb制作板に移動する理由はないと思う
本スレがなく、ライブラリ信者が健在なWeb制作板に移動する理由はないと思う
10デフォルトの名無しさん (オッペケ Srff-RMnj [126.254.209.13])
2022/08/10(水) 10:46:13.57ID:j9H+Z2W1r >>8はRubyを引き合いに出す件の荒らしだから気にしなくていい
11デフォルトの名無しさん (ワッチョイ ab01-adHA [126.80.253.234])
2022/08/14(日) 02:20:20.36ID:/Eqen91K0 🦏
12デフォルトの名無しさん (ワッチョイ 3b68-PvqU [112.70.179.16])
2022/08/18(木) 14:56:28.79ID:ZVXdu8CF0 ローカルのhtmlファイル内に記載してるjsで位置情報取得するコードを書いてるのですが、
毎回位置情報を尋ねられてしまいます。
webサイトのページなら位置情報の使用許可を一度設定すれば、そのサイトでは次から尋ねられなくなりますが、
ローカルのhtmlファイルを開いても同様に永続的に位置情報の使用を尋ねられないようにする方法はありますか?
ブラウザはchrome使ってます。
毎回位置情報を尋ねられてしまいます。
webサイトのページなら位置情報の使用許可を一度設定すれば、そのサイトでは次から尋ねられなくなりますが、
ローカルのhtmlファイルを開いても同様に永続的に位置情報の使用を尋ねられないようにする方法はありますか?
ブラウザはchrome使ってます。
13デフォルトの名無しさん (アウアウウー Sa0f-oUG4 [106.181.217.92])
2022/08/18(木) 15:27:03.90ID:qt1eMpHHa14デフォルトの名無しさん (アウアウウー Sa0f-oUG4 [106.181.217.92])
2022/08/18(木) 15:28:26.33ID:qt1eMpHHa あとは https にしてみたらどうか
atmarkit.itmedia.co.jp/ait/articles/1605/13/news038.html
atmarkit.itmedia.co.jp/ait/articles/1605/13/news038.html
15デフォルトの名無しさん (ラクッペペ MM7f-RehR [133.106.93.27])
2022/08/18(木) 15:37:16.04ID:P/iDblewM file:はともかくhttp:にも機能制限かけるのは逆効果だと思う
クラウド売りたい一心なのだろうけどオレオレ証明書が増えてかなわんよ
クラウド売りたい一心なのだろうけどオレオレ証明書が増えてかなわんよ
16デフォルトの名無しさん (ワッチョイ 9f7c-5Ix7 [43.235.241.201])
2022/08/18(木) 19:42:08.69ID:FZFlEvPV0 そもそもwebアプリ作るなら仮想環境なり、dockerなりで開発環境を作った方が良いかと
17デフォルトの名無しさん (ワッチョイ cb01-gduT [60.151.253.164])
2022/08/18(木) 21:17:46.09ID:R8T3nWKo0 すんませんjQueryの質問なんやけど
eachでliタグの子要素のimgタグを取得してalt属性を追加して値はliタグの子要素のemタグのテキストにしたいんだが
全部のliタグの子要素のemタグのテキストを追加してしまう
対応するliタグの子要素のemタグのテキストをそれぞれ追加したいんや!
おせーてくれ!!たのんます!!
eachでliタグの子要素のimgタグを取得してalt属性を追加して値はliタグの子要素のemタグのテキストにしたいんだが
全部のliタグの子要素のemタグのテキストを追加してしまう
対応するliタグの子要素のemタグのテキストをそれぞれ追加したいんや!
おせーてくれ!!たのんます!!
18デフォルトの名無しさん (ワッチョイ cb01-7Kul [60.87.221.16])
2022/08/18(木) 21:48:22.57ID:J6oxun4X019デフォルトの名無しさん (ワッチョイ 6b2c-O3lh [180.52.202.152])
2022/08/19(金) 12:26:38.67ID:l81SyMmZ0 jQuery の質問は、web制作管理板の方へ書き込んでください
確か、jQueryのスレがあったと思う。
無ければ、JavaScript のスレへ
確か、jQueryのスレがあったと思う。
無ければ、JavaScript のスレへ
20デフォルトの名無しさん (ワッチョイ ef02-Gxju [175.108.193.88])
2022/08/19(金) 13:26:53.16ID:v8JNzl630 japascriptは難しい。
初心者はまずはRubyから始めること
そしてRuby on Railsを習得する
javascriptyとjQueryはその後で良い。
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
初心者はまずはRubyから始めること
そしてRuby on Railsを習得する
javascriptyとjQueryはその後で良い。
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
21デフォルトの名無しさん (ワッチョイ 6b10-vj0F [180.12.82.129])
2022/08/19(金) 18:14:31.50ID:KbHvsoqL0 clickのタイミングについて
<input type="button" value="クリック" id="bt">
let aaa=0;
setInterval(
function(){
aaa=100;aaa=200;aaa=300;aaa=400;aaa=500;
},0
);
document.getElementById("bt").addEventListener(
"click",
function(e){alert(aaa);}
);
何回クリックしても500と表示されるけど500以外が表示されることはないんでしょうか?
aaaが200のときにクリックが割り込むとかはないんですか?
<input type="button" value="クリック" id="bt">
let aaa=0;
setInterval(
function(){
aaa=100;aaa=200;aaa=300;aaa=400;aaa=500;
},0
);
document.getElementById("bt").addEventListener(
"click",
function(e){alert(aaa);}
);
何回クリックしても500と表示されるけど500以外が表示されることはないんでしょうか?
aaaが200のときにクリックが割り込むとかはないんですか?
22デフォルトの名無しさん (ワッチョイ cb01-6z5t [60.74.210.62])
2022/08/19(金) 18:41:35.47ID:hN4Icouo0 >>21
タイマー処理の関数呼び出しの途中でイベントハンドラが処理されることはない
タイマー処理の関数呼び出しの途中でイベントハンドラが処理されることはない
23デフォルトの名無しさん (ワッチョイ 6b10-vj0F [180.12.82.129])
2022/08/19(金) 18:53:07.56ID:KbHvsoqL024デフォルトの名無しさん (ワッチョイ cb01-6z5t [60.74.223.30])
2022/08/19(金) 21:41:37.23ID:PiTy7UnQ0 JavaScriptは基本シングルスレッド
関数の実行途中に別の関数の処理が割り込んでくるようなことはない
関数の実行途中に別の関数の処理が割り込んでくるようなことはない
25デフォルトの名無しさん (ワッチョイ cb01-7Kul [60.87.221.16])
2022/08/19(金) 23:29:36.47ID:icsyH/kW0 >>23
非同期処理が混在していなければ、ない
非同期処理が混在していなければ、ない
26デフォルトの名無しさん (ワッチョイ 75b1-GYjw [118.105.228.94])
2022/08/20(土) 10:52:07.09ID:y/gx0kbE0 Wan、Lanどちらからもアクセス可能なWebサーバーで
アクセス元がどっちなのかを判断する方法はありますか?
アクセス元がどっちなのかを判断する方法はありますか?
27デフォルトの名無しさん (ワッチョイ 2301-cac/ [219.204.123.70])
2022/08/20(土) 11:45:31.91ID:ThG9yriU0 >>26
送信元アドレス見ればよくね?
送信元アドレス見ればよくね?
28デフォルトの名無しさん (ワッチョイ 75e5-s78Y [118.4.80.52])
2022/08/20(土) 12:02:01.28ID:tDO3e6hW0 サーバーで判断すべきだろう
クライアントで知りたいならサーバーに聞けばいい
クライアントで知りたいならサーバーに聞けばいい
29デフォルトの名無しさん (ワッチョイ 75b1-GYjw [118.105.228.94])
2022/08/20(土) 12:48:23.28ID:y/gx0kbE0 確かにそうですよね
サーバー側で何とかしてみます
サーバー側で何とかしてみます
30デフォルトの名無しさん (スップ Sd43-PAk+ [49.97.96.68])
2022/08/21(日) 00:53:25.42ID:aTZvlMved ナンセンスな質問かもしれませんが、JavaScriptにおいて関数はデータ型としてオブジェクトであり、一方でオブジェクトはプロパティとメソッドの集まりであると説明されています。
関数とオブジェクトはどちらが先に定義されているのでしょうか?
関数とオブジェクトはどちらが先に定義されているのでしょうか?
31デフォルトの名無しさん (ワッチョイ d501-Nnom [60.87.221.16])
2022/08/21(日) 07:04:02.83ID:D11cwWL50 >>30
「先に定義」とは、どのような意味?
「先に定義」とは、どのような意味?
32デフォルトの名無しさん (スップ Sd03-PAk+ [1.66.101.132])
2022/08/21(日) 10:31:51.96ID:3ESrn3ezd >>31
先に存在しているとか先に実装されている(?)というようなイメージです
先に存在しているとか先に実装されている(?)というようなイメージです
33デフォルトの名無しさん (ワッチョイ a37c-QAb4 [221.241.223.58])
2022/08/21(日) 10:42:02.01ID:KqCcLvyW034デフォルトの名無しさん (スップ Sd43-PAk+ [49.97.98.169])
2022/08/21(日) 11:25:21.77ID:df/SIE01d >>33
ありがとうございます
もう少し調べてみると、 https://tc39.es/ecma262/multipage/overview.html#sec-ecmascript-overview でTerms and Definitionsのところに、関数はオブジェクトであってプロパティの他に実行可能なコードと状態を持つもの、という感じのことが書かれてて、メソッドはオブジェクトのプロパティの値である関数のことと書かれていました
こちらの説明で一旦納得できました
ありがとうございます
もう少し調べてみると、 https://tc39.es/ecma262/multipage/overview.html#sec-ecmascript-overview でTerms and Definitionsのところに、関数はオブジェクトであってプロパティの他に実行可能なコードと状態を持つもの、という感じのことが書かれてて、メソッドはオブジェクトのプロパティの値である関数のことと書かれていました
こちらの説明で一旦納得できました
35デフォルトの名無しさん (アウアウウー Sad9-dbST [106.181.223.3])
2022/08/21(日) 11:46:37.18ID:j3ukytx2a v8のソースでも読んでみれば
36デフォルトの名無しさん (ブーイモ MM8b-mKyu [133.159.148.135])
2022/08/21(日) 12:32:17.30ID:IBDK1msSM オブジェクトが先
オブジェクトはプロパティのコレクション
プロパティとはkey/valueのペアのこと
keyはStringでvalueはプリミティブかオブジェクト
オブジェクトはプロパティのコレクション
プロパティとはkey/valueのペアのこと
keyはStringでvalueはプリミティブかオブジェクト
37デフォルトの名無しさん (ブーイモ MM8b-mKyu [133.159.149.74])
2022/08/21(日) 12:39:55.73ID:ZOLz03eMM オブジェクトを定義するのにオブジェクトを使ったりStringという別のオブジェクト使えるの?
と疑問に思うのかもしれないけど
定義が存在する(名前解決可能である)ことを確認するフェーズと
定義の中身を検証するフェーズを分けることで可能
foo関数の中でbar関数を呼び出しつつ
bar関数の中でfoo関数を呼び出すような関数定義ができるのと同じこと
と疑問に思うのかもしれないけど
定義が存在する(名前解決可能である)ことを確認するフェーズと
定義の中身を検証するフェーズを分けることで可能
foo関数の中でbar関数を呼び出しつつ
bar関数の中でfoo関数を呼び出すような関数定義ができるのと同じこと
38デフォルトの名無しさん (ワッチョイ d501-dbST [60.87.221.16])
2022/08/21(日) 15:06:45.69ID:D11cwWL50 >>32
「実装」というが、「仕様」上で両方とも存在しているなら、同時に「実装」されるのでは?
>>34
ES3には「オブジェクト」の定義はあるが、「関数」の定義はない
故に「歴史的にはオブジェクトが先に定義された」といえなくもないが、そんな回答を望んでいるようにも見えない
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/4_Overview.html#section-4.2.1
参考になるかわからないが、typeof演算子は「[[Call]] を持つObject型」の場合に "function" を返す
https://262.ecma-international.org/13.0/#sec-typeof-operator
「実装」というが、「仕様」上で両方とも存在しているなら、同時に「実装」されるのでは?
>>34
ES3には「オブジェクト」の定義はあるが、「関数」の定義はない
故に「歴史的にはオブジェクトが先に定義された」といえなくもないが、そんな回答を望んでいるようにも見えない
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/4_Overview.html#section-4.2.1
参考になるかわからないが、typeof演算子は「[[Call]] を持つObject型」の場合に "function" を返す
https://262.ecma-international.org/13.0/#sec-typeof-operator
39デフォルトの名無しさん (スップ Sdc3-JVFl [1.72.7.185])
2022/09/02(金) 16:08:14.77ID:anBQQFEld ブックマークレットのスレッドかこちらか悩みましたが質問なのでこちらでご相談させていただきます。
他者のWebサイトを閲覧する際、JavaScriptを用いて作成されている場合、リンクを新しいタブで開けない場面があります。
頻繁にページを進んだり戻ったりする場面、可能であればリンク先を別タブで開くようにしたいです。
ブックマークレットを用いて、現在ページのJavaScriptのリンクを別タブで開くように書き換える処理をすることは可能でしょうか?
他者のWebサイトを閲覧する際、JavaScriptを用いて作成されている場合、リンクを新しいタブで開けない場面があります。
頻繁にページを進んだり戻ったりする場面、可能であればリンク先を別タブで開くようにしたいです。
ブックマークレットを用いて、現在ページのJavaScriptのリンクを別タブで開くように書き換える処理をすることは可能でしょうか?
40デフォルトの名無しさん (ワッチョイ a3b7-83Bc [211.124.165.35])
2022/09/02(金) 16:38:05.47ID:avuNeQJi041デフォルトの名無しさん (ワッチョイ a52d-bBdM [220.100.64.9])
2022/09/03(土) 00:11:31.61ID:8AM/s+hA0 連想配列から特定のキーを検索して、重複がないもののみ取り出した配列を取得したいのですが、
このコードだと速度的に問題がありました。何か良い方法があったら教えていただけないでしょうか
const a= [
{'id': 1, 'category': 'animal', 'kind': 'dog'},
{'id': 2, 'category': 'fruit', 'kind': 'apple'},
{'id': 3, 'category': 'fruit', 'kind': 'orange'},
{'id': 4, 'category': 'animal', 'kind': 'dog'},
{'id': 5, 'category': 'animal', 'kind': 'cat'},
{'id': 6, 'category': 'fruit', 'kind': 'grape'},
]
var b=a.filter((x,y,z)=>z.slice(0,z.length).filter(w=>w.kind==x.kind).length==1);
console.log(b);
このコードだと速度的に問題がありました。何か良い方法があったら教えていただけないでしょうか
const a= [
{'id': 1, 'category': 'animal', 'kind': 'dog'},
{'id': 2, 'category': 'fruit', 'kind': 'apple'},
{'id': 3, 'category': 'fruit', 'kind': 'orange'},
{'id': 4, 'category': 'animal', 'kind': 'dog'},
{'id': 5, 'category': 'animal', 'kind': 'cat'},
{'id': 6, 'category': 'fruit', 'kind': 'grape'},
]
var b=a.filter((x,y,z)=>z.slice(0,z.length).filter(w=>w.kind==x.kind).length==1);
console.log(b);
42デフォルトの名無しさん (ワッチョイ ad5f-wuTS [106.185.148.64])
2022/09/03(土) 02:15:20.35ID:Wm/0iruN0 >>41
const buckets = a.reduce((buckets, current) => {
if (!buckets[current.kind]) {
buckets[current.kind] = [current];
} else {
buckets[current.kind].push(current);
}
return buckets;
}, {});
const b = Object.values(buckets)
.filter((items) => items.length === 1)
.flat();
速度は測ってないけどたぶんO(n^2)→O(n)になって速いはず
const buckets = a.reduce((buckets, current) => {
if (!buckets[current.kind]) {
buckets[current.kind] = [current];
} else {
buckets[current.kind].push(current);
}
return buckets;
}, {});
const b = Object.values(buckets)
.filter((items) => items.length === 1)
.flat();
速度は測ってないけどたぶんO(n^2)→O(n)になって速いはず
43デフォルトの名無しさん (スプッッ Sd03-5GnA [1.75.244.51])
2022/09/03(土) 03:34:12.57ID:E5gjC2rTd Mapで似たようなこと考えてた
44デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 10:05:53.47ID:RJZpwhgn0 >>41
要素数や重複要素のばらつき具合によって結果は変わるが、最終的には力業が最速な事が多い
https://jsfiddle.net/gft5ah0n/
極端な結果になっているのは重複要素がすぐそばにあり、while文による検索ですぐに見つかる為だ
重複要素が遠い位置にあるなら、while文による検索が遅くなるケースも十分にある
>>41のコードが比較的高速なのも重複要素が比較的近くにある為だ
Object.valuesやArray#filterによる変換コストが検索コストより高くついているので、他のコードが比較的遅い
重複検知が頻繁に発生するようであれば、データのも持ち方を new Map や new Set を使うように変更した方がいい
配列はユニークな値を得るのに向いていない
要素数や重複要素のばらつき具合によって結果は変わるが、最終的には力業が最速な事が多い
https://jsfiddle.net/gft5ah0n/
極端な結果になっているのは重複要素がすぐそばにあり、while文による検索ですぐに見つかる為だ
重複要素が遠い位置にあるなら、while文による検索が遅くなるケースも十分にある
>>41のコードが比較的高速なのも重複要素が比較的近くにある為だ
Object.valuesやArray#filterによる変換コストが検索コストより高くついているので、他のコードが比較的遅い
重複検知が頻繁に発生するようであれば、データのも持ち方を new Map や new Set を使うように変更した方がいい
配列はユニークな値を得るのに向いていない
45デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 10:08:20.30ID:RJZpwhgn046デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 10:28:11.32ID:RJZpwhgn047デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 10:46:53.92ID:RJZpwhgn048デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 11:16:26.73ID:RJZpwhgn0 >>47
高速化で考えるべきは「ループ回数の削減」と「変換回数の削減」
>>41 source
>>42 reduce
>>47 map
reduceはループ回数は削減されているが、変換回数がsourceよりも多い
要素数6では「変換コスト > 検索コスト」になってしまい、sourceよりも遅い
要素数192では「変換コスト < 検索コスト」となるので、sourceよりも速い
mapの変換回数は2回で Array.from() と results.values() のみ
ループ回数、変換回数ともにsource,reduceよりも少ない
要素数6、要素数192のいずれも map が最速となる
実際のところ、変換を一度も発生させないコードが理想となる
データの持ち方として配列(new Array)であるべきなのか、はよく考えた方がいい
高速化で考えるべきは「ループ回数の削減」と「変換回数の削減」
>>41 source
>>42 reduce
>>47 map
reduceはループ回数は削減されているが、変換回数がsourceよりも多い
要素数6では「変換コスト > 検索コスト」になってしまい、sourceよりも遅い
要素数192では「変換コスト < 検索コスト」となるので、sourceよりも速い
mapの変換回数は2回で Array.from() と results.values() のみ
ループ回数、変換回数ともにsource,reduceよりも少ない
要素数6、要素数192のいずれも map が最速となる
実際のところ、変換を一度も発生させないコードが理想となる
データの持ち方として配列(new Array)であるべきなのか、はよく考えた方がいい
49デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/03(土) 11:42:14.57ID:RJZpwhgn0 >>39
a要素でマークアップされているなら、難しくはない
for (let a of document.querySelectorAll('a[href]')) a.target = '_blank';
window.open()などでリンクを開く挙動もJavaScriptで制御しているなら、コードを読んでリンク先を得る手段を考える必要がある
a要素でマークアップされているなら、難しくはない
for (let a of document.querySelectorAll('a[href]')) a.target = '_blank';
window.open()などでリンクを開く挙動もJavaScriptで制御しているなら、コードを読んでリンク先を得る手段を考える必要がある
50デフォルトの名無しさん (ワッチョイ 9534-9i1j [14.14.181.44])
2022/09/04(日) 09:22:10.61ID:eAq4eNQY051デフォルトの名無しさん (ワッチョイ d510-bEl6 [180.12.82.129])
2022/09/04(日) 12:38:54.82ID:FoFuUBY00 <div style="width:100%;height:200px;border:Solid 3px #0000ff" id="test"></div>
これのcss初期設定を取得したいのでstyle="○○"の○○部分を抽出したいんだけどやり方がわかりません。
element.style.widthみたいに取得すると途中で値を書き換えられると初期設定が得られないので
最初にタグに埋め込んであるものを取得したいんです。
これのcss初期設定を取得したいのでstyle="○○"の○○部分を抽出したいんだけどやり方がわかりません。
element.style.widthみたいに取得すると途中で値を書き換えられると初期設定が得られないので
最初にタグに埋め込んであるものを取得したいんです。
52デフォルトの名無しさん (ワッチョイ 955f-EB17 [14.8.104.32])
2022/09/04(日) 20:07:02.96ID:KWOOnIlI0 getAttributeとか?
53デフォルトの名無しさん (ワッチョイ 7561-rTOP [222.144.116.143])
2022/09/04(日) 20:23:24.42ID:FTTWPGH/0 element.style.hoge=fugaしたらstyle属性値も連動するんだから
書き換える前に取得しとくしかなくね?
書き換える前に取得しとくしかなくね?
54デフォルトの名無しさん (ワッチョイ 3501-vbgY [126.94.243.226])
2022/09/04(日) 21:15:03.99ID:SMoCQy1h055デフォルトの名無しさん (ワッチョイ d510-bBdM [180.12.82.129])
2022/09/04(日) 22:38:54.08ID:FoFuUBY00 >>52-54
ありがとうございました
ありがとうございました
56デフォルトの名無しさん (ワッチョイ d52c-6nWD [180.52.202.152])
2022/09/04(日) 23:03:12.95ID:9ocqxCfk0 >>50
開発者が、どのフレームワークを使っているのか分からないけど、
例えば、Ruby on Rails, Stimulus を使っているなら、
[Rails]Stimulusを使ってtableの行全体<tr>をリンクにする(jQuery不要)
https://zenn.dev/necocoa/articles/rails-stimulus-tr-link
これのhref_controller.js に、
export default class extends Controller {
toHref(event) {
// 既定の動作を取り消す
event.preventDefault()
// data-href 属性に入っている、URL を取得する
const href = event.currentTarget.dataset['href']
// URL を設定する
window.location.href = href
}
}
開発者が、どのフレームワークを使っているのか分からないけど、
例えば、Ruby on Rails, Stimulus を使っているなら、
[Rails]Stimulusを使ってtableの行全体<tr>をリンクにする(jQuery不要)
https://zenn.dev/necocoa/articles/rails-stimulus-tr-link
これのhref_controller.js に、
export default class extends Controller {
toHref(event) {
// 既定の動作を取り消す
event.preventDefault()
// data-href 属性に入っている、URL を取得する
const href = event.currentTarget.dataset['href']
// URL を設定する
window.location.href = href
}
}
5756 (ワッチョイ d52c-6nWD [180.52.202.152])
2022/09/04(日) 23:14:48.88ID:9ocqxCfk0 >>56
// URL を設定する
window.location.href = href
みたいに直接、window.location.href に設定しているけど、
この場合、Ctrl + クリックや、
右クリックメニューから新しいタブで開くことは出来ないのかな?
// URL を設定する
window.location.href = href
みたいに直接、window.location.href に設定しているけど、
この場合、Ctrl + クリックや、
右クリックメニューから新しいタブで開くことは出来ないのかな?
58デフォルトの名無しさん (ワッチョイ e3b7-9TNW [211.124.165.35])
2022/09/04(日) 23:26:45.19ID:RdtW7bNN0 >>50
遷移する時にdata-targetが使われることを見込んでこれでいけるかもね
for (let tr of document.querySelectorAll('tr.〇〇〇')) tr.dataset.target = '_blank'
※〇〇〇はtrのクラス名で
遷移する時にdata-targetが使われることを見込んでこれでいけるかもね
for (let tr of document.querySelectorAll('tr.〇〇〇')) tr.dataset.target = '_blank'
※〇〇〇はtrのクラス名で
59デフォルトの名無しさん (JP 0H93-Dk2f [103.163.220.88])
2022/09/05(月) 18:27:01.95ID:XvLqNcU6H document内の要素で、textContentに'xxx'を持つクラスを取得するにはどうしたらいいですか?
全部の要素総当たりでtextContent調べるしかないんでしょうか?
全部の要素総当たりでtextContent調べるしかないんでしょうか?
60デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/05(月) 18:51:10.83ID:ng2JfbNn0 >>50
JavaScriptコードが不明なので正確な回答は不可能
>>58の想定通りなら、おそらくその実装が一番楽
tr要素ノードにclickイベントハンドラでwindow.openする実装と仮定して、下記実装が考えられる
1. elementdataset.hrefでリンク先アドレスを得る
2. createElementでa要素ノード生成
3. replaceChildで(A)のDOMになるよう調節
4. tr要素ノードの仕掛けられたであろうclickイベントハンドラをevent.stopImmediatePropagation()で封印
(A)
<tr class=”〇〇〇” data-href=”★リンク先アドレス★” data-target=”〇〇〇”>
<td class=”〇〇〇”><a href=”★リンク先アドレス★”></a></td>
<td class=”〇〇〇”><a href=”★リンク先アドレス★”></a></td>
</tr>
window.open()なんてレガシーコード書きたくないからあえてa要素を使っているが、
イベントを横取りできるなら、既存イベントハンドラと同じコードにしても良い
JavaScriptコードが不明なので正確な回答は不可能
>>58の想定通りなら、おそらくその実装が一番楽
tr要素ノードにclickイベントハンドラでwindow.openする実装と仮定して、下記実装が考えられる
1. elementdataset.hrefでリンク先アドレスを得る
2. createElementでa要素ノード生成
3. replaceChildで(A)のDOMになるよう調節
4. tr要素ノードの仕掛けられたであろうclickイベントハンドラをevent.stopImmediatePropagation()で封印
(A)
<tr class=”〇〇〇” data-href=”★リンク先アドレス★” data-target=”〇〇〇”>
<td class=”〇〇〇”><a href=”★リンク先アドレス★”></a></td>
<td class=”〇〇〇”><a href=”★リンク先アドレス★”></a></td>
</tr>
window.open()なんてレガシーコード書きたくないからあえてa要素を使っているが、
イベントを横取りできるなら、既存イベントハンドラと同じコードにしても良い
61デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/05(月) 19:18:18.86ID:ng2JfbNn062デフォルトの名無しさん (ワッチョイ 3501-bBdM [126.94.243.226])
2022/09/05(月) 19:25:28.71ID:ng2JfbNn063デフォルトの名無しさん (アウアウウー Sa69-QaXK [106.129.180.164])
2022/09/07(水) 17:04:03.05ID:zBxXyTwva プログラミング初心者でJavaScriptを勉強してます。
メンバ変数A、メソッドBを持つクラスがあり、メソッドBの中で変数Aを活用(Aを用いた処理やAの変更)したいのですが、
Aを引数としてBに渡して返り値として受け取るのと、Bの中で直接this.Aと記述して処理するのは何か違いがありますか?
メソッドBに別の変数を渡す可能性があるなら前者でないといけないのでしょうが、そうでなければ後者の書き方でよいでしょうか?
メンバ変数A、メソッドBを持つクラスがあり、メソッドBの中で変数Aを活用(Aを用いた処理やAの変更)したいのですが、
Aを引数としてBに渡して返り値として受け取るのと、Bの中で直接this.Aと記述して処理するのは何か違いがありますか?
メソッドBに別の変数を渡す可能性があるなら前者でないといけないのでしょうが、そうでなければ後者の書き方でよいでしょうか?
64デフォルトの名無しさん (ワッチョイ 6501-vbgY [60.85.61.123])
2022/09/07(水) 18:23:46.99ID:LU0OXBc/065デフォルトの名無しさん (ワッチョイ 232c-HH83 [219.162.239.51])
2022/09/07(水) 19:11:15.04ID:8NMkvrFG0 Ruby で書くと、
initialize は、constructor
class A
def initialize
@x = 0
end
def f_1
@x = 1
end
def f_2( num )
@x = num
end
end
p a = A.new #<A: @x=0>
a.f_1
p a #<A: @x=1>
a.f_2( 2 )
p a #<A: @x=2>
initialize は、constructor
class A
def initialize
@x = 0
end
def f_1
@x = 1
end
def f_2( num )
@x = num
end
end
p a = A.new #<A: @x=0>
a.f_1
p a #<A: @x=1>
a.f_2( 2 )
p a #<A: @x=2>
66デフォルトの名無しさん (スッップ Sd43-5GnA [49.98.171.228])
2022/09/07(水) 19:17:44.81ID:GIiuva0od >>64
それ何にも疑問の解決になってないだろう
それ何にも疑問の解決になってないだろう
67デフォルトの名無しさん (ワッチョイ 6501-bBdM [60.85.61.123])
2022/09/07(水) 20:26:24.25ID:LU0OXBc/0 >>66
↓のsetAとcalcAの違いを聞いてるんじゃないのか?
class Foo {
constructor (a) {
this.A = a;
}
setA (a) {
this.A = calc(a);
}
calcA (a) {
return calc(a);
}
}
わかっているらしいあなたが回答すれば済む話だが
↓のsetAとcalcAの違いを聞いてるんじゃないのか?
class Foo {
constructor (a) {
this.A = a;
}
setA (a) {
this.A = calc(a);
}
calcA (a) {
return calc(a);
}
}
わかっているらしいあなたが回答すれば済む話だが
68デフォルトの名無しさん (ワッチョイ 2b7c-QaXK [113.43.107.134])
2022/09/08(木) 00:18:00.64ID:rIQlC2lz0 すいません。以下の様な状況でfuncCからfuncBまたはB'が呼ばれる状況を考えていました。B'のほうが楽な気がして。そもそも意味不明な質問だったら申し訳ないです…
```
class Foo{
varA; // varAの値はよそから取得
funcB (a){
//aに対する処理
return a;}
funcB' (){
//this.varAに対する処理
}
funcC(){
ans = funcB(this.varA);
または
funcB'();
ans = this.varA;
}
}
```
class Foo{
varA; // varAの値はよそから取得
funcB (a){
//aに対する処理
return a;}
funcB' (){
//this.varAに対する処理
}
funcC(){
ans = funcB(this.varA);
または
funcB'();
ans = this.varA;
}
}
6965 (ワッチョイ 232c-HH83 [219.162.239.51])
2022/09/08(木) 07:17:36.21ID:eI1uoUaK0 Ruby では、>>65
に書いたように、
def f_1
@x = 1
end
みたいに、クラス内のインスタンスメソッド・f_1 内で、
インスタンス変数・@x を使えるので、一々、引数で渡す必要がない
に書いたように、
def f_1
@x = 1
end
みたいに、クラス内のインスタンスメソッド・f_1 内で、
インスタンス変数・@x を使えるので、一々、引数で渡す必要がない
70デフォルトの名無しさん (ワッチョイ 955f-Iguz [14.13.137.64])
2022/09/08(木) 19:40:45.35ID:6QKcdu8L0 オブジェクト指向の一般的な話としては、クラス内の関数であればクラス内のメンバはいじっても問題ないと思う。
ただ、「どこの関数がこのメンバを触ってるのかわからない」ってほどクラスが巨大化するなら、もはやそれはたちの悪いグローバル変数そのものなので設計からおかしい。
ただ、「どこの関数がこのメンバを触ってるのかわからない」ってほどクラスが巨大化するなら、もはやそれはたちの悪いグローバル変数そのものなので設計からおかしい。
71デフォルトの名無しさん (ワッチョイ 6501-CzlZ [60.85.61.123])
2022/09/08(木) 22:51:00.93ID:D/mmzJCP0 >>68
一つ一つのコードの意味を理解して、一つ一つのコードでなぜをそれを使うのか、と自問して答えを出せば、自ずと答えが出てくる
質問していない部分で突っ込みどころが多すぎて、「何も考えてないんだな」と思わせられる
https://jsfiddle.net/qem7cLyf/
・なぜ 全ての関数は返り値を持たないのか?
・なぜ Foo1#funcB は静的関数ではないのか?
・なぜ Foo1#funcC,Foo2#funcC は返り値ではなく、グローバル変数に演算結果を格納したのか?
・なぜ Foo2#varA の初期化にコンストラクタの引数を使わないのか?
こういう質問全てにこたえられるぐらいに考えられないと良いコードはかけない
https://jsfiddle.net/s27mxepn/
・可能な限り、変数のスコープはせまくあるべき
・可能な限り、関数は参照透過性を持つべき
今後、インスタンスプロパティを拡張する予定があるならclassを使うべきだし、そうでないなら静的関数で十分
>>64で示した挙動の違いだけで十分に判断できる
一つ一つのコードの意味を理解して、一つ一つのコードでなぜをそれを使うのか、と自問して答えを出せば、自ずと答えが出てくる
質問していない部分で突っ込みどころが多すぎて、「何も考えてないんだな」と思わせられる
https://jsfiddle.net/qem7cLyf/
・なぜ 全ての関数は返り値を持たないのか?
・なぜ Foo1#funcB は静的関数ではないのか?
・なぜ Foo1#funcC,Foo2#funcC は返り値ではなく、グローバル変数に演算結果を格納したのか?
・なぜ Foo2#varA の初期化にコンストラクタの引数を使わないのか?
こういう質問全てにこたえられるぐらいに考えられないと良いコードはかけない
https://jsfiddle.net/s27mxepn/
・可能な限り、変数のスコープはせまくあるべき
・可能な限り、関数は参照透過性を持つべき
今後、インスタンスプロパティを拡張する予定があるならclassを使うべきだし、そうでないなら静的関数で十分
>>64で示した挙動の違いだけで十分に判断できる
72デフォルトの名無しさん (オッペケ Sr81-3vxq [126.254.237.221])
2022/09/08(木) 23:10:43.06ID:DGEh14TYr それがプログラミング初心者に投げつける言葉かよ・・・
そういう知識や判断力もゆくゆくは必要だけども物事には順序ってもんがあってまだその域ではなかろう
マウントが取りたいだけならもっと近いレベルの相手にやんなよ
そういう知識や判断力もゆくゆくは必要だけども物事には順序ってもんがあってまだその域ではなかろう
マウントが取りたいだけならもっと近いレベルの相手にやんなよ
73デフォルトの名無しさん (テテンテンテン MM4b-HSKh [133.106.60.103])
2022/09/08(木) 23:23:08.03ID:xrpQvLAzM74デフォルトの名無しさん (アウアウウー Sa69-QaXK [106.129.156.188])
2022/09/09(金) 09:56:50.51ID:Rq87TVpoa this.Aで書いた方が手っ取り早いことが多い気がしたのですが、そちらでもいいけどスコープに注意しないとバグの要因になる、グローバル変数を濫用しないようにというのと相似形の似たような話という認識でいいでしょうか。
下手したら必然性なく両者を混在させてしまったりしそうなので注意したいと思います。参照透過性とか言葉自体知りませんでした…
参考になりました。ありがとうございます。
下手したら必然性なく両者を混在させてしまったりしそうなので注意したいと思います。参照透過性とか言葉自体知りませんでした…
参考になりました。ありがとうございます。
75デフォルトの名無しさん (スップ Sd03-5GnA [1.75.3.22])
2022/09/09(金) 11:06:49.13ID:hB1+BppPd76デフォルトの名無しさん (ワッチョイ 6501-CzlZ [60.85.61.123])
2022/09/09(金) 19:12:54.25ID:0zkp1JmC0 >>72
> 物事には順序ってもんがあってまだその域ではなかろう
順序が大切なことには同意
ダメ出しがたくさんあるのは「学習の順序」が間違っているから
いろいろと学習を飛ばしてコードを書いており、その質問をする域に達していない
初心者だからこそ、もっと基礎的な課題から取り組むのが現実解だと俺は思う
今までの受け答えを見る限り、付け焼刃で知識をつけているように俺には見える
> マウントが取りたいだけならもっと近いレベルの相手にやんなよ
マウントを取りたいわけじゃない
> 物事には順序ってもんがあってまだその域ではなかろう
順序が大切なことには同意
ダメ出しがたくさんあるのは「学習の順序」が間違っているから
いろいろと学習を飛ばしてコードを書いており、その質問をする域に達していない
初心者だからこそ、もっと基礎的な課題から取り組むのが現実解だと俺は思う
今までの受け答えを見る限り、付け焼刃で知識をつけているように俺には見える
> マウントが取りたいだけならもっと近いレベルの相手にやんなよ
マウントを取りたいわけじゃない
77デフォルトの名無しさん (ワッチョイ 232c-HH83 [219.162.235.49])
2022/09/09(金) 20:14:57.93ID:n8dQNxep0 だから、オブジェクト指向とかプログラミングは、Ruby から始めるべき。
JavaScript(JS)みたいなややこしいもので、デザインパターンを学ぶべきではない
改訂2版 Ruby逆引きハンドブック
の1冊だけで、かなりのモジュール・ライブラリの使い方も分かる
同じページ数でも、JSなら、文法だけで終わる。
20年以上のJSの歴史を追っかけて行くから、文法だけでもRubyの5倍ぐらいある
だから、こういう言語へ手を出したらダメ。
Rubyist は、JSなどをコピペで済ます。
深い所までやらない。分量的に切りがない
JavaScript(JS)みたいなややこしいもので、デザインパターンを学ぶべきではない
改訂2版 Ruby逆引きハンドブック
の1冊だけで、かなりのモジュール・ライブラリの使い方も分かる
同じページ数でも、JSなら、文法だけで終わる。
20年以上のJSの歴史を追っかけて行くから、文法だけでもRubyの5倍ぐらいある
だから、こういう言語へ手を出したらダメ。
Rubyist は、JSなどをコピペで済ます。
深い所までやらない。分量的に切りがない
78デフォルトの名無しさん (ワッチョイ a95f-pw5f [14.8.104.32])
2022/09/10(土) 00:48:49.86ID:1NdnS3vZ0 学習の順序とか提示せずに「何も考えてない」と切り捨てるのはマウンティングに入らないんですか?
79デフォルトの名無しさん (ワッチョイ 1901-T2pD [60.85.61.123])
2022/09/10(土) 06:13:53.00ID:Cpvx7Vnj0 回答者相手にマウントとってる人に真面目に答えるだけ無駄か
そんな暇があったら、質問者に回答すればいいのに
そんな暇があったら、質問者に回答すればいいのに
80デフォルトの名無しさん (オッペケ Src5-qUKH [126.254.242.25])
2022/09/10(土) 09:58:22.29ID:aLnVTfHzr 君は高圧的な正しさで初心者を殴ってるだけ
人にものを教えるのには向いてないと思うよ
人にものを教えるのには向いてないと思うよ
81デフォルトの名無しさん (ワッチョイ 1901-V+uT [60.85.61.123])
2022/09/10(土) 11:01:57.14ID:Cpvx7Vnj082デフォルトの名無しさん (オッペケ Src5-qUKH [126.254.179.217])
2022/09/10(土) 11:48:27.08ID:DabBJhVCr 具体的にどの発言に対して言ってるのかわからんけど
そういう何か言い返さないと気がすまないって気持ちは心の中にしまっておいた方がいいんじゃないかな
そういう何か言い返さないと気がすまないって気持ちは心の中にしまっておいた方がいいんじゃないかな
83デフォルトの名無しさん (スップ Sd33-A6fq [49.97.111.223])
2022/09/10(土) 13:25:36.79ID:JRksiUpNd 自分の過ちを認めると負けたみたいでプライドが傷つくから
俺も悪かったけどお前らも悪いから引き分けだよねということにしたい心理の表れ
俺も悪かったけどお前らも悪いから引き分けだよねということにしたい心理の表れ
84デフォルトの名無しさん (ワッチョイ 6910-Vaw7 [180.12.82.129])
2022/09/11(日) 20:15:23.24ID:yDUj5jeF0 元の配列を関数内で空にしたいけどうまくいきません
100と表示されてしまったので空になっていませんでした。
配列は参照渡しなので元の配列も書き換えられると思ったんだけど
どうやれば関数内で元の配列を空にできますか?returnは使いたくないです。
let a_list = [100,200,300];
test(a_list);
function test(b_list){
b_list = [];
}
alert(a_list[0])
100と表示されてしまったので空になっていませんでした。
配列は参照渡しなので元の配列も書き換えられると思ったんだけど
どうやれば関数内で元の配列を空にできますか?returnは使いたくないです。
let a_list = [100,200,300];
test(a_list);
function test(b_list){
b_list = [];
}
alert(a_list[0])
85デフォルトの名無しさん (ワッチョイ 818b-pqEy [210.228.102.1])
2022/09/11(日) 20:29:51.41ID:bqV48/aB086デフォルトの名無しさん (ワッチョイ 6910-V+uT [180.12.82.129])
2022/09/11(日) 21:06:49.62ID:yDUj5jeF087デフォルトの名無しさん (オッペケ Src5-yIeJ [126.205.215.107])
2022/09/12(月) 09:29:51.85ID:ptOOOLgwr b_list = [];
が何故ダメかというとb_listを空にしてるんじゃなくて
b_listに新しい配列を代入してるだけだから
ということは覚えておこう
が何故ダメかというとb_listを空にしてるんじゃなくて
b_listに新しい配列を代入してるだけだから
ということは覚えておこう
88デフォルトの名無しさん (ワッチョイ 6dbd-fO9i [122.133.74.218])
2022/09/23(金) 01:20:03.32ID:93J4lVSi0 ブラウザで動かすとき、グローバルスコープでの demo って名前は何かある?
この名前の関数作ってボタンの onclick から呼び出そうとしたら関数未定義のエラーになる。
別の名前にすると呼び出せる。
この名前の関数作ってボタンの onclick から呼び出そうとしたら関数未定義のエラーになる。
別の名前にすると呼び出せる。
89デフォルトの名無しさん (スップ Sd43-Kpwt [49.97.97.207])
2022/09/23(金) 09:32:58.81ID:CDwP7FtJd タイポかスコープの勘違いとかじゃないの?
コンソールでdemo関数定義して実行したら普通に動いたけど
コンソールでdemo関数定義して実行したら普通に動いたけど
90デフォルトの名無しさん (ワッチョイ 9501-Zrsu [126.242.174.70])
2022/09/23(金) 10:32:57.61ID:UxdKoKVd091デフォルトの名無しさん (ワッチョイ 23bd-fO9i [125.194.52.138])
2022/09/23(金) 15:04:58.71ID:i+SKzCkA0 >>90
こんな感じだけど、ちょっと分かってきた。
全体貼ろうとしたらセキュリティチェックかなにかに引っ掛かって書けないから、scriptタグの中身と body の中身だけ。
function demo() { alert('DEMO'); }
<form>
<input type="button" name="demo" value="DEMO" onclick="demo()">
</form>
この onclick にとっての demo は多分 form内の input要素の demo になるんだね。
スコープがこの form になると。
こんな感じだけど、ちょっと分かってきた。
全体貼ろうとしたらセキュリティチェックかなにかに引っ掛かって書けないから、scriptタグの中身と body の中身だけ。
function demo() { alert('DEMO'); }
<form>
<input type="button" name="demo" value="DEMO" onclick="demo()">
</form>
この onclick にとっての demo は多分 form内の input要素の demo になるんだね。
スコープがこの form になると。
92デフォルトの名無しさん (ワッチョイ 23bd-fO9i [125.194.52.138])
2022/09/23(金) 15:06:34.97ID:i+SKzCkA0 エラーは未定義関数じゃなく、demo is not a function だった。
93デフォルトの名無しさん (スップ Sd43-Kpwt [49.97.96.176])
2022/09/23(金) 17:05:20.97ID:bbK6e07Hd thisとthis.formがスコープに入る仕様だそうな
https://qiita.com/hakatashi/items/40fbedf61a3dd79f21fc
有効に使う機会よりも謎の挙動にどハマりするケースの方が多そう
https://qiita.com/hakatashi/items/40fbedf61a3dd79f21fc
有効に使う機会よりも謎の挙動にどハマりするケースの方が多そう
94デフォルトの名無しさん (ワッチョイ 9501-Zrsu [126.242.174.70])
2022/09/23(金) 18:38:15.96ID:UxdKoKVd095デフォルトの名無しさん (ワッチョイ bf01-4MOF [126.242.174.70])
2022/09/25(日) 08:59:26.24ID:oCqDdJBP0 回答もらった途端にいなくなる質問者多いな
96デフォルトの名無しさん (ワッチョイ 2b5f-JEaq [106.73.71.2 [上級国民]])
2022/09/25(日) 17:53:11.47ID:hlHjM9NA0 こんにちは
ブラウザから、ローカルのファイル(画像など)を「関連付けされたソフトで開く」というのはできますか?
HTMLの<a href=#></a>だと、ブラウザ(Chrome)内で開いてしまいますが、これを別の画像ビューアで開きたいです
ブラウザから、ローカルのファイル(画像など)を「関連付けされたソフトで開く」というのはできますか?
HTMLの<a href=#></a>だと、ブラウザ(Chrome)内で開いてしまいますが、これを別の画像ビューアで開きたいです
97デフォルトの名無しさん (ワッチョイ bf01-4MOF [126.242.174.70])
2022/09/25(日) 20:26:11.45ID:oCqDdJBP098デフォルトの名無しさん (ワッチョイ 2b5f-JEaq [106.73.71.2 [上級国民]])
2022/09/26(月) 17:57:53.84ID:E/HZ+YPY0 ありがとうございます
「カスタムURLスキーム」を調べてやったみましたが、ローカルのファイルを指定ができません(画像ビューアは開くがファイルが開かない)
JavaScriptの質問ではないので恐縮ですが、どうやって指定できますかね?
https://qiita.com/kojimadev/items/74100c8557a92939ef69
例えば上のサイトを参考に、画像ビューアをhogeでレジストリ登録して下のようにすると、画像ビューアだけ起動してファイルは見つからなかったと出ます(hoge:file:///C:...などもダメ)
<a href="hoge:C:/tmp/sample.jpg"></a>
「カスタムURLスキーム」を調べてやったみましたが、ローカルのファイルを指定ができません(画像ビューアは開くがファイルが開かない)
JavaScriptの質問ではないので恐縮ですが、どうやって指定できますかね?
https://qiita.com/kojimadev/items/74100c8557a92939ef69
例えば上のサイトを参考に、画像ビューアをhogeでレジストリ登録して下のようにすると、画像ビューアだけ起動してファイルは見つからなかったと出ます(hoge:file:///C:...などもダメ)
<a href="hoge:C:/tmp/sample.jpg"></a>
99デフォルトの名無しさん (ワッチョイ e27c-bwfb [221.241.223.58])
2022/09/26(月) 22:44:18.29ID:Xyg4q6vF0100デフォルトの名無しさん (ワッチョイ a2bd-ZJWq [125.198.8.233])
2022/09/26(月) 23:02:16.56ID:adbpU9F00 >>98
アプリの方もURLスキームでの起動に対応してないとだめなんじゃない?
URLスキームはその URLの書式をアプリ独自に決めてあって、アプリはその書式でアクションや対象を判別して動作するように作られてるんだと思う。
とりあえず与えられた引数が分かるテストアプリを見繕って hoge として登録してみたら何か分かるかもよ。
アプリの方もURLスキームでの起動に対応してないとだめなんじゃない?
URLスキームはその URLの書式をアプリ独自に決めてあって、アプリはその書式でアクションや対象を判別して動作するように作られてるんだと思う。
とりあえず与えられた引数が分かるテストアプリを見繕って hoge として登録してみたら何か分かるかもよ。
101デフォルトの名無しさん (JP 0Hd7-ruke [210.228.21.53])
2022/10/06(木) 16:54:22.37ID:bvSP9gLaH Xhrで非同期通信するサーバーサイドのファイル(api.php)の中に登録されてる関数を実行することって出来るかな?
api.phpのfunction hoge()を実行するって感じ
api.phpのfunction hoge()を実行するって感じ
102デフォルトの名無しさん (ワッチョイ 7301-AcZi [126.88.47.26])
2022/10/06(木) 17:40:38.15ID:mWLza3X30 >>101
リクエストのハンドラがその関数を呼べばいいだけじゃない?
リクエストのハンドラがその関数を呼べばいいだけじゃない?
103デフォルトの名無しさん (ワッチョイ 3f7c-pIDl [43.235.241.201])
2022/10/06(木) 18:17:20.20ID:tI414gt60104デフォルトの名無しさん (ワッチョイ 9fda-Eaf/ [125.202.99.65])
2022/10/19(水) 06:40:09.61ID:+dFS1Lme0 if (a==b){} と書くべき所を、
間違って if (a=b){} と書いたら、
a<>b な値を入れても true が返ってくる
何が起きているんでしょう?
間違って if (a=b){} と書いたら、
a<>b な値を入れても true が返ってくる
何が起きているんでしょう?
105デフォルトの名無しさん (ワッチョイ 9701-FGyv [60.115.215.187])
2022/10/19(水) 06:51:04.23ID:PuLzlRQU0106デフォルトの名無しさん (アウアウウー Sa5b-UrA8 [106.146.102.221])
2022/10/19(水) 11:19:00.04ID:4XenNUmUa bが0以外なら{}が実行される。
107デフォルトの名無しさん (ワッチョイ 9fda-Eaf/ [125.202.99.65])
2022/10/20(木) 01:45:20.86ID:sarICcZm0108デフォルトの名無しさん (JP 0Hdf-KIw6 [103.163.220.59])
2022/10/20(木) 05:56:13.16ID:BavO7XJlH uBlockで要素取得した時の名前が###contentsです
これをTampermonkeyのJSで要素getするにはどうしたらいいでしょうか?
getElementById、getElementsByTagName、getElementsByClassName、querySelectorAll等ではだめでした
これをTampermonkeyのJSで要素getするにはどうしたらいいでしょうか?
getElementById、getElementsByTagName、getElementsByClassName、querySelectorAll等ではだめでした
109デフォルトの名無しさん (ワッチョイ f7bd-p3V3 [122.133.73.156])
2022/10/20(木) 12:03:03.14ID:qg4xQu9m0 >>107
条件の中にあえて代入を入れるケースは無くはない。
if (result = func()) ...
みたいな感じとか。
これは比較してるんじゃなくこういうこと。
result = func();
if (result) ...
比較と組み合わせて
if ((result = func()) == 100) ...
みたいな書き方もある。
メリットは単に短く書けるということもあるし、別の言語も含めれば
while ((line = fgets(fp)) != EOF) ...
みたいな、代入と比較が一緒じゃないと書き方的に面倒になる部分に使う。
条件の中にあえて代入を入れるケースは無くはない。
if (result = func()) ...
みたいな感じとか。
これは比較してるんじゃなくこういうこと。
result = func();
if (result) ...
比較と組み合わせて
if ((result = func()) == 100) ...
みたいな書き方もある。
メリットは単に短く書けるということもあるし、別の言語も含めれば
while ((line = fgets(fp)) != EOF) ...
みたいな、代入と比較が一緒じゃないと書き方的に面倒になる部分に使う。
110デフォルトの名無しさん (ワッチョイ 9f47-y3r4 [131.129.209.7])
2022/10/20(木) 12:59:50.47ID:QXtRAkax0 >>108
getElementById('contents') or querySelector('#contents')
getElementById('contents') or querySelector('#contents')
111デフォルトの名無しさん (JP 0Hdf-7o11 [103.163.220.77])
2022/10/20(木) 13:20:03.60ID:C0rWwrYjH112デフォルトの名無しさん (ワッチョイ 9701-FGyv [60.115.215.187])
2022/10/20(木) 15:12:09.85ID:MJUQgOR60 >>106
0だけがfalsyなわけではないはず
https://262.ecma-international.org/13.0/#sec-toboolean
>>109
代入と組み合わせることですっきり書ける場合があるよな
whileは割と使ってる
0だけがfalsyなわけではないはず
https://262.ecma-international.org/13.0/#sec-toboolean
>>109
代入と組み合わせることですっきり書ける場合があるよな
whileは割と使ってる
113デフォルトの名無しさん (ワッチョイ d75f-2/eE [14.8.104.32])
2022/10/20(木) 21:55:34.73ID:1vPPjI2Y0 whileって原始的かつ結構直感的だから使いやすいよね
114デフォルトの名無しさん (ワッチョイ 3d10-w3aL [180.12.82.129])
2022/10/23(日) 10:06:21.98ID:6Nh0kUN40 <style id="test">
@media screen and (min-width:751px){
#aaa{
width:700px;
}
}
@media screen and (max-width:750px){
#aaa{
width:100%;
}
}
</style>
<スクリプト>
let sheet = document.getElementById("test").sheet;
let st = sheet.cssRules[0].selectorText;
alert(st);
</スクリプト>
このようなmedia screen付きのcssのselectorTextを取得したいんだけど
このようにやってもundefinedになってしまいます。どうすれば取得できますか?
media screenがなければちゃんとselectorTextは#aaaと取得できるんだけど
@media screen and (min-width:751px){
#aaa{
width:700px;
}
}
@media screen and (max-width:750px){
#aaa{
width:100%;
}
}
</style>
<スクリプト>
let sheet = document.getElementById("test").sheet;
let st = sheet.cssRules[0].selectorText;
alert(st);
</スクリプト>
このようなmedia screen付きのcssのselectorTextを取得したいんだけど
このようにやってもundefinedになってしまいます。どうすれば取得できますか?
media screenがなければちゃんとselectorTextは#aaaと取得できるんだけど
115デフォルトの名無しさん (ワッチョイ ab2d-85pP [121.102.18.226])
2022/10/23(日) 11:43:18.26ID:hW6qdPXA0 console.dirでsheetの中身を覗いて探せば見つかるかと
116デフォルトの名無しさん (ワッチョイ 557c-w3aL [122.212.16.94])
2022/10/23(日) 16:29:44.52ID:l4Ll+vUb0 iPhone6などの古い環境のSafariで、ES6以降の各ES(ES2022等)のどこまでサポートしているか、というのはどのように確認すればよいでしょうか?
iOSは12で、UAではSafari Webkit 604.1 となっています。
ESも毎年更新されてPCや現行スマホなら問題なく表示できますが、サポートの終わった古い端末でも表示させるにはどの機能がNGかを確認したいのですが・・・
iOSバージョンやブラウザバージョンを指定して、それがどこまでサポートしているかが分かるサイトや、実際の端末を使ってどの機能がNGかテストするとか、PC上でデバッグ可能(エラー表示)なエミュレータなどあれば教えていただきたいです。
iOSは12で、UAではSafari Webkit 604.1 となっています。
ESも毎年更新されてPCや現行スマホなら問題なく表示できますが、サポートの終わった古い端末でも表示させるにはどの機能がNGかを確認したいのですが・・・
iOSバージョンやブラウザバージョンを指定して、それがどこまでサポートしているかが分かるサイトや、実際の端末を使ってどの機能がNGかテストするとか、PC上でデバッグ可能(エラー表示)なエミュレータなどあれば教えていただきたいです。
117デフォルトの名無しさん (ワッチョイ fd5f-jOkU [14.8.104.32])
2022/10/23(日) 16:34:31.24ID:sfEqSuvv0 MacBookを買いましょう
118デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133])
2022/10/23(日) 16:44:23.51ID:YzYXhWAT0 Can I use のサイトとか、npm のbrowserslist とか?
119デフォルトの名無しさん (ワッチョイ 557c-w3aL [122.212.16.94])
2022/10/23(日) 16:55:32.04ID:l4Ll+vUb0 >>118
ありがとうございます。
Can I useのサイトで各ESxxxを検索して概ねサポートされる範囲が分かりました。
Safari 12だとES2020の一部からサポートされない機能があるので、そこら辺が境界ぽいことが分かりました。
ありがとうございます。
Can I useのサイトで各ESxxxを検索して概ねサポートされる範囲が分かりました。
Safari 12だとES2020の一部からサポートされない機能があるので、そこら辺が境界ぽいことが分かりました。
120デフォルトの名無しさん (ワッチョイ 3d10-Vrxx [180.12.82.129])
2022/10/23(日) 17:46:05.51ID:6Nh0kUN40121デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/24(月) 22:47:10.94ID:VafCOtMO0 JavaScriptは大変難しい言語です。Rubyの難易度を2、Cの難易度を5、C++の難易度を8にすると、
JavaScriptの難易度は12ぐらいあると思います。
このコーディングガイドはそんなJavaScriptの深みに嵌まらないようにするためのJavaScriptの書き方を規定したものです。
初級者1のための物ですので、わかってやっている人に好きにやってください。
このコーディングガイドは絶対に従わなければならないものではありません。
私は一切強制はしませんし、初級者が従わなければならないという義務もありません。採用するしないはみなさんの自由です。
禁止編
JavaScriptには安易に使用してはいけない機能があります。
下記の機能は、それぞれの機能を使っても良い、または、使うべきであるという理由を説明できない限り、使用してはいけません。
JavaScriptの難易度は12ぐらいあると思います。
このコーディングガイドはそんなJavaScriptの深みに嵌まらないようにするためのJavaScriptの書き方を規定したものです。
初級者1のための物ですので、わかってやっている人に好きにやってください。
このコーディングガイドは絶対に従わなければならないものではありません。
私は一切強制はしませんし、初級者が従わなければならないという義務もありません。採用するしないはみなさんの自由です。
禁止編
JavaScriptには安易に使用してはいけない機能があります。
下記の機能は、それぞれの機能を使っても良い、または、使うべきであるという理由を説明できない限り、使用してはいけません。
122デフォルトの名無しさん (ワッチョイ 0d01-aUxx [60.78.11.62])
2022/10/24(月) 23:16:49.94ID:Sn3QmQ+W0123デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/25(火) 01:00:55.86ID:IMqCQD810 ラッシーこそだよ。欄版は。
124デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/25(火) 01:02:07.20ID:IMqCQD810 マンタリーな、シェシェ。
ぐーむ菜素図。i-ku
ぐーむ菜素図。i-ku
125デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/25(火) 01:02:49.43ID:IMqCQD810 天ら万重も近し。
126デフォルトの名無しさん (ワッチョイ 0d01-aUxx [60.78.11.62])
2022/10/25(火) 02:28:40.06ID:iqiTxlhy0 >>123-125
日本語でOK
日本語でOK
127デフォルトの名無しさん (ワッチョイ 2d93-++Yg [118.241.248.66])
2022/10/25(火) 14:16:06.20ID:S5n6e8jb0 ファイルを読み込んでArrayBufferから配列へbyteデータにしたいです。
<input type="file" id="file">
<script>
let fileInput = document.getElementById('file');
fileInput.onchange = () => {
var fileReader = new FileReader();
fileReader.onload = function(e) {
var ary = new Uint8Array(fileReader.result);
}
};
これでaryに数値が代入されているんですが
選んだファイルが約100,000kb程のサイズなんですが
処理後のaryのサイズが約1600,000kbとなってしまいます。
なぜ大きくなってしまうのでしょうか?
同じサイズになるようにするにはどこを訂正するといいですか?
<input type="file" id="file">
<script>
let fileInput = document.getElementById('file');
fileInput.onchange = () => {
var fileReader = new FileReader();
fileReader.onload = function(e) {
var ary = new Uint8Array(fileReader.result);
}
};
これでaryに数値が代入されているんですが
選んだファイルが約100,000kb程のサイズなんですが
処理後のaryのサイズが約1600,000kbとなってしまいます。
なぜ大きくなってしまうのでしょうか?
同じサイズになるようにするにはどこを訂正するといいですか?
128デフォルトの名無しさん (ワッチョイ 2d93-++Yg [118.241.248.66])
2022/10/25(火) 15:28:48.49ID:S5n6e8jb0 すいません勘違いだったようです。
129デフォルトの名無しさん (ワッチョイ 3b01-SlLl [111.188.39.41])
2022/10/25(火) 17:11:46.89ID:jIOTtTPX0 初心者です、関数を配列オブジェクトに入れて
findでオブジェクトを取得して、そのオブジェクトの中の関数を呼び出すといったことがしたいです
初心者むけのネット記事なんかを見て組んだのですが、エラーが出てしましいます。
今のソースはこんな状態なんですが、間違っているところはありますでしょうか?
struct = [
{hoge:huga, func:functionA},
{hoge:hage, func:functionB}
]
callfunction(check){
var gets = struct.find((v) => v.hoge === check);
gets.run()←ここでAとBを使い分けて呼びたい
};
functionA = {}
functioA.run = function(){
~動かしたい処理A~
}
functionB = {}
functioB.run = function(){
~動かしたい処理B~
}
findでオブジェクトを取得して、そのオブジェクトの中の関数を呼び出すといったことがしたいです
初心者むけのネット記事なんかを見て組んだのですが、エラーが出てしましいます。
今のソースはこんな状態なんですが、間違っているところはありますでしょうか?
struct = [
{hoge:huga, func:functionA},
{hoge:hage, func:functionB}
]
callfunction(check){
var gets = struct.find((v) => v.hoge === check);
gets.run()←ここでAとBを使い分けて呼びたい
};
functionA = {}
functioA.run = function(){
~動かしたい処理A~
}
functionB = {}
functioB.run = function(){
~動かしたい処理B~
}
130デフォルトの名無しさん (ワッチョイ 3b01-SlLl [111.188.39.41])
2022/10/25(火) 17:13:23.18ID:jIOTtTPX0 すみません少し修正です
struct = [
{hoge:huga, func:functionA},
{hoge:hage, func:functionB}
]
callfunction(check){
var gets = struct.find((v) => v.hoge === check).func;
gets.run()←ここでAとBを使い分けて呼びたい
};
functionA = {}
functionA.run = function(){
~動かしたい処理A~
}
functionB = {}
functionB.run = function(){
~動かしたい処理B~
}
struct = [
{hoge:huga, func:functionA},
{hoge:hage, func:functionB}
]
callfunction(check){
var gets = struct.find((v) => v.hoge === check).func;
gets.run()←ここでAとBを使い分けて呼びたい
};
functionA = {}
functionA.run = function(){
~動かしたい処理A~
}
functionB = {}
functionB.run = function(){
~動かしたい処理B~
}
131デフォルトの名無しさん (スップ Sd03-w3aL [49.97.107.253])
2022/10/25(火) 17:47:25.32ID:dHKYynBEd あまり複雑なことはせずに↓みたいなのではダメだろうか
https://jsfiddle.net/6x7yusjL/
これではダメで、どうしても>>130のエラーを解消したいなら出ているエラーの内容ぐらいは書くようにしよう
https://jsfiddle.net/6x7yusjL/
これではダメで、どうしても>>130のエラーを解消したいなら出ているエラーの内容ぐらいは書くようにしよう
132デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/25(火) 17:58:30.53ID:IMqCQD810 >>121
14位.JavaScript
難易度:★★☆☆☆
今回ご紹介するプログラミング言語の中で最も難易度が低いのがJavaScriptです。
初学者がプログラミングの学習を始めるのに適した言語の一つ。
Webサイトなどで動きのある見た目を実現する為に利用されます。
JavaScriptから派生したフレームワークも数多く、
そちらのフレームワークを学習する場合には難易度が高くなります。
ただ、JavaScriptをそのまま利用して学習を進めるであれば、
他の言語と比べて開発環境の構築が不要であることや関連書籍が数多くでていることから、
難易度は低い言語といえるでしょう。
14位.JavaScript
難易度:★★☆☆☆
今回ご紹介するプログラミング言語の中で最も難易度が低いのがJavaScriptです。
初学者がプログラミングの学習を始めるのに適した言語の一つ。
Webサイトなどで動きのある見た目を実現する為に利用されます。
JavaScriptから派生したフレームワークも数多く、
そちらのフレームワークを学習する場合には難易度が高くなります。
ただ、JavaScriptをそのまま利用して学習を進めるであれば、
他の言語と比べて開発環境の構築が不要であることや関連書籍が数多くでていることから、
難易度は低い言語といえるでしょう。
133デフォルトの名無しさん (アウアウウー Sa11-SlLl [106.155.10.123])
2022/10/25(火) 18:17:09.25ID:jFHnOV8wa134デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133])
2022/10/25(火) 23:20:22.24ID:RDzJGkEc0 JavaScript(JS)は、Ruby の数倍難しい
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、2017
例えば上の本は、サイの表紙のサイ本と呼ばれるけど、
これだけ勉強しても、文法しか学べない
改訂2版 Ruby逆引きハンドブック、2018
一方、サイ本と比べて、上の本は、多くの主要モジュールの使い方まで説明している。
大体のコーディングパターンまで学べる。
つまり中級者向けなのは、文法のページが少ないから
JSだと、ES3, ES5, ES6 の20年に及ぶ、膨大な文法の変遷を追っていかなければならない。
ES2015(ES6)から、ようやくクラスも出来て、Rubyっぽくなってきた
ちょっとした比較でも、あいまい比較演算子== は使ってはならない。
厳密比較演算子=== だけを使うとか、初心者がはまる罠が多い
学ぶ順序としては、Ruby → JS を勧める
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、2017
例えば上の本は、サイの表紙のサイ本と呼ばれるけど、
これだけ勉強しても、文法しか学べない
改訂2版 Ruby逆引きハンドブック、2018
一方、サイ本と比べて、上の本は、多くの主要モジュールの使い方まで説明している。
大体のコーディングパターンまで学べる。
つまり中級者向けなのは、文法のページが少ないから
JSだと、ES3, ES5, ES6 の20年に及ぶ、膨大な文法の変遷を追っていかなければならない。
ES2015(ES6)から、ようやくクラスも出来て、Rubyっぽくなってきた
ちょっとした比較でも、あいまい比較演算子== は使ってはならない。
厳密比較演算子=== だけを使うとか、初心者がはまる罠が多い
学ぶ順序としては、Ruby → JS を勧める
135デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133])
2022/10/25(火) 23:31:33.41ID:RDzJGkEc0136デフォルトの名無しさん (ワッチョイ e3da-OgY3 [125.202.99.65])
2022/10/26(水) 00:55:25.26ID:WkGW4dkw0 コンソールからは実行出来るのに、
拡張機能からだと無視されるのは何?
拡張機能からだと無視されるのは何?
137デフォルトの名無しさん (ワッチョイ 2bdb-72Rk [217.178.96.73])
2022/10/26(水) 19:58:11.00ID:radnZEOF0138デフォルトの名無しさん (ワッチョイ e333-w8uH [59.190.185.6])
2022/10/28(金) 14:20:33.37ID:dQ+2i/bt0 乱数の生成について質問です。
日付をシードとした乱数を生成したいのですがどうも偏ります。
シードの採用の仕方にルールなどがあるのでしょうか?
xorshiftのものを2個試しましたが
2ことも偏っていました。
https://jsfiddle.net/4dz70wxp/3/
日付をシードとした乱数を生成したいのですがどうも偏ります。
シードの採用の仕方にルールなどがあるのでしょうか?
xorshiftのものを2個試しましたが
2ことも偏っていました。
https://jsfiddle.net/4dz70wxp/3/
139デフォルトの名無しさん (スッップ Sd03-LP1i [49.98.165.74])
2022/10/28(金) 17:22:23.79ID:mktFZgumd ちょっとだけ違う初期値に対して乱数がほしいという用途は想定外だろう
欲しいものはMurmurHash3みたいなハッシュ関数ではないか?
欲しいものはMurmurHash3みたいなハッシュ関数ではないか?
140デフォルトの名無しさん (スップ Sdc3-H7SW [1.75.9.11])
2022/10/28(金) 18:09:17.06ID:HM5QgWcQd 一発目のnext()の値を捨てれば良さそうな気も
https://jsfiddle.net/ny0cpm5v/
https://jsfiddle.net/ny0cpm5v/
141デフォルトの名無しさん (スップ Sdc3-H7SW [1.75.9.11])
2022/10/28(金) 18:36:54.83ID:HM5QgWcQd もう少しいじってみたけどどうやらシードの桁数不足が問題なのかな
new Xorshift32(seed * 1000000)
とかにするだけで最初の値にもだいぶ幅が出る
いやいや偏りってそういうことじゃなくてって話ならごめんだけど
new Xorshift32(seed * 1000000)
とかにするだけで最初の値にもだいぶ幅が出る
いやいや偏りってそういうことじゃなくてって話ならごめんだけど
142デフォルトの名無しさん (ワッチョイ e333-w8uH [59.190.185.6])
2022/10/28(金) 19:03:49.78ID:dQ+2i/bt0143デフォルトの名無しさん (スップ Sdc3-H7SW [1.75.9.11])
2022/10/28(金) 20:24:11.90ID:HM5QgWcQd next()が与えられた値にビット演算をあれこれやって次の値を出してるから
シードが2桁整数ではほとんどのビットがゼロなために
最初の演算結果が狭い範囲に収まってしまってるんでないかと
シードが2桁整数ではほとんどのビットがゼロなために
最初の演算結果が狭い範囲に収まってしまってるんでないかと
144デフォルトの名無しさん (ワッチョイ e333-w8uH [59.190.185.6])
2022/10/28(金) 21:20:56.67ID:dQ+2i/bt0 >>143
ありがとうございます
https://jsfiddle.net/4dz70wxp/5/
42億あるうちの下一桁をいじるだけではだめみたいですね。
一日かわればseedも大きく変わるようにして
念の為、3回目あたりをとってみます。
ありがとうございました。
ありがとうございます
https://jsfiddle.net/4dz70wxp/5/
42億あるうちの下一桁をいじるだけではだめみたいですね。
一日かわればseedも大きく変わるようにして
念の為、3回目あたりをとってみます。
ありがとうございました。
145デフォルトの名無しさん (スップ Sdc3-H7SW [1.75.9.11])
2022/10/28(金) 22:43:22.03ID:HM5QgWcQd https://jsfiddle.net/f9h4zu1x/
少し間違ってた
桁数が少ないのが問題じゃなくて、ビットの可変幅が狭いのが問題
だから桁数増やしてもシードの増分が1なら結局同じ
日付を上の桁に持っていけば1回目も改善する
少し間違ってた
桁数が少ないのが問題じゃなくて、ビットの可変幅が狭いのが問題
だから桁数増やしてもシードの増分が1なら結局同じ
日付を上の桁に持っていけば1回目も改善する
146デフォルトの名無しさん (ワッチョイ 775f-FQW+ [14.12.73.128])
2022/11/02(水) 15:24:18.98ID:8PfyXsoj0 ブラウザ上での音声認識と録音について質問です。
現在、マイクから音声認識を行い、簡単な対話を行うWebアプリを作成しようとしています。
Web Speech APIのSpeechRecognitionを使用して音声認識には成功しましたが、これに加えて録音も同時に行いたいです。
SpeechRecognitionは喋っている内容を取っているので、そこから音声ファイルを作成できないかとやったのですが、目的の資料を見つけることができませんでした。
そのため、SpeechRecognitionと並行してmediaDevices.getUserMediaを使い録音する形で実装しました。
PCでは成功したのですが、スマホ(Android、iOS共に)だとmediaDevices.getUserMediaでストリームを使用とした時点で音声がすべてそちらに取られてしまい、音声認識が出来なくなってしまいました。
今度は録音した音声データをGCPのSpeech-to-Textの音声認識に回すかたちで実装してみましたが、即座に認識結果が得られず、対話のテンポが悪くなるため、微妙な感じになってしまいました。
音声認識と録音を両立する良い方法はないでしょうか?
現在、マイクから音声認識を行い、簡単な対話を行うWebアプリを作成しようとしています。
Web Speech APIのSpeechRecognitionを使用して音声認識には成功しましたが、これに加えて録音も同時に行いたいです。
SpeechRecognitionは喋っている内容を取っているので、そこから音声ファイルを作成できないかとやったのですが、目的の資料を見つけることができませんでした。
そのため、SpeechRecognitionと並行してmediaDevices.getUserMediaを使い録音する形で実装しました。
PCでは成功したのですが、スマホ(Android、iOS共に)だとmediaDevices.getUserMediaでストリームを使用とした時点で音声がすべてそちらに取られてしまい、音声認識が出来なくなってしまいました。
今度は録音した音声データをGCPのSpeech-to-Textの音声認識に回すかたちで実装してみましたが、即座に認識結果が得られず、対話のテンポが悪くなるため、微妙な感じになってしまいました。
音声認識と録音を両立する良い方法はないでしょうか?
147デフォルトの名無しさん (ワッチョイ 56db-iO6U [217.178.96.73])
2022/11/02(水) 15:30:07.55ID:yKYFejXH0 他人が書いたJavaScriptのコードは読みにくいですよね?
148デフォルトの名無しさん (ワッチョイ c3bd-+SD0 [122.133.74.138])
2022/11/02(水) 15:34:06.32ID:Wk8IFz/p0 >>147
自分が書いたコードすら後から見るとよく分からないなんてことはザラ
自分が書いたコードすら後から見るとよく分からないなんてことはザラ
149デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/02(水) 15:53:32.48ID:3LaOl4E/0 function double(number){
const result=number*2;
return result;
};
const a=double(10);
console.log(a);
でコンソールに20と表示されますが、return resultの所のイメージがつかめません
function double(number){
const result=number*2;
};
console.log(result);
もっと簡単にこれでは20と表示されないんでしょうか?
const result=number*2;
return result;
};
const a=double(10);
console.log(a);
でコンソールに20と表示されますが、return resultの所のイメージがつかめません
function double(number){
const result=number*2;
};
console.log(result);
もっと簡単にこれでは20と表示されないんでしょうか?
150デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/02(水) 16:00:00.37ID:3LaOl4E/0 すみません
わかりました
double(number)に戻り値number*2を返してるんですね
だからdouble(10)で20になると
わかりました
double(number)に戻り値number*2を返してるんですね
だからdouble(10)で20になると
151デフォルトの名無しさん (オッペケ Sr27-d9L8 [126.157.127.165])
2022/11/02(水) 18:16:59.98ID:O63UpHJfr >>148
そいつにかまってはいけない
そいつにかまってはいけない
152デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/02(水) 21:50:32.06ID:3LaOl4E/0 JavaScriptのパズルをやってたんですけど、このコードだけで意味がわかりますか?
https://i.imgur.com/A4xj7Qh.jpg
最初の定義とか色々省かれていませんか?
初心者だからはっきりわからないのですが…
https://i.imgur.com/A4xj7Qh.jpg
最初の定義とか色々省かれていませんか?
初心者だからはっきりわからないのですが…
153デフォルトの名無しさん (ブーイモ MMce-pwL4 [163.49.215.251])
2022/11/02(水) 22:07:02.98ID:zmf8vxSNM これぐらいなら簡単
変数名と関数名がちゃんと付けられてるからそこから読んでいけば普通に読める
変数名と関数名がちゃんと付けられてるからそこから読んでいけば普通に読める
154デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/02(水) 22:12:42.94ID:3LaOl4E/0155デフォルトの名無しさん (ワッチョイ 775f-WhKm [14.11.8.0 [上級国民]])
2022/11/02(水) 22:46:00.31ID:f9FvTICb0 >>152
任意の数値リストを突っ込むと最大値出してくれるっていうコードだろこれ
任意の数値リストを突っ込むと最大値出してくれるっていうコードだろこれ
156デフォルトの名無しさん (テテンテンテン MM9e-BRTv [133.106.51.31])
2022/11/02(水) 23:13:35.51ID:J736PzjWM 問題の方にあるのかも知らんし
ここで聞かれても分かんね
ここで聞かれても分かんね
157デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/02(水) 23:36:43.64ID:3LaOl4E/0 問題はこんな感じです
https://i.imgur.com/lImN0zM.jpg
(画像の下の方が切れてますが、>>152の画像と同じものが入っているだけです)
あまり親切じゃないから初心者には向いて無いのかな?
https://i.imgur.com/lImN0zM.jpg
(画像の下の方が切れてますが、>>152の画像と同じものが入っているだけです)
あまり親切じゃないから初心者には向いて無いのかな?
158デフォルトの名無しさん (ワッチョイ d6cf-ee5o [153.174.224.39])
2022/11/02(水) 23:40:18.85ID:t/iark2f0 全部負の数値だと使えない
159デフォルトの名無しさん (ワッチョイ 927c-Tk+f [43.235.241.201])
2022/11/03(木) 11:43:01.93ID:39/cO+p70 このコードは十分初心者向けに書かれていると思うけどねぇ
ただmax=0にしているから、基本は0より大きな数の配列の中から最大値を調べる処理という事に
ただmax=0にしているから、基本は0より大きな数の配列の中から最大値を調べる処理という事に
160デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/03(木) 12:47:18.10ID:EP9jPLDR0 >>159
この学習アプリやってた
Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい
https://forest.watch.impress.co.jp/docs/serial/progedu/1404361.html
この学習アプリやってた
Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい
https://forest.watch.impress.co.jp/docs/serial/progedu/1404361.html
161デフォルトの名無しさん (ワッチョイ d6cf-ee5o [153.174.224.39])
2022/11/03(木) 15:53:23.61ID:78vcP9/m0 次のステップなどで対応するならいいけどね
max の初期値を配列の先頭から取れば済むだけだが
max の初期値を配列の先頭から取れば済むだけだが
162デフォルトの名無しさん (ワッチョイ 174b-2YcT [110.2.215.28 [上級国民]])
2022/11/03(木) 20:27:36.79ID:EP9jPLDR0 ようやくわかりました
2つめの関数の中で前に定義した1つめの関数を実行してるんですね
関数は定義&実行で1ペアと考えないといけない
次に進みます
2つめの関数の中で前に定義した1つめの関数を実行してるんですね
関数は定義&実行で1ペアと考えないといけない
次に進みます
163デフォルトの名無しさん (ワッチョイ 56db-iO6U [217.178.96.73])
2022/11/04(金) 08:09:59.45ID:RzANRCFJ0 #を付ける プライベートクラスフィールドが分かりにくい。
解説しているサイトも少ない。
解説しているサイトも少ない。
164デフォルトの名無しさん (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/07(月) 15:24:45.79ID:zC6hz6+Y0 Adobe Illustratorのスクリプトを書くのにHTMLの知識いりますか?
JavaScriptの入門書を読んでたんですけど、前半のJavaScriptの文法の所まで読み終わりました
後半はHTMLとJavaScriptの組み込み方みたいになってるんだけど、ここ読む必要あるのかな?
もちろん知ってた方がためになるんだろうけど、次のAdobe JavaScriptの本へ行こうか迷っています…
JavaScriptの入門書を読んでたんですけど、前半のJavaScriptの文法の所まで読み終わりました
後半はHTMLとJavaScriptの組み込み方みたいになってるんだけど、ここ読む必要あるのかな?
もちろん知ってた方がためになるんだろうけど、次のAdobe JavaScriptの本へ行こうか迷っています…
165デフォルトの名無しさん (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/07(月) 15:29:11.27ID:zC6hz6+Y0 DTP(印刷)でillustratorを使ってるのでWebは扱っていません
166デフォルトの名無しさん (オッペケ Sr33-bOwO [126.156.203.60])
2022/11/07(月) 15:34:00.02ID:FsgEaHF8r AdobeのjavascriptというかESバージョンめちゃくちゃ古くて記述するの苦労したが最近はどうなんだ
167164 (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/07(月) 15:35:27.96ID:zC6hz6+Y0 自己レスですが必要無いそうです
ES2015以降も必要無いそうです
constとかletが使えないので全部varになってる
ES2015以降も必要無いそうです
constとかletが使えないので全部varになってる
168デフォルトの名無しさん (ワッチョイ ff7b-J20U [153.178.229.141])
2022/11/07(月) 16:15:41.06ID:5T/PrU7d0 >>164
CEPでも使わない限りはHTMLの知識は不要。
CEPでも使わない限りはHTMLの知識は不要。
169デフォルトの名無しさん (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/07(月) 16:33:24.89ID:zC6hz6+Y0 >>168
ありがとうございます。
ありがとうございます。
170デフォルトの名無しさん (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/11(金) 22:39:38.06ID:6PYY3JKr0 pg9 = win1.pnl.add('group')
pg9.orientation = "row"
CAN = pg9.add("button",[0,0,100,30],"cancel")
OK = pg9.add("button",[0,0,100,30],"OK")
CAN.onClick = function(){win1.close()}
OK.onClick = function(){
win1.close()
dofn()
}
win1.show()
}
// テキストを元のサイズに戻すための計算
var txtresize=100/bai*100;
// テキストフレームだけを選択する
activeDocument.selection = null; // 全ての選択を解除する
var txtObj = activeDocument.textFrames;
for (var i=0; i<txtObj.length; i++){ // テキストフレーム数だけ繰り返す
try {
txtObj[i].selected = true; // 選択する
}catch(e){}
}
//選択したテキストを"sel"とする
var sel = app.activeDocument.selection;
//選択したテキストの数で繰り返す
for (i=0; i<sel.length; i++)
{
//選択したテキストの幅と高さを元の大きさに戻す
sel[i].resize(txtresize,txtresize);
}
// オブジェクトの選択を解除する
for (var i=0; i<sel.length; i++){
try{
sel[i].selected = false;
}catch(e){}
}
プログラムの最初の方は省略したのですが、
CAN.onClick = function(){win1.close()}の所で、キャンセルがクリックされた時にそれ以降のプログラムが実行されないようにしたいのですが、どう書き換えればいいでしょうか? return;ではそれ以降が実行されてしまいます
pg9.orientation = "row"
CAN = pg9.add("button",[0,0,100,30],"cancel")
OK = pg9.add("button",[0,0,100,30],"OK")
CAN.onClick = function(){win1.close()}
OK.onClick = function(){
win1.close()
dofn()
}
win1.show()
}
// テキストを元のサイズに戻すための計算
var txtresize=100/bai*100;
// テキストフレームだけを選択する
activeDocument.selection = null; // 全ての選択を解除する
var txtObj = activeDocument.textFrames;
for (var i=0; i<txtObj.length; i++){ // テキストフレーム数だけ繰り返す
try {
txtObj[i].selected = true; // 選択する
}catch(e){}
}
//選択したテキストを"sel"とする
var sel = app.activeDocument.selection;
//選択したテキストの数で繰り返す
for (i=0; i<sel.length; i++)
{
//選択したテキストの幅と高さを元の大きさに戻す
sel[i].resize(txtresize,txtresize);
}
// オブジェクトの選択を解除する
for (var i=0; i<sel.length; i++){
try{
sel[i].selected = false;
}catch(e){}
}
プログラムの最初の方は省略したのですが、
CAN.onClick = function(){win1.close()}の所で、キャンセルがクリックされた時にそれ以降のプログラムが実行されないようにしたいのですが、どう書き換えればいいでしょうか? return;ではそれ以降が実行されてしまいます
171デフォルトの名無しさん (ワッチョイ 5f4b-YZvV [110.2.215.28 [上級国民]])
2022/11/11(金) 22:42:38.98ID:6PYY3JKr0 CAN.onClick = function(){win1.close();exit();}
みたいなことをやりたいのですが、exit()はAdobeScriptにはありません…
みたいなことをやりたいのですが、exit()はAdobeScriptにはありません…
172デフォルトの名無しさん (ワッチョイ d501-KuSQ [60.111.111.83])
2022/11/12(土) 05:24:15.41ID:/in1tyv80173デフォルトの名無しさん (ワッチョイ 3697-FFna [121.94.16.107])
2022/11/12(土) 13:17:11.95ID:xCg5uX6U0 コールバック関数について、伺いたいのですが。
コールバック関数は、引数に渡される関数という理解でいますが。
これは関数であって、オブジェクトメソッドを渡すこともできますでしょうか。
例えば、
object.addEventlistener()
などの、メソッドも渡すことができますでしょうか?
コールバック関数は、引数に渡される関数という理解でいますが。
これは関数であって、オブジェクトメソッドを渡すこともできますでしょうか。
例えば、
object.addEventlistener()
などの、メソッドも渡すことができますでしょうか?
174デフォルトの名無しさん (オッペケ Srb5-mkcu [126.156.185.8])
2022/11/13(日) 08:09:24.18ID:YDVUHmoCr object.addEventlistener なら関数だから渡せるけど
object.addEventlistener() は渡せないな
object.addEventlistener() は渡せないな
175デフォルトの名無しさん (ワッチョイ d501-KuSQ [60.111.111.83])
2022/11/13(日) 09:42:00.89ID:wFqjoTWK0 >>173
object.addEventlistenerで渡せるが、実行時のthis値が変わるので、期待通りに動作しない
bindを使うか、「コールバック関数を渡す関数」にthis値束縛機能があればそれを使う必要がある
object.addEventlistenerで渡せるが、実行時のthis値が変わるので、期待通りに動作しない
bindを使うか、「コールバック関数を渡す関数」にthis値束縛機能があればそれを使う必要がある
176デフォルトの名無しさん (ワッチョイ 3697-FFna [121.94.16.107])
2022/11/13(日) 15:10:49.67ID:xoKJX++V0 ありがとうございます。
Object.AddEventlistenerでも、コールバック関数になりうるということですね。
ただし、期待していることはできない。
関数(ユーザー定義)をコールバック関数にすることはイメージつくのですが。
オブジェクトメソッドをコールバック関数にするイメージがつきません。
何か、例文があれば教えていただけますでしょうか?
Object.AddEventlistenerでも、コールバック関数になりうるということですね。
ただし、期待していることはできない。
関数(ユーザー定義)をコールバック関数にすることはイメージつくのですが。
オブジェクトメソッドをコールバック関数にするイメージがつきません。
何か、例文があれば教えていただけますでしょうか?
177176 (ワッチョイ 3697-FFna [121.94.16.107])
2022/11/13(日) 15:14:57.91ID:xoKJX++V0 あ。addEventlistener以外で構いません。
178デフォルトの名無しさん (ワッチョイ d501-KuSQ [60.111.111.83])
2022/11/13(日) 15:38:14.40ID:wFqjoTWK0179デフォルトの名無しさん (ワッチョイ d501-KuSQ [60.111.111.83])
2022/11/13(日) 15:46:58.08ID:wFqjoTWK0 Function.prototype.bind
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
180デフォルトの名無しさん (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]])
2022/11/13(日) 17:36:35.00ID:BIywqmt20 AdobeScriptなのですが、
https://i.imgur.com/Ycwp6Nj.jpg
上の画像の「四角のパスの四隅をハサミツールで切って、塗りを線にする」まではスクリプトで出来るのですが、「短辺を特定する」ということはスクリプトで出来るのでしょうか?
一般的なJavaScriptの話でもいいのですが、出来るとか無理そうとか…
https://i.imgur.com/Ycwp6Nj.jpg
上の画像の「四角のパスの四隅をハサミツールで切って、塗りを線にする」まではスクリプトで出来るのですが、「短辺を特定する」ということはスクリプトで出来るのでしょうか?
一般的なJavaScriptの話でもいいのですが、出来るとか無理そうとか…
181デフォルトの名無しさん (ワッチョイ a905-wHkz [210.143.72.233])
2022/11/13(日) 19:38:06.31ID:0s117XaL0 質問です、どなたか教えて下さい、どうか宜しくお願いいたします
インターネットラジオ JCBA FMはな再生ページ
https://www.jcbasimul.com/fmhana
上記サイトを開くとCookie利用承諾の画面が出てきます。この利用承諾画面は
document.getElementsByClassName("cookieBanner__btn")[0].click()
とすることで自動的にOKボタンを押して閉じることができました。引き続き再生ボタンを押したいので
document.getElementsByClassName("MuiSvgIcon-root")[0].click()
としましたが、残念ながら自動的に再生ボタンを押すことができません。自動クリック自体が禁止
されているような雰囲気です。たぶんサイト側でクリック禁止にしているのだろうと思いますが
これを利用承諾画面と同じようにJacaScriptで自動クリックするする方法はないでしょうか?
インターネットラジオ JCBA FMはな再生ページ
https://www.jcbasimul.com/fmhana
上記サイトを開くとCookie利用承諾の画面が出てきます。この利用承諾画面は
document.getElementsByClassName("cookieBanner__btn")[0].click()
とすることで自動的にOKボタンを押して閉じることができました。引き続き再生ボタンを押したいので
document.getElementsByClassName("MuiSvgIcon-root")[0].click()
としましたが、残念ながら自動的に再生ボタンを押すことができません。自動クリック自体が禁止
されているような雰囲気です。たぶんサイト側でクリック禁止にしているのだろうと思いますが
これを利用承諾画面と同じようにJacaScriptで自動クリックするする方法はないでしょうか?
182デフォルトの名無しさん (ワッチョイ d501-8IZr [60.111.190.247])
2022/11/13(日) 20:25:40.17ID:cqK0B72A0 ユーザー操作が起点じゃない場合は音声再生をブロックする、という制限がブラウザ側でかかってることがある
その場合はブラウザの設定で解除できるかもしれない
その場合はブラウザの設定で解除できるかもしれない
183デフォルトの名無しさん (ワッチョイ bd61-+FOd [180.15.119.124])
2022/11/13(日) 20:33:38.64ID:8b+kwr5c0 >>181
iframeの中かつshadowDOMの中なので一発で要素を取得できない
document.querySelector(".radioPlayer__iframe").contentDocument.querySelector("#player_ui").shadowRoot.querySelector("button").click();
jcba-playerカスタムエレメントはplay()メソッドが実装されてるようなので
document.querySelector(".radioPlayer__iframe").contentDocument.querySelector("#player_ui").play();
でもいける
iframeの中かつshadowDOMの中なので一発で要素を取得できない
document.querySelector(".radioPlayer__iframe").contentDocument.querySelector("#player_ui").shadowRoot.querySelector("button").click();
jcba-playerカスタムエレメントはplay()メソッドが実装されてるようなので
document.querySelector(".radioPlayer__iframe").contentDocument.querySelector("#player_ui").play();
でもいける
184デフォルトの名無しさん (ワッチョイ f6cf-gPc0 [153.174.224.39])
2022/11/13(日) 20:47:17.41ID:Kw8DgDNz0 こうじゃないか
document.getElementById("player_ui").shadowRoot.querySelectorAll("button")[0].click()
または
document.getElementById("player_ui").play();
document.getElementById("player_ui").shadowRoot.querySelectorAll("button")[0].click()
または
document.getElementById("player_ui").play();
185デフォルトの名無しさん (ワッチョイ a905-wHkz [210.143.72.233])
2022/11/13(日) 22:43:20.67ID:0s117XaL0186デフォルトの名無しさん (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]])
2022/11/14(月) 15:59:19.18ID:dW/V591r0 if( ){ };の( )の中に「関数txtfn()が一度も実行されていなかったら」という条件を書きたいんですけど、どう書けばいいんでしょうか?
無理でしょうか?
無理でしょうか?
187186 (ワッチョイ 3d4b-OzUL [110.2.215.28 [上級国民]])
2022/11/14(月) 16:42:32.41ID:dW/V591r0 すみません、これがコードです。
SEL = activeDocument.selection
LAY = activeDocument.activeLayer
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
function SELfn(sx){
if(sx.typename != 'PathItem') return
if(sx.filled == false) return
c1 = sx.fillColor
if(c1 != "[GrayColor]"){
val = c1
txtfn();
}
}
function txtfn(){
alert(val+"です");
}
alert("グレースケールです");
本当は、関数txtfn()が一度も実行されなかった場合に最後に「グレースケールです」と表示したいのですが、
このコードのままだと毎回最後に「グレースケールです」と表示されてしまいます。
「グレースケールです」は1度だけの表示したいのです(表示する回数が多すぎることになるので)
SEL = activeDocument.selection
LAY = activeDocument.activeLayer
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
function SELfn(sx){
if(sx.typename != 'PathItem') return
if(sx.filled == false) return
c1 = sx.fillColor
if(c1 != "[GrayColor]"){
val = c1
txtfn();
}
}
function txtfn(){
alert(val+"です");
}
alert("グレースケールです");
本当は、関数txtfn()が一度も実行されなかった場合に最後に「グレースケールです」と表示したいのですが、
このコードのままだと毎回最後に「グレースケールです」と表示されてしまいます。
「グレースケールです」は1度だけの表示したいのです(表示する回数が多すぎることになるので)
188デフォルトの名無しさん (ワッチョイ 1a7c-BvCT [43.235.241.201])
2022/11/14(月) 17:23:26.59ID:Ofrc3j5I0 単にループ前にフラグをfalseにでもしておいて、一度でも実行すればtrueにすれば判断出来るのでは?
189デフォルトの名無しさん (ワッチョイ 3d4b-OzUL [110.2.215.28 [上級国民]])
2022/11/14(月) 17:46:10.99ID:dW/V591r0 >>188
SEL = activeDocument.selection
LAY = activeDocument.activeLayer
var yk=0;
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
function SELfn(sx){
if(sx.typename != 'PathItem') return
if(sx.filled == false) return
c1 = sx.fillColor
if(c1 != "[GrayColor]"){
val = c1
txtfn();
}
}
function txtfn(){
alert(val+"です");
yk=1;
}
if(yk!=1){
alert("グレースケールです");
}
これで出来ました。
ありがとうございます。
SEL = activeDocument.selection
LAY = activeDocument.activeLayer
var yk=0;
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
function SELfn(sx){
if(sx.typename != 'PathItem') return
if(sx.filled == false) return
c1 = sx.fillColor
if(c1 != "[GrayColor]"){
val = c1
txtfn();
}
}
function txtfn(){
alert(val+"です");
yk=1;
}
if(yk!=1){
alert("グレースケールです");
}
これで出来ました。
ありがとうございます。
190デフォルトの名無しさん (ワッチョイ 2abd-masj [133.209.119.15])
2022/11/14(月) 18:12:47.71ID:zxQDBIse0 すまん、敢えてここで聞かせて
Windows しか持っておらず、JavaScript の Safari での動作確認のため極力安い MacBook かなにかを買いたい。
中古でもなんでもいいんだけど、今時の Safari が動くやつって何を選べばいい?
Mac も iOS も Safari の系譜もよく分からず途方に暮れてる。
いわゆるブラウザのデベロッパーツールで動作確認したいので、多分 iPhone とかじゃだめなんだよね?
アドバイスおねがい
Windows しか持っておらず、JavaScript の Safari での動作確認のため極力安い MacBook かなにかを買いたい。
中古でもなんでもいいんだけど、今時の Safari が動くやつって何を選べばいい?
Mac も iOS も Safari の系譜もよく分からず途方に暮れてる。
いわゆるブラウザのデベロッパーツールで動作確認したいので、多分 iPhone とかじゃだめなんだよね?
アドバイスおねがい
191デフォルトの名無しさん (スッップ Sd7a-4CYG [49.98.130.245])
2022/11/14(月) 18:37:09.30ID:srKPlYrDd safariのバージョンってiOSと連動だって話だったと思うから最新のiOSサポートしてる機種ならええんでないの?
Mac系のスレで理由話して最新のiOSが動く安いやつどれ?って聞くのが確実だろう
Mac系のスレで理由話して最新のiOSが動く安いやつどれ?って聞くのが確実だろう
192デフォルトの名無しさん (ワッチョイ a94e-Uv+W [210.138.216.243])
2022/11/14(月) 20:44:37.96ID:pZNm0HpP0 動作確認のために実機買うなんて景気のいい話だなぁ羨ましい
俺ならBrowserStackとかLambdaTest使っちゃうけどね
俺ならBrowserStackとかLambdaTest使っちゃうけどね
193デフォルトの名無しさん (ワッチョイ dd5f-PnSp [14.8.104.32])
2022/11/14(月) 21:12:34.76ID:SgEq73X20 iPhone持ってる人に実機テストしてもらっちゃうな
194190 (ワッチョイ f1bd-masj [122.133.73.185])
2022/11/14(月) 22:33:47.26ID:llxM2eVb0 >>192
景気なんてよくねーよだからケチりたいんだろ。
でも何そのおもしろそうなキーワードは。調べてくる
>>193
これまで作ったのをたまたま iPhone で見たら動いてないのがあってね。
元々 Safari とか眼中には無かったけどそんなに特殊なことやってるとも思ってなかったんで、動かないとか思ってなかった。
あんまり気分悪いんでちょっと調べておこうかと。
>>191
やっぱ最新OS じゃないとダメかということでそこを軸に探すと、フリマで 2万台くらいらしいってことは分かった。
あと iPad の Safari でもデベロッパーツールを動かせるらしいことが分かったので、そっちの線もありそう。
つか MacOS と iOS って違うのね…
なにはともあれ、取っ掛かりは掴んだ気がする。
ありがとう
景気なんてよくねーよだからケチりたいんだろ。
でも何そのおもしろそうなキーワードは。調べてくる
>>193
これまで作ったのをたまたま iPhone で見たら動いてないのがあってね。
元々 Safari とか眼中には無かったけどそんなに特殊なことやってるとも思ってなかったんで、動かないとか思ってなかった。
あんまり気分悪いんでちょっと調べておこうかと。
>>191
やっぱ最新OS じゃないとダメかということでそこを軸に探すと、フリマで 2万台くらいらしいってことは分かった。
あと iPad の Safari でもデベロッパーツールを動かせるらしいことが分かったので、そっちの線もありそう。
つか MacOS と iOS って違うのね…
なにはともあれ、取っ掛かりは掴んだ気がする。
ありがとう
195デフォルトの名無しさん (ワッチョイ 3697-FFna [121.94.16.107])
2022/11/14(月) 23:54:57.52ID:h4ns2H1B0 イベントオブジェクトを使わず、thisを使って、
そのイベントの発生元の要素を取得することは可能でしょうか?
そのイベントの発生元の要素を取得することは可能でしょうか?
196デフォルトの名無しさん (ワッチョイ d501-KuSQ [60.111.111.83])
2022/11/15(火) 06:06:01.39ID:zBqzsCj00 >>195
無理
無理
197デフォルトの名無しさん (ワッチョイ a905-wHkz [210.143.72.233])
2022/11/15(火) 08:04:13.30ID:mRl02hRT0 すみません、先日JavaScriptによるクリックについて質問した者です
情けないのですが、今度は別サイトの再生ボタンがどうしても押せず困っています
インターネットラジオFM++ FMはなび再生ページ
https://fmplapla.com/fmhanabi
ソース見るとiframeもshadowDOMも使っていないように見えるのに、再生ボタンを押せません
document.getElementsByClassName("player_start_button")[0].click()
document.getElementsByClassName("start_stop_button_button")[0].click()
上記2つとも駄目でした。どうすればJavaScriptで再生ボタンをクリックできるでしょうか?
どなたかもう一度だけ教えてください、宜しくお願いいたします
情けないのですが、今度は別サイトの再生ボタンがどうしても押せず困っています
インターネットラジオFM++ FMはなび再生ページ
https://fmplapla.com/fmhanabi
ソース見るとiframeもshadowDOMも使っていないように見えるのに、再生ボタンを押せません
document.getElementsByClassName("player_start_button")[0].click()
document.getElementsByClassName("start_stop_button_button")[0].click()
上記2つとも駄目でした。どうすればJavaScriptで再生ボタンをクリックできるでしょうか?
どなたかもう一度だけ教えてください、宜しくお願いいたします
198デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133])
2022/11/15(火) 09:45:28.64ID:ott+UO1u0 該当する要素がない
start_btns = document.getElementsByClassName("player_start_button")
console.log( start_btns.length ) //=> 0
start_stop_btns = document.getElementsByClassName("start_stop_button_button")
console.log( start_stop_btns.length ) //=> 0
start_btns = document.getElementsByClassName("player_start_button")
console.log( start_btns.length ) //=> 0
start_stop_btns = document.getElementsByClassName("start_stop_button_button")
console.log( start_stop_btns.length ) //=> 0
199デフォルトの名無しさん (ワッチョイ f6cf-gPc0 [153.174.224.39])
2022/11/15(火) 11:01:59.02ID:9SlnRoJw0 >>197
ブラウザの DevTools でイベントリスナーの click を見ると見つかる
ブラウザの DevTools でイベントリスナーの click を見ると見つかる
200デフォルトの名無しさん (ワッチョイ f6cf-gPc0 [153.174.224.39])
2022/11/15(火) 11:16:18.44ID:9SlnRoJw0 >>199
chromeだと当該要素の「検証」をすると出てくる
chromeだと当該要素の「検証」をすると出てくる
201デフォルトの名無しさん (ワッチョイ bd61-+FOd [180.15.119.124])
2022/11/15(火) 19:29:43.82ID:T0qQfj8P0 >>197
対象のclassをよく見てみよう
対象のclassをよく見てみよう
202デフォルトの名無しさん (ワッチョイ a905-wHkz [210.143.72.233])
2022/11/15(火) 20:10:55.73ID:mRl02hRT0203デフォルトの名無しさん (ワッチョイ dd5f-PnSp [14.8.104.32])
2022/11/16(水) 00:23:35.29ID:q+7X+iJ00 こういう程の良い距離感のアドバイスを遅れる人間になりたいですな
204デフォルトの名無しさん (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]])
2022/11/16(水) 01:03:52.10ID:yZvimkXe0 >>170ですが、やっぱりキャンセルボタンを押すと
CAN.onClick = function(){win1.close()}の所で終わらなくて、最後の行まで実行されるんですがどうすれば中断出来るんでしょうか?
キャンセルしてもテキストの大きさが変わって終わります
CAN.onClick = function(){win1.close()}の所で終わらなくて、最後の行まで実行されるんですがどうすれば中断出来るんでしょうか?
キャンセルしてもテキストの大きさが変わって終わります
205デフォルトの名無しさん (テテンテンテン MM8e-PjKb [133.106.50.10])
2022/11/16(水) 01:15:16.40ID:6ujCOi6jM そもそもキャンセルボタン押す前にテキストサイズ変わってんじゃねえの
206デフォルトの名無しさん (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]])
2022/11/16(水) 01:28:38.23ID:yZvimkXe0 >>205
「画像とテキストが一緒になってる図で、画像だけ拡大縮小してテキストサイズはそのままにする」というスクリプトなんですけど、キャンセルすると図の大きさはそのままでテキストだけ拡大縮小してしまうんですよ
これでは困るのでキャンセルの箇所でコードから抜け出したい
「画像とテキストが一緒になってる図で、画像だけ拡大縮小してテキストサイズはそのままにする」というスクリプトなんですけど、キャンセルすると図の大きさはそのままでテキストだけ拡大縮小してしまうんですよ
これでは困るのでキャンセルの箇所でコードから抜け出したい
207デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133])
2022/11/16(水) 03:25:10.60ID:pSETlPcG0 CAN.onClick = function(){win1.close(); return; }
ではなく、
CAN.onClick = function(){win1.close()}
return;
上は、その無名関数から抜け出すだけで、
下は、全体の処理から抜け出す
ではなく、
CAN.onClick = function(){win1.close()}
return;
上は、その無名関数から抜け出すだけで、
下は、全体の処理から抜け出す
208デフォルトの名無しさん (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]])
2022/11/16(水) 14:57:45.45ID:yZvimkXe0 >>207
まだ仕事中で確かめられていないのですが、キャンセルでなくてOKの時も抜けたりしませんか?
まだ仕事中で確かめられていないのですが、キャンセルでなくてOKの時も抜けたりしませんか?
209デフォルトの名無しさん (ワッチョイ 3d4b-OzUL [110.2.215.28 [上級国民]])
2022/11/16(水) 16:05:43.43ID:yZvimkXe0210デフォルトの名無しさん (ワッチョイ bd10-FFna [180.12.82.129])
2022/11/17(木) 16:50:10.12ID:BipbxCG90 <div id="zahyou" style="position:absolute">aaaaaaaaaa</div>
<スクリプト>
for(let n=1;n<=100;n++){
if(n % 2 === 0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";
}
}
</スクリプト>
としてもaaaaaaaaaaの位置が全く動かないけど
<スクリプト>
let n=0;
setInterval(
function(){
if(n % 2===0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";
}
n++;
}
,100
);
</スクリプト>
とするとaaaaaaaaaaの位置が動くのはどうしてですか?
<スクリプト>
for(let n=1;n<=100;n++){
if(n % 2 === 0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";
}
}
</スクリプト>
としてもaaaaaaaaaaの位置が全く動かないけど
<スクリプト>
let n=0;
setInterval(
function(){
if(n % 2===0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";
}
n++;
}
,100
);
</スクリプト>
とするとaaaaaaaaaaの位置が動くのはどうしてですか?
211デフォルトの名無しさん (ブーイモ MM8e-ompL [133.159.152.122])
2022/11/17(木) 17:45:40.38ID:ZrcXbqFYM 上も動いてるよ
一瞬で終わるから見えないだけ
一瞬で終わるから見えないだけ
212デフォルトの名無しさん (ワッチョイ 46bd-masj [49.129.242.78])
2022/11/17(木) 18:17:32.44ID:6VGHAaqQ0 >>210
画面のレンダリングは逐一行われないから。
イベント契機で実行されたスクリプトの処理を一旦終えたときその最終的な結果がレンダリングされるというか、一旦処理を終えないとレンダリングされないと思っておけばいい。
setInterval のやつは、インターバルの契機で実行された処理は1コマ分の処理だけして終わるから、その都度レンダリングされる(かもしれない)。
実際は周期があまり高頻度だと、処理を終えてもレンダリングされるとは限らず間引かれたりする。
ただ未レンダリングだからといってもDOMの状態やスタイルの設定などは逐一適用されてる。
画面のレンダリングは逐一行われないから。
イベント契機で実行されたスクリプトの処理を一旦終えたときその最終的な結果がレンダリングされるというか、一旦処理を終えないとレンダリングされないと思っておけばいい。
setInterval のやつは、インターバルの契機で実行された処理は1コマ分の処理だけして終わるから、その都度レンダリングされる(かもしれない)。
実際は周期があまり高頻度だと、処理を終えてもレンダリングされるとは限らず間引かれたりする。
ただ未レンダリングだからといってもDOMの状態やスタイルの設定などは逐一適用されてる。
213デフォルトの名無しさん (ワッチョイ bd10-iQtw [180.12.82.129])
2022/11/17(木) 20:15:58.57ID:BipbxCG90214デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133])
2022/11/18(金) 09:19:55.63ID:Wj1K/ZC10 a = "0px";
a = "200px";
a = "0px";
a = "200px";
a = "0px";
a = "200px";
こういう処理を100回やってから、100回目の後だけ再描画されるのだろう。
1〜99回までは値が設定されるだけで、再描画されない
a = "200px";
a = "0px";
a = "200px";
a = "0px";
a = "200px";
こういう処理を100回やってから、100回目の後だけ再描画されるのだろう。
1〜99回までは値が設定されるだけで、再描画されない
215デフォルトの名無しさん (スッップ Sd7a-PnSp [49.98.175.43])
2022/11/18(金) 17:10:38.42ID:T5zu6F7Id 横からで申し訳ないけど、アニメーション処理を行うならsettimeoutとかでわざと描画間隔を空ける必要があるって解釈でいいのかな?
216デフォルトの名無しさん (ワッチョイ 9abd-masj [221.171.102.71])
2022/11/18(金) 17:16:10.46ID:Zs9eTx2N0217デフォルトの名無しさん (ワッチョイ f6cf-gPc0 [153.174.224.39])
2022/11/18(金) 17:23:26.00ID:UFs4jVzI0 ブラウザでは、Performanceパネルや
タイムラインパネルでチェックできる
タイムラインパネルでチェックできる
218デフォルトの名無しさん (ワッチョイ bd61-+FOd [180.15.119.124])
2022/11/18(金) 19:14:38.47ID:RNEbLEjB0 アニメーションならsetTimeoutよりrequestAnimationFrameだね
219デフォルトの名無しさん (ワッチョイ dd5f-PnSp [14.8.104.32])
2022/11/18(金) 21:22:51.98ID:dA0W7FfK0220デフォルトの名無しさん (ワッチョイ 5b4f-kfYZ [180.0.191.133])
2022/11/19(土) 04:30:35.89ID:uCGRkc1L0 ゲームセンターにある機械とか、パソコンゲームでは、よくコマ(フレーム)落ちが起きる
1/30秒とか1/60秒の間に、処理が終わらないので、再描画できない
1/30秒とか1/60秒の間に、処理が終わらないので、再描画できない
221デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/19(土) 19:26:10.00ID:2irpXLl70 例えばドキュメント上に5つのアイテムがあるとして、その5つのアイテムそれぞれの幅を合計したものが知りたいのですが、途中までコードを考えました
(5つというのは仮のアイテム数で実際は未定です)
DOC=activeDocument;
SEL=DOC.selection;
for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W=BND[2]-BND[0];
Wが最初の1つのアイテムの幅になると思うのですが、これをSEL[0]~SEL[4]まで合計するにはこの続きにどういうコードを書けばいいのでしょうか?
(間違っていたら既に書いてあるコードを変更してください)
(5つというのは仮のアイテム数で実際は未定です)
DOC=activeDocument;
SEL=DOC.selection;
for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W=BND[2]-BND[0];
Wが最初の1つのアイテムの幅になると思うのですが、これをSEL[0]~SEL[4]まで合計するにはこの続きにどういうコードを書けばいいのでしょうか?
(間違っていたら既に書いてあるコードを変更してください)
222デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/19(土) 19:32:18.92ID:2irpXLl70 すみません
質問してから気付きました
これでいけますか?
DOC=activeDocument;
SEL=DOC.selection;
for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W1=BND[2]-BND[0];
W=W+W1;
}
質問してから気付きました
これでいけますか?
DOC=activeDocument;
SEL=DOC.selection;
for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W1=BND[2]-BND[0];
W=W+W1;
}
223デフォルトの名無しさん (ワッチョイ 6301-mUd4 [60.111.111.83])
2022/11/19(土) 23:28:09.02ID:9yqGhBqR0 >>222
試してから質問しよう
試してから質問しよう
224デフォルトの名無しさん (ワッチョイ 1a02-jVlY [59.129.56.155])
2022/11/20(日) 07:58:25.96ID:zjUQ0JII0 for の前にW=0してね
225デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/20(日) 19:31:32.32ID:bgVSrlSG0 >>224
ありがとうございます
for(i=0;i<SEL.length;i++){ ~ }っていう式がコードの中にいくつも出てくるんですけど、変数iのところはそれぞれの式で変えないといけないんでしょうか?
for(j=0;j<SEL.length;j++){ ~ }とか。
関数内だけですか?
同じ変数文字が使えるのは
ありがとうございます
for(i=0;i<SEL.length;i++){ ~ }っていう式がコードの中にいくつも出てくるんですけど、変数iのところはそれぞれの式で変えないといけないんでしょうか?
for(j=0;j<SEL.length;j++){ ~ }とか。
関数内だけですか?
同じ変数文字が使えるのは
226デフォルトの名無しさん (JP 0Hbb-stRS [126.249.157.89])
2022/11/20(日) 20:42:57.11ID:XzYfw6V5H いい質問ですね
変数のスコープの問題なので試してみたらいかがでしょう?
jsのスコープをしっかり押さえると
伸びしろが変わります!
変数のスコープの問題なので試してみたらいかがでしょう?
jsのスコープをしっかり押さえると
伸びしろが変わります!
227デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/21(月) 02:03:46.52ID:ZMd64Nu10 ありがとうございます
勉強を始めて1か月ですけど改造はわりとうまく出来るようになりました
最初は何が書いてあるのかわからないんだけど、ジーッとしつこく見てるとわかって来ますね
勉強を始めて1か月ですけど改造はわりとうまく出来るようになりました
最初は何が書いてあるのかわからないんだけど、ジーッとしつこく見てるとわかって来ますね
228デフォルトの名無しさん (JP 0Hbb-stRS [126.249.157.89])
2022/11/21(月) 07:16:36.42ID:uz2/XLFXH let も var も(スコープ内)再代入可能です
let i=0;
for(i=0;i<10;i++,console.log(1,i));
for(i=0;i<10;i++,console.log(2,i));
console.log('------');
for(i=0;i<10;i++){
console.log(3,i);
for(i=0;i<10;i++){
console.log(4,i);
}
}
console.log('------');
let t=0;
for(i=0;i<10;i++){
console.log(5,i);
for(t=0;t<10;t++){
console.log(6,t);
}
}
let i=0;
for(i=0;i<10;i++,console.log(1,i));
for(i=0;i<10;i++,console.log(2,i));
console.log('------');
for(i=0;i<10;i++){
console.log(3,i);
for(i=0;i<10;i++){
console.log(4,i);
}
}
console.log('------');
let t=0;
for(i=0;i<10;i++){
console.log(5,i);
for(t=0;t<10;t++){
console.log(6,t);
}
}
229デフォルトの名無しさん (ワッチョイ 97bd-Ikze [122.133.73.231])
2022/11/21(月) 08:11:57.92ID:ygpzkhrQ0 >>228
中腹の二重ループについて敢えてやってるなら説明が必要じゃね。
中腹の二重ループについて敢えてやってるなら説明が必要じゃね。
230デフォルトの名無しさん (JP 0Hbb-stRS [126.249.157.89])
2022/11/21(月) 18:52:09.71ID:uz2/XLFXH231デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/21(月) 18:58:18.92ID:ZMd64Nu10 入子じゃないですよ
ドキュメント上にアイテムが複数あって、何回も全アイテムを移動したり変形したりする必用があるので並列です
ドキュメント上にアイテムが複数あって、何回も全アイテムを移動したり変形したりする必用があるので並列です
232デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/21(月) 19:04:10.48ID:ZMd64Nu10233デフォルトの名無しさん (ワッチョイ 03bd-Ikze [220.144.110.253])
2022/11/21(月) 19:35:19.44ID:+zVCoGZg0234デフォルトの名無しさん (ワッチョイ 9309-2FOX [150.91.1.219])
2022/11/21(月) 20:09:25.61ID:T5+vrdKC0 カスタム要素って使われてます?
235デフォルトの名無しさん (JP 0Hbb-stRS [126.249.157.89])
2022/11/21(月) 20:10:57.61ID:uz2/XLFXH >>232
// No 1
for(i=0;i<10;i++){
console.log(3,i);
for(i=0;i<10;i++){
console.log(4,i);
}
}
console.log('------');
// No 2
let t=0;
for(i=0;i<10;i++){
console.log(5,i);
for(t=0;t<10;t++){
console.log(6,t);
}
}
No1とNo2の違いは分かりますでしょうか?
一度コードを実行してみてください
No1のfor文の繰り返し1回目は、i=0です
次にNo2のfor文では、i=1から始まります
その後No2のfor文が繰り返しされi=10までカウントされNo1のfor文繰り返しに戻ります
その時、i=10になっているので、No1のfor文は終了になり、for文を抜けます
入子構造のインクリメント演算子では同じ変数を使うときには要注意ですね
// No 1
for(i=0;i<10;i++){
console.log(3,i);
for(i=0;i<10;i++){
console.log(4,i);
}
}
console.log('------');
// No 2
let t=0;
for(i=0;i<10;i++){
console.log(5,i);
for(t=0;t<10;t++){
console.log(6,t);
}
}
No1とNo2の違いは分かりますでしょうか?
一度コードを実行してみてください
No1のfor文の繰り返し1回目は、i=0です
次にNo2のfor文では、i=1から始まります
その後No2のfor文が繰り返しされi=10までカウントされNo1のfor文繰り返しに戻ります
その時、i=10になっているので、No1のfor文は終了になり、for文を抜けます
入子構造のインクリメント演算子では同じ変数を使うときには要注意ですね
236デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/22(火) 17:55:58.75ID:VelmWtaS0237デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/22(火) 17:58:38.56ID:VelmWtaS0238デフォルトの名無しさん (ワッチョイ 7f4e-SIHv [210.138.216.243])
2022/11/22(火) 18:07:50.06ID:iGHsIGH/0 let、constどころかvarすら使えない(使わない)のであればPythonにでも行ったほうがいいんじゃない?
239デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/22(火) 18:52:57.26ID:VelmWtaS0 >>238
adobeスクリプトですがvarは使えます
他人のスクリプトを改造してる段階で、potisionで正しく並べられていなかったのでgeometricBounds[3]にしたと。
adobeのソフトはJavaScriptでないと動きません
adobeスクリプトですがvarは使えます
他人のスクリプトを改造してる段階で、potisionで正しく並べられていなかったのでgeometricBounds[3]にしたと。
adobeのソフトはJavaScriptでないと動きません
240デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/22(火) 19:10:38.94ID:VelmWtaS0 セミコロンも入って無いし、あまりお手本としては良くないかも
でもこの人のadobe スクリプトが一番わかりやすいので
でもこの人のadobe スクリプトが一番わかりやすいので
241デフォルトの名無しさん (JP 0Hbb-stRS [126.249.157.89])
2022/11/22(火) 19:40:30.69ID:/QBTlFnBH 何を制御してるのか知りませんけれど
お好きなように言語を選んで
お好きなようにコードを書けばいいと思います
楽しく好きなように自由に!ですね
JSを使う場合の注意点ですけど
古いJSとの互換性を保つため
JSは結構複雑怪奇な言語になりつつあります
変数の取り扱いはどこ言語でも慎重に設計しますけど
JSの変数とスコープはちょっと特殊なので
制御系でJS扱うのなら注意したほうがって思います
お好きなように言語を選んで
お好きなようにコードを書けばいいと思います
楽しく好きなように自由に!ですね
JSを使う場合の注意点ですけど
古いJSとの互換性を保つため
JSは結構複雑怪奇な言語になりつつあります
変数の取り扱いはどこ言語でも慎重に設計しますけど
JSの変数とスコープはちょっと特殊なので
制御系でJS扱うのなら注意したほうがって思います
242デフォルトの名無しさん (ワッチョイ 4ecf-TaOI [153.227.173.254])
2022/11/23(水) 01:04:55.03ID:Gf+fcBNM0 推奨しない書き方はほぼESLintで弾けるだろ
243デフォルトの名無しさん (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/23(水) 14:55:32.43ID:uQH5TeI20 ドキュメント内の全てのテキストフレームを選択するのは、
var txtObj = activeDocument.textFrames;
for (var i=0; i<txtObj.length; i++){
txtObj[i].selected = true;
}
で、ここからそれらを変形させたりしていくんですけど、
ドキュメント内全てでは無くて、最初に選択したものの中から
さらにテキストフレームのみを選択するにはどう書けばいいのでしょうか?
var sel=activeDocument.selection;
var txtObj = sel.textFrames;
for (var i=0; i<txtObj.length; i++){
txtObj[i].selected = true;
これでは、var txtObj = sel.textFrames;でエラーが出ます。
ドキュメント内の選択したものの中のテキストフレームのみを選択しないと、
ドキュメント内の全てのテキストフレームが変形されてしまいます。
var txtObj = activeDocument.textFrames;
for (var i=0; i<txtObj.length; i++){
txtObj[i].selected = true;
}
で、ここからそれらを変形させたりしていくんですけど、
ドキュメント内全てでは無くて、最初に選択したものの中から
さらにテキストフレームのみを選択するにはどう書けばいいのでしょうか?
var sel=activeDocument.selection;
var txtObj = sel.textFrames;
for (var i=0; i<txtObj.length; i++){
txtObj[i].selected = true;
これでは、var txtObj = sel.textFrames;でエラーが出ます。
ドキュメント内の選択したものの中のテキストフレームのみを選択しないと、
ドキュメント内の全てのテキストフレームが変形されてしまいます。
244243 (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/23(水) 15:35:10.48ID:uQH5TeI20 var sel=activeDocument.selection;
for (var i=0; i<sel.length; i++){
if(sel[i].typename != "TextFrame"){
sel[i].selected = false;
}
}
これで出来ました。
お騒がせしました。
for (var i=0; i<sel.length; i++){
if(sel[i].typename != "TextFrame"){
sel[i].selected = false;
}
}
これで出来ました。
お騒がせしました。
245デフォルトの名無しさん (スッップ Sdba-iL0L [49.98.168.218])
2022/11/23(水) 15:52:37.80ID:QLRwruG1d JavaScriptの一般的な文法とかの話はともかく、adobe固有の問題はここで聞くべきではないよ
246デフォルトの名無しさん (ワッチョイ 4e7b-DbPa [153.178.229.141])
2022/11/24(木) 09:02:34.19ID:8kN4Xh6N0247デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/24(木) 13:05:30.40ID:DUoZRcjr0 一般的なJavaScriptってgeometricBoundsとか使いませんか?
長方形の座標を得るメソッド
長方形の座標を得るメソッド
248デフォルトの名無しさん (ワッチョイ 4e7b-DbPa [153.178.229.141])
2022/11/24(木) 13:16:11.58ID:8kN4Xh6N0249デフォルトの名無しさん (スッップ Sdba-iL0L [49.98.165.148])
2022/11/24(木) 13:35:39.39ID:5aiuStXqd250デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/24(木) 15:52:34.09ID:DUoZRcjr0251デフォルトの名無しさん (ワッチョイ cedb-TaOI [217.178.96.73])
2022/11/25(金) 03:26:14.01ID:4TMxj3Y80 $.Deferred()って分かりにくい。
252デフォルトの名無しさん (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]])
2022/11/25(金) 17:44:10.29ID:d3/PWV150 配列内の数字が1つでも違ってたらtrueというのをif文で書きたいのですが、どう書けば良いのでしょうか?
例えば[6.356, 6.356, 7.482, 6.356]はtrueで、[6.356, 6.356, 6.356, 6.356]はfalseです。
配列内の数字の個数は決まっていません。
if(~){return;}の~の部分が知りたいのですが…
(違う数値が混じっていたら終了(return)したい)
例えば[6.356, 6.356, 7.482, 6.356]はtrueで、[6.356, 6.356, 6.356, 6.356]はfalseです。
配列内の数字の個数は決まっていません。
if(~){return;}の~の部分が知りたいのですが…
(違う数値が混じっていたら終了(return)したい)
253デフォルトの名無しさん (スッップ Sdba-7h5B [49.98.165.116])
2022/11/25(金) 18:01:34.82ID:NOaCOzi6d 配列内の数値が全部同じならtrue,というのを書いてみてください
ところで浮動小数点数には誤差がつきものなので
「だいたい同じ」を意味する処理を書く必要があります
ところで浮動小数点数には誤差がつきものなので
「だいたい同じ」を意味する処理を書く必要があります
254デフォルトの名無しさん (ワッチョイ 5a7c-/lHT [221.241.223.58])
2022/11/25(金) 18:03:10.25ID:gnjN6QfX0255デフォルトの名無しさん (ワッチョイ 4ecf-zHbW [153.174.224.39])
2022/11/25(金) 18:10:27.64ID:v7fq4Pg10 そんな丁度いいオブジェクトがあったんだな
256デフォルトの名無しさん (ワッチョイ 977c-SIHv [122.213.53.114])
2022/11/25(金) 19:20:10.26ID:NT6Ragjt0 >>252
var a = [6.356, 6.356, 7.482, 6.356];
if (new Set(a).size != 1) return;
全部同じならSetのsizeは1になるはずだから
var a = [6.356, 6.356, 7.482, 6.356];
if (new Set(a).size != 1) return;
全部同じならSetのsizeは1になるはずだから
257デフォルトの名無しさん (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/25(金) 19:30:19.48ID:d3/PWV150 >>254
エラーが出ますが、間違っていますか?
var I=[72.356, 72.356, 72.356, 72.356, 72.356];
If(len(set(I))>1){
alert("違う値が入っています");
}
alert("全部同じ値です");
エラーが出ますが、間違っていますか?
var I=[72.356, 72.356, 72.356, 72.356, 72.356];
If(len(set(I))>1){
alert("違う値が入っています");
}
alert("全部同じ値です");
258デフォルトの名無しさん (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/25(金) 19:45:09.62ID:d3/PWV150 setってES2015(ES6)で導入されたって書いてありますね。
自分の環境では使えないんだと思います。
let()もたぶん…
自分の環境では使えないんだと思います。
let()もたぶん…
259デフォルトの名無しさん (ササクッテロラ Spbb-N/KI [126.182.84.180])
2022/11/25(金) 20:02:47.41ID:1Hc/VSWcp len も set もそんなメソッドは定義されてない
>>256 は最近のブラウザなら動くはず
>>256 は最近のブラウザなら動くはず
260デフォルトの名無しさん (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/25(金) 20:09:20.31ID:d3/PWV150 このコードではダメですか?
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
例外が出るでしょうか?
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
例外が出るでしょうか?
261デフォルトの名無しさん (ワッチョイ 5a61-9v2m [221.189.49.240])
2022/11/25(金) 20:09:23.18ID:XjJhlDNk0 lenとかsetってpythonじゃ?
262デフォルトの名無しさん (ワッチョイ db4b-qBBW [110.2.215.28 [上級国民]])
2022/11/25(金) 20:15:54.07ID:d3/PWV150 >>261
lenはpythonみたいです
setはES2015(ES6)で導入されたらしいです
}が抜けてました。
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
}
です
lenはpythonみたいです
setはES2015(ES6)で導入されたらしいです
}が抜けてました。
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
}
です
263デフォルトの名無しさん (ワッチョイ 6301-N/KI [60.111.184.192])
2022/11/25(金) 20:59:13.75ID:BAWwEyW20 念のため指摘しておくが、Setとsetは別もんだぞ
確かにどっちもES2015で策定されてるが
Set が重複なしの集合
setはアクセサプロパティの構文で使われるやつ
確かにどっちもES2015で策定されてるが
Set が重複なしの集合
setはアクセサプロパティの構文で使われるやつ
264デフォルトの名無しさん (アウアウウー Sac7-SIHv [106.133.52.225])
2022/11/25(金) 21:07:08.32ID:hxoXdPtJa >>252
var a = [6.356, 6.356, 7.482, 6.356];
if (a.join('').replace(RegExp(a[0], 'g'), '')) return;
falsyな値が入らないならこれでも
var a = [6.356, 6.356, 7.482, 6.356];
if (a.join('').replace(RegExp(a[0], 'g'), '')) return;
falsyな値が入らないならこれでも
265デフォルトの名無しさん (ワッチョイ 5a7c-/lHT [221.241.223.58])
2022/11/25(金) 21:13:53.78ID:gnjN6QfX0266デフォルトの名無しさん (スッップ Sd33-7E5L [49.98.165.20])
2022/11/26(土) 00:06:05.14ID:lP1wiXrnd >>264
うーん、質問者のスキルし対して相応な解決策とは言い難いものを薦めるのはいかがなものかと・・・
うーん、質問者のスキルし対して相応な解決策とは言い難いものを薦めるのはいかがなものかと・・・
267デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/26(土) 02:18:08.00ID:D9ouMKv50 もうこれで出来ましたよ
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
}
Setもsetも使えませんでした
ES2015に対応してないので
var I=[72.356, 72.356, 75.356, 72.356, 72.356];
for(var s=0;s<I.length-1;s++){
if(I[s]!=I[s+1]) return;
}
Setもsetも使えませんでした
ES2015に対応してないので
268デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/26(土) 03:19:46.82ID:D9ouMKv50 正規表現もいつか挑戦してみたいな
269デフォルトの名無しさん (ワッチョイ 1301-YdBL [219.204.123.70])
2022/11/26(土) 08:13:04.83ID:rUW0f5oN0 >>260
まあたいして変わらんけど -1 とか +1 とかがちょっと気になるので俺なら
for(var s = 1; s < I.length; s++){
if(I[0] != I[s]) return;
ってするかな
まあたいして変わらんけど -1 とか +1 とかがちょっと気になるので俺なら
for(var s = 1; s < I.length; s++){
if(I[0] != I[s]) return;
ってするかな
270デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/26(土) 10:42:13.14ID:D9ouMKv50271デフォルトの名無しさん (アウアウウー Sa15-WfGi [106.133.87.182])
2022/11/26(土) 11:15:10.62ID:ptfVYjC4a >>264
var a = [6.356, 6.356, 7.482, 6.356];
if (a.join('').replaceAll(a[0], '')) return;
replaceAll使えればもっと短くなった
var a = [6.356, 6.356, 7.482, 6.356];
if (a.join('').replaceAll(a[0], '')) return;
replaceAll使えればもっと短くなった
272デフォルトの名無しさん (アウアウウー Sa15-WfGi [106.133.87.182])
2022/11/26(土) 11:30:07.40ID:ptfVYjC4a >>252
var a = [6.356, 6.356, 7.482, 6.356];
if (a.some(elem => elem != a[0])) return;
こっちのほうが分かりやすいか
「もし、aのいずれかの要素がa[0]と異なる時、returnする」と読み下せる
アロー関数が使えない環境の場合は
if (a.some(function(elem) {return elem != a[0];})) return;
になる
var a = [6.356, 6.356, 7.482, 6.356];
if (a.some(elem => elem != a[0])) return;
こっちのほうが分かりやすいか
「もし、aのいずれかの要素がa[0]と異なる時、returnする」と読み下せる
アロー関数が使えない環境の場合は
if (a.some(function(elem) {return elem != a[0];})) return;
になる
273デフォルトの名無しさん (ワッチョイ ebcf-ykd8 [153.174.224.39])
2022/11/26(土) 11:52:31.88ID:kr9O5fHu0 if( I.find( v=> v != I[0] ) ) return;
なんてのも
なんてのも
274デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/26(土) 17:10:15.31ID:D9ouMKv50 eval()でダイアログに計算式が入力出来るね
275デフォルトの名無しさん (ワッチョイ 214f-emCW [180.0.191.133])
2022/11/27(日) 04:24:45.22ID:/9RKjThA0 ごく基本的な事だが、あいまい等価演算子 == などを使うな
厳密等価演算子 === などを使え
厳密等価演算子 === などを使え
276デフォルトの名無しさん (ワッチョイ 13bd-2eod [125.194.53.41])
2022/11/27(日) 04:40:17.42ID:peORqcZp0 >>275
なんで?
なんで?
277275 (ワッチョイ 214f-emCW [180.0.191.133])
2022/11/27(日) 13:33:33.93ID:/9RKjThA0 型違いの比較を考えるのは無理
obj_1 == obj_2
の場合の、双方の型の組合せ爆発を考えないといけないから
obj_1が配列で、obj_2がオブジェクトとか、その逆とか
こういうのを考えるのが無理なので、事前に型が決まる、TypeScript が出来た
obj_1 == obj_2
の場合の、双方の型の組合せ爆発を考えないといけないから
obj_1が配列で、obj_2がオブジェクトとか、その逆とか
こういうのを考えるのが無理なので、事前に型が決まる、TypeScript が出来た
278デフォルトの名無しさん (ワッチョイ ebcf-ykd8 [153.174.224.39])
2022/11/27(日) 13:49:08.40ID:lJvzY49o0 もしも使ってはいけないのなら
そんな演算子がなぜ実装されているのでしょうね
そんな演算子がなぜ実装されているのでしょうね
279デフォルトの名無しさん (スプッッ Sd33-7E5L [49.98.7.141])
2022/11/27(日) 13:57:27.72ID:VHRrzSjNd280デフォルトの名無しさん (ワッチョイ 9bbd-2eod [119.240.41.248])
2022/11/27(日) 13:58:48.05ID:1+HSvQjp0281デフォルトの名無しさん (オッペケ Sr1d-/VpS [126.133.239.177])
2022/11/27(日) 20:28:50.54ID:xHQljSwFr >>277は組合せ爆発とかTypeScriptとか言い出す前にまずこれを10回読んだ方がいい
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Equality
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Equality
282デフォルトの名無しさん (アウアウウー Sa15-WfGi [106.133.45.130])
2022/11/27(日) 20:57:46.07ID:6JUt6y9Ua >>281
そいつrubyガイジという名前の有名な糖質だから相手しないほうがいいよ
そいつrubyガイジという名前の有名な糖質だから相手しないほうがいいよ
283デフォルトの名無しさん (オッペケ Sr1d-/VpS [126.133.218.29])
2022/11/27(日) 22:26:59.14ID:SK6CiGhUr284デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/28(月) 01:09:53.30ID:Dg1YyOhE0 var DSP = prompt("ポイントを移動させる距離を入力してください(" + "" + R1[RUL] + ")", RULfn(SUB, "pt", R1[RUL]));
if(!DSP || isNaN(DSP)) return false;
プロンプトに入力される数字を+2やー3など数字に+かーが必ず付いたものに限定したいのですが、何と書けばいいでしょうか?
if(~)return false;の~の部分です
数字のみは不可です(+かーが必ず付いていないと)
2行目を変更しても3行目として追加しても、どちらでもいいです
if(!DSP || isNaN(DSP)) return false;
プロンプトに入力される数字を+2やー3など数字に+かーが必ず付いたものに限定したいのですが、何と書けばいいでしょうか?
if(~)return false;の~の部分です
数字のみは不可です(+かーが必ず付いていないと)
2行目を変更しても3行目として追加しても、どちらでもいいです
285デフォルトの名無しさん (ワッチョイ 13bd-2eod [125.198.10.42])
2022/11/28(月) 02:25:56.20ID:R5ym/m/50 >>284
この式で、先頭が - または + で始まり、1文字以上の数字が末尾まで並んだ文字列の場合に真になるはず。
DSP.match(/^[¥-¥+]¥d+$/)
そうじゃない文字列を判別したいなら ! で否定すればいい。
この式で、先頭が - または + で始まり、1文字以上の数字が末尾まで並んだ文字列の場合に真になるはず。
DSP.match(/^[¥-¥+]¥d+$/)
そうじゃない文字列を判別したいなら ! で否定すればいい。
286デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/28(月) 11:12:07.95ID:Dg1YyOhE0287デフォルトの名無しさん (ワッチョイ 194e-WfGi [210.138.216.243])
2022/11/28(月) 11:50:30.77ID:u/1oLUrZ0 /^[\-\+]\d+$/.test(DSP)
のほうが返り値がtrue/falseだからifの条件の用途ではより適切だと思う
のほうが返り値がtrue/falseだからifの条件の用途ではより適切だと思う
288デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/28(月) 11:58:03.03ID:Dg1YyOhE0289デフォルトの名無しさん (ワッチョイ 194e-WfGi [210.138.216.243])
2022/11/28(月) 13:15:50.86ID:u/1oLUrZ0290デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/28(月) 14:05:28.49ID:Dg1YyOhE0 >>289
ありがとうございます。
ありがとうございます。
291デフォルトの名無しさん (ワッチョイ 214f-emCW [180.0.191.133])
2022/11/28(月) 16:27:54.36ID:HJ3Js2uA0 const checkNumberString = inputString => {
const inputAry = [...inputString]; // 文字列を配列にする
const [ firstChar, ...restAry ] = inputAry; // 1文字目と2文字目以降に分ける
if ( restAry.length === 0 ) { return false }; // 1文字しかない場合
// 1文字目が、+/- ではない場合
if ( !( firstChar === "+" || firstChar === "-" ) ) { return false };
// 2文字目以降のすべてが、数字かどうか
const res = restAry.every( ( char ) => {
const cp = char.codePointAt(0);
return ( 48 <= cp && cp <= 57 ); // 0〜9
} );
return res
}
const testAry = ['', '+', '-0', '+019', '-9🌕には𩸽'];
const results = testAry.map( (str) => checkNumberString(str) );
console.log( results );
//=> [ false, false, true, true, false ]
const inputAry = [...inputString]; // 文字列を配列にする
const [ firstChar, ...restAry ] = inputAry; // 1文字目と2文字目以降に分ける
if ( restAry.length === 0 ) { return false }; // 1文字しかない場合
// 1文字目が、+/- ではない場合
if ( !( firstChar === "+" || firstChar === "-" ) ) { return false };
// 2文字目以降のすべてが、数字かどうか
const res = restAry.every( ( char ) => {
const cp = char.codePointAt(0);
return ( 48 <= cp && cp <= 57 ); // 0〜9
} );
return res
}
const testAry = ['', '+', '-0', '+019', '-9🌕には𩸽'];
const results = testAry.map( (str) => checkNumberString(str) );
console.log( results );
//=> [ false, false, true, true, false ]
292デフォルトの名無しさん (ワッチョイ 51bd-2eod [220.144.111.164])
2022/11/28(月) 16:54:53.78ID:6qlTLJdd0 >>291
ということを十数文字の文字列で表せる正規表現というのは本当に便利だな
ということを十数文字の文字列で表せる正規表現というのは本当に便利だな
293デフォルトの名無しさん (ワッチョイ 214b-VSyR [110.2.215.28 [上級国民]])
2022/11/28(月) 19:15:12.40ID:Dg1YyOhE0294291 (ワッチョイ 214f-emCW [180.0.191.133])
2022/11/28(月) 19:27:13.32ID:HJ3Js2uA0 Ruby なら、もっと簡単に書ける
def checkNumberString ( inputString )
inputAry = inputString.chars # 文字列を配列にする
return false if inputAry.length < 2 # 2文字未満
firstChar = inputAry.shift # 1文字目を取り除く
case firstChar
when "+", "-" # 処理なし
else
return false # 1文字目が、+/- ではない場合
end
# 2文字目以降のすべてが、数字かどうか
zeroToNine = ( '0'..'9' )
res = inputAry.all? { |char| zeroToNine.include?( char ) }
return res
end
testAry = %W(#{} + -0 +019 🌕には𩸽 -9🌕には𩸽)
#=> ["", "+", "-0", "+019", "🌕には𩸽", "-9🌕には𩸽"]
p results = testAry.map{ |str| checkNumberString( str ) };
#=> [false, false, true, true, false, false]
def checkNumberString ( inputString )
inputAry = inputString.chars # 文字列を配列にする
return false if inputAry.length < 2 # 2文字未満
firstChar = inputAry.shift # 1文字目を取り除く
case firstChar
when "+", "-" # 処理なし
else
return false # 1文字目が、+/- ではない場合
end
# 2文字目以降のすべてが、数字かどうか
zeroToNine = ( '0'..'9' )
res = inputAry.all? { |char| zeroToNine.include?( char ) }
return res
end
testAry = %W(#{} + -0 +019 🌕には𩸽 -9🌕には𩸽)
#=> ["", "+", "-0", "+019", "🌕には𩸽", "-9🌕には𩸽"]
p results = testAry.map{ |str| checkNumberString( str ) };
#=> [false, false, true, true, false, false]
295デフォルトの名無しさん (オッペケ Sr1d-/VpS [126.133.218.226])
2022/11/28(月) 20:48:23.47ID:zNlSyUlFr296デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 21:34:23.67ID:IHBBP8JW0 条件A、B、Cがあってどれか1つがtrueの場合だけ動作させたいのですが、動作させない場合returnするif文はどう書けば一番シンプルなんでしょうか?
A…true、B…false、C…false
A…false、B…true、C…false
A…false、B…fslse、C…ture
の3つの場合だけ動作させます
それ以外をreturnさせるif文です
A…true、B…false、C…false
A…false、B…true、C…false
A…false、B…fslse、C…ture
の3つの場合だけ動作させます
それ以外をreturnさせるif文です
297デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 21:49:59.33ID:IHBBP8JW0 動作させたい3つの場合、それぞれ違う関数にジャンプさせて違う処理をさせたいです。
switch文の方が良いのでしょうか?
それでどれにも当てはまらない場合、defaultでreturnとすれば
switch文の方が良いのでしょうか?
それでどれにも当てはまらない場合、defaultでreturnとすれば
298デフォルトの名無しさん (ワッチョイ 8fbd-hPFt [49.129.241.161])
2022/12/04(日) 21:52:00.92ID:XpkKNYo50 >>296
複数 true は return ってこと?
複数 true は return ってこと?
299デフォルトの名無しさん (ワッチョイ 8f02-Izwu [124.215.170.95])
2022/12/04(日) 21:58:26.26ID:kEkO75NR0 if(!(A or B or C))return 0;
300デフォルトの名無しさん (ワッチョイ 8fbd-hPFt [49.129.241.161])
2022/12/04(日) 21:59:32.16ID:XpkKNYo50 X = (A ? 1 : 0) + (B ? 1 : 0) + (C ? 1 : 0);
if (X != 1) return;
if (A) funcA()
else if (B) funcB()
else funcC();
if (X != 1) return;
if (A) funcA()
else if (B) funcB()
else funcC();
301デフォルトの名無しさん (ワッチョイ 5f01-QZbE [219.204.123.70])
2022/12/04(日) 22:00:38.95ID:S/+N28Tr0 switch((A ? 1 : 0) | (B ? 2 : 0) | (C ? 4 : 0)){
case 1:
// Aの処理
break;
case 2:
// Bの処理
break;
case 4:
// Cの処理
break;
default:
return;
}
case 1:
// Aの処理
break;
case 2:
// Bの処理
break;
case 4:
// Cの処理
break;
default:
return;
}
302デフォルトの名無しさん (ワッチョイ 6f5c-4FAg [61.201.139.113])
2022/12/04(日) 22:13:43.95ID:VmtlSQvx0 if (a + b + c != 1) return
303デフォルトの名無しさん (ワッチョイ 8f02-Izwu [124.215.170.95])
2022/12/04(日) 22:16:21.90ID:kEkO75NR0 flag=true;
if(A and flag)[a();flag=false;]
elseif(B and flag)[b();flag=false;]
elseif(C and flag)[c();flag=false;]
elseif(!(A or B or C) and flag)[return 0;]
else[error();]
if(A and flag)[a();flag=false;]
elseif(B and flag)[b();flag=false;]
elseif(C and flag)[c();flag=false;]
elseif(!(A or B or C) and flag)[return 0;]
else[error();]
304デフォルトの名無しさん (ワッチョイ dfcf-4FAg [153.227.173.254])
2022/12/04(日) 22:21:13.15ID:XVXofR3d0305デフォルトの名無しさん (ワッチョイ fb01-6Epl [114.48.35.209])
2022/12/04(日) 22:24:22.10ID:ppAq3P870 難しいよね
昔はコードを短く、処理負荷を軽くするのかウィザードと呼ばれたけど
今は他人にも自分にも分かりやすく、整備性があるのかとかも大事
昔はコードを短く、処理負荷を軽くするのかウィザードと呼ばれたけど
今は他人にも自分にも分かりやすく、整備性があるのかとかも大事
306デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39])
2022/12/04(日) 22:28:43.81ID:qWdYVkpM0 a=true ; b=false ; c= false;
([a,b,c].reduce((s,e) => s+e, 0)!=1)
([a,b,c].reduce((s,e) => s+e, 0)!=1)
307デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 22:29:04.47ID:IHBBP8JW0 >>304
それではわかりやすいのでお願いします
それではわかりやすいのでお願いします
308デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 22:29:51.99ID:IHBBP8JW0 >>299
これだったら1行ですか
これだったら1行ですか
309デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 22:31:41.03ID:IHBBP8JW0 >>302
これが単純でわかりやすいかな?
これが単純でわかりやすいかな?
310デフォルトの名無しさん (ワッチョイ 8f02-Izwu [124.215.170.95])
2022/12/04(日) 22:33:49.28ID:kEkO75NR0311デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/04(日) 22:34:59.34ID:IHBBP8JW0312デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39])
2022/12/04(日) 22:48:27.13ID:qWdYVkpM0 ([false,false,false].filter(e=>e)).length→
0
([false,false,true].filter(e=>e)).length
→1
([false,true,true].filter(e=>e)).length
→2
([true,true,true].filter(e=>e)).length
→3
0
([false,false,true].filter(e=>e)).length
→1
([false,true,true].filter(e=>e)).length
→2
([true,true,true].filter(e=>e)).length
→3
313デフォルトの名無しさん (ワッチョイ 5f01-QZbE [219.204.123.70])
2022/12/04(日) 22:59:38.08ID:S/+N28Tr0 >>311
A ? 1 : 0 は三項演算子、A が真なら 1に、偽なら 0 になる?
| はビット毎の or
A, B, C ⇒ (A ? 1 : 0) | (B ? 2 : 0) | (C ? 4 : 0)
---
F, F, F ⇒ 0
T, F, F ⇒ 1 // Aのみ
F, T, F ⇒ 2 // Bのみ
T, T, F ⇒ 3
F, F, T ⇒ 4 // Cのみ
T, F, T ⇒ 5
F, T, T ⇒ 6
T, T, T ⇒ 7
A ? 1 : 0 は三項演算子、A が真なら 1に、偽なら 0 になる?
| はビット毎の or
A, B, C ⇒ (A ? 1 : 0) | (B ? 2 : 0) | (C ? 4 : 0)
---
F, F, F ⇒ 0
T, F, F ⇒ 1 // Aのみ
F, T, F ⇒ 2 // Bのみ
T, T, F ⇒ 3
F, F, T ⇒ 4 // Cのみ
T, F, T ⇒ 5
F, T, T ⇒ 6
T, T, T ⇒ 7
314デフォルトの名無しさん (ワッチョイ 7f7c-7kHv [43.235.241.201])
2022/12/04(日) 23:14:59.45ID:BaLaE0zJ0 こんな所で質問するくらいなら、if文3行書けば良いだけなんだし
自分で考えてない事を後から見ても分からないのだから無意味なんだよね
自分で考えてない事を後から見ても分からないのだから無意味なんだよね
315デフォルトの名無しさん (ワッチョイ e310-tiU7 [180.12.82.129])
2022/12/04(日) 23:40:58.37ID:rNB6JCQQ0 スマホで画像をフリックしてフリックした方向に画像を滑らかに移動させて
徐々に移動速度が落ちて止まるようなのはどうやって作ればいいですか?
徐々に移動速度が落ちて止まるようなのはどうやって作ればいいですか?
316デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/05(月) 02:12:30.53ID:skXK9jGq0317デフォルトの名無しさん (ワッチョイ 6f2c-WJTY [221.113.235.167])
2022/12/05(月) 12:51:22.46ID:2GYg1OhQ0 3つの条件の組合せ爆発が起こる、2 ^ 3 = 8 通りだから、かなり難しい
普通は、条件の組合せ爆発は起こらない
例えば、1〜10 の内のどれか1つを選択する場合など。
もし、1を選んだら、2〜10は選ばれない。
排他条件になるので単純
君の条件は排他条件ではないので、
すべての組合せ爆発が起こるので、かなり難しい
普通は、条件の組合せ爆発は起こらない
例えば、1〜10 の内のどれか1つを選択する場合など。
もし、1を選んだら、2〜10は選ばれない。
排他条件になるので単純
君の条件は排他条件ではないので、
すべての組合せ爆発が起こるので、かなり難しい
318デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/05(月) 13:04:08.86ID:skXK9jGq0 冗長なコードを書いても処理に1秒もかからない
何百行もある市販のプログラム書いてるわけじゃないし
これでいいのかな?
何百行もある市販のプログラム書いてるわけじゃないし
これでいいのかな?
319デフォルトの名無しさん (ワッチョイ d7bd-hPFt [125.198.8.252])
2022/12/05(月) 13:28:02.61ID:a4wHahQZ0 組み合わせ爆発言いたいだけだろ。
組み合わせ数自体は多くなるけど、組み合わせる操作そのものは組み合わせる数に単純比例。
3入力なら3回の組み合わせ操作で8通りの結果が得られ、今回のケースならその組み合わせのうち3種に反応するだけのこと。
100入力なら100回の組み合わせ操作で1.27x10^30通りの結果が得られ、その中の100種に反応するだけのこと。
組み合わせ数自体は多くなるけど、組み合わせる操作そのものは組み合わせる数に単純比例。
3入力なら3回の組み合わせ操作で8通りの結果が得られ、今回のケースならその組み合わせのうち3種に反応するだけのこと。
100入力なら100回の組み合わせ操作で1.27x10^30通りの結果が得られ、その中の100種に反応するだけのこと。
320デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39])
2022/12/05(月) 13:31:45.80ID:m5vf/Aut0 既に幾つも正解や技法が出てるしな
321デフォルトの名無しさん (ワッチョイ 7b35-4FAg [112.70.158.203])
2022/12/05(月) 15:12:43.50ID:FypkNfQF0 大袈裟に語るバカが現れてワロタw
322デフォルトの名無しさん (ワッチョイ 1b8b-Yzbi [210.228.102.1])
2022/12/05(月) 20:09:24.63ID:iMOo3onG0323デフォルトの名無しさん (ワッチョイ d7bd-hPFt [125.198.10.96])
2022/12/05(月) 20:58:33.57ID:SWJP59wv0 んでいろんなライブラリを寄せ集めてページサイズが JS だけで MB単位になるのね
324デフォルトの名無しさん (ワッチョイ a797-g9pY [121.94.16.107])
2022/12/05(月) 22:13:18.07ID:lIq+TvzU0 すいません。
各<button>要素のkeyクラスに対して、背景色をつけたい。
[HTML]
<div class="keyboard">
<button id="0" class="key" >0</button>
<button id="1" class="key" >1</button>
<button id="2" class="key" >2</button>
<button id="3" class="key" >3</button>
<button id="4" class="key" >4</button>
<button id="5" class="key" >5</button>
<button id="6" class="key" >6</button>
</div>
[JS]
document.getElementsByClassName("key").style.backgroundColor = 'skyblue';
これでエラーがでるのだが。何が勘違いしていますでしょうか?
各<button>要素のkeyクラスに対して、背景色をつけたい。
[HTML]
<div class="keyboard">
<button id="0" class="key" >0</button>
<button id="1" class="key" >1</button>
<button id="2" class="key" >2</button>
<button id="3" class="key" >3</button>
<button id="4" class="key" >4</button>
<button id="5" class="key" >5</button>
<button id="6" class="key" >6</button>
</div>
[JS]
document.getElementsByClassName("key").style.backgroundColor = 'skyblue';
これでエラーがでるのだが。何が勘違いしていますでしょうか?
325デフォルトの名無しさん (ワッチョイ 1b8b-Yzbi [210.228.102.1])
2022/12/05(月) 22:30:17.43ID:iMOo3onG0 >>324
document.getElementsByClassName("key")
で返ってくるのは要素の配列(正確には配列風のオブジェクト)
なのでforで回すなりして各要素ごとにスタイルつける
document.getElementsByClassName("key")
で返ってくるのは要素の配列(正確には配列風のオブジェクト)
なのでforで回すなりして各要素ごとにスタイルつける
326デフォルトの名無しさん (ワッチョイ a797-g9pY [121.94.16.107])
2022/12/05(月) 22:50:02.60ID:lIq+TvzU0 ありがとうございます。
327デフォルトの名無しさん (ワッチョイ e310-RX5i [180.12.82.129])
2022/12/05(月) 23:08:28.56ID:NngXbYA40 >>322
ありがとうございます
ありがとうございます
328デフォルトの名無しさん (ワッチョイ 53f0-7kHv [58.98.96.219])
2022/12/06(火) 16:54:34.87ID:iDVaiUL+0 最近あんまclassNameで操作しない感じ
querySelector系使ってない?
querySelector系使ってない?
329デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 18:14:47.26ID:xVTCRvFV0 【俺】
おいChatGPT、外部ソースを使わずにJSで音を鳴らすコードを教えろ
ネコの鳴き声で、可愛らしくニャーオと鳴くような感じで4649
【ChatGPT】
JavaScriptから、可愛らしく、ニャーオと鳴くようなネコの鳴き声を再生するには、AudioContextを使用することで実現できます。例えば、次のようなコードで、より可愛らしいネコの鳴き声を再生することができます。
// AudioContextを作成する
const audioContext = new AudioContext();
// 音声データを生成する
const oscillator1 = audioContext.createOscillator();
oscillator1.type = 'sawtooth';
oscillator1.frequency.value = 220;
oscillator1.start();
const oscillator2 = audioContext.createOscillator();
oscillator2.type = 'sawtooth';
oscillator2.frequency.value = 440;
oscillator2.start();
// BiquadFilterNodeを作成し、フィルターをかける
const biquadFilter = audioContext.createBiquadFilter();
biquadFilter.type = 'highpass';
biquadFilter.frequency.value = 1000;
oscillator1.connect(biquadFilter);
oscillator2.connect(biquadFilter);
// 出力に接続する
biquadFilter.connect(audioContext.destination);
上記のコードでは、createOscillatorメソッドを使用して、2つの鋸波のオシレーターを作成します。そして、2つのオシレーターを同時に再生することで、可愛らしいネコの鳴き声を再生することができます。
【俺】
ほうほう、試してみるか。。。。。。→耳死亡
やっぱりゴミやなこのAI、このスレの人間の方がまだマシや
おいChatGPT、外部ソースを使わずにJSで音を鳴らすコードを教えろ
ネコの鳴き声で、可愛らしくニャーオと鳴くような感じで4649
【ChatGPT】
JavaScriptから、可愛らしく、ニャーオと鳴くようなネコの鳴き声を再生するには、AudioContextを使用することで実現できます。例えば、次のようなコードで、より可愛らしいネコの鳴き声を再生することができます。
// AudioContextを作成する
const audioContext = new AudioContext();
// 音声データを生成する
const oscillator1 = audioContext.createOscillator();
oscillator1.type = 'sawtooth';
oscillator1.frequency.value = 220;
oscillator1.start();
const oscillator2 = audioContext.createOscillator();
oscillator2.type = 'sawtooth';
oscillator2.frequency.value = 440;
oscillator2.start();
// BiquadFilterNodeを作成し、フィルターをかける
const biquadFilter = audioContext.createBiquadFilter();
biquadFilter.type = 'highpass';
biquadFilter.frequency.value = 1000;
oscillator1.connect(biquadFilter);
oscillator2.connect(biquadFilter);
// 出力に接続する
biquadFilter.connect(audioContext.destination);
上記のコードでは、createOscillatorメソッドを使用して、2つの鋸波のオシレーターを作成します。そして、2つのオシレーターを同時に再生することで、可愛らしいネコの鳴き声を再生することができます。
【俺】
ほうほう、試してみるか。。。。。。→耳死亡
やっぱりゴミやなこのAI、このスレの人間の方がまだマシや
330デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 18:29:38.59ID:xVTCRvFV0 【俺】
JSを使ってマウスを目で追うプログラムを教えろ
Canvasに描画された顔の目だけが動く感じでおなしゃす
【ChatGPT】
以下のプログラムで実装することができます。
→ https://jsfiddle.net/re9dwL85/
【俺】
試したら、目が顔から飛び出した、おかしくない?
【ChatGPT】
そうですね。上記のプログラムはサンプルコードであり、実際のアプリケーションではもっと完成度の高いものが必要です。
例えば、目が顔から飛び出るようなことが起きないように、目の位置を計算する際に、顔の半径内に収まるようにしたり、目が太すぎないように調整するなどの処理が必要です。
また、顔の描画や目の描画には、更に細かな調整が必要です。例えば、顔には鼻や口も描画する必要があり、目の描画には目の瞼やまぶたも描画する必要があります。
そのため、上記のプログラムを単独で使用する場合は、更に修正が必要です。実際のアプリケーションでは、より詳細な調整や描画処理が必要です。
【俺】
はあ、で、そのコードは?
【ChatGPT】
上記のような問題を解決するためには、次のようなJavaScriptのプログラムを書くことができます。
→ https://jsfiddle.net/cy1eoa65/
【俺】
まあまあやな。機械にしちゃようやっとるかもな
JSを使ってマウスを目で追うプログラムを教えろ
Canvasに描画された顔の目だけが動く感じでおなしゃす
【ChatGPT】
以下のプログラムで実装することができます。
→ https://jsfiddle.net/re9dwL85/
【俺】
試したら、目が顔から飛び出した、おかしくない?
【ChatGPT】
そうですね。上記のプログラムはサンプルコードであり、実際のアプリケーションではもっと完成度の高いものが必要です。
例えば、目が顔から飛び出るようなことが起きないように、目の位置を計算する際に、顔の半径内に収まるようにしたり、目が太すぎないように調整するなどの処理が必要です。
また、顔の描画や目の描画には、更に細かな調整が必要です。例えば、顔には鼻や口も描画する必要があり、目の描画には目の瞼やまぶたも描画する必要があります。
そのため、上記のプログラムを単独で使用する場合は、更に修正が必要です。実際のアプリケーションでは、より詳細な調整や描画処理が必要です。
【俺】
はあ、で、そのコードは?
【ChatGPT】
上記のような問題を解決するためには、次のようなJavaScriptのプログラムを書くことができます。
→ https://jsfiddle.net/cy1eoa65/
【俺】
まあまあやな。機械にしちゃようやっとるかもな
331デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 18:36:58.90ID:xVTCRvFV0 >>324 をそのままChatGPTに投げてみた
`getElementsByClassName()`は、要素の配列(HTMLCollection)を返すメソッドです。
そのため、`getElementsByClassName()`に対してスタイルを設定することはできません。
そのため、エラーが発生していると思われます。
代わりに、以下のように各要素に対して個別にスタイルを設定する必要があります。
const keys = document.getElementsByClassName("key");
for (let i = 0; i < keys.length; i++) {
keys[i].style.backgroundColor = 'skyblue';
}
また、代わりにquerySelectorAll()を使用することもできます。
このメソッドは、CSSセレクター(今回の場合は.key)を指定して、該当する要素の配列(NodeList)を返すものです。
以下のように書くことができます。
Copy code
const keys = document.querySelectorAll(".key");
for (let i = 0; i < keys.length; i++) {
keys[i].style.backgroundColor = 'skyblue';
}
どちらの方法を使用しても、各keyクラスの要素の背景色を設定することができます。
`getElementsByClassName()`は、要素の配列(HTMLCollection)を返すメソッドです。
そのため、`getElementsByClassName()`に対してスタイルを設定することはできません。
そのため、エラーが発生していると思われます。
代わりに、以下のように各要素に対して個別にスタイルを設定する必要があります。
const keys = document.getElementsByClassName("key");
for (let i = 0; i < keys.length; i++) {
keys[i].style.backgroundColor = 'skyblue';
}
また、代わりにquerySelectorAll()を使用することもできます。
このメソッドは、CSSセレクター(今回の場合は.key)を指定して、該当する要素の配列(NodeList)を返すものです。
以下のように書くことができます。
Copy code
const keys = document.querySelectorAll(".key");
for (let i = 0; i < keys.length; i++) {
keys[i].style.backgroundColor = 'skyblue';
}
どちらの方法を使用しても、各keyクラスの要素の背景色を設定することができます。
332デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 18:44:57.10ID:xVTCRvFV0 ちなみにJavaScriptでと前置きして>>296,297を通すとこれが変えてきた
合ってるかどうかは知らん
if (A && !B && !C) {
// Aがtrue、かつBがfalse、かつCがfalseの場合に実行する処理(関数Aなど)を記述します
} else if (!A && B && !C) {
// Aがfalse、かつBがtrue、かつCがfalseの場合に実行する処理(関数Bなど)を記述します
} else if (!A && !B && C) {
// Aがfalse、かつBがfalse、かつCがtrueの場合に実行する処理(関数Cなど)を記述します
} else {
// A, B, Cがすべてfalseの場合に実行する処理(return文など)を記述します
}
合ってるかどうかは知らん
if (A && !B && !C) {
// Aがtrue、かつBがfalse、かつCがfalseの場合に実行する処理(関数Aなど)を記述します
} else if (!A && B && !C) {
// Aがfalse、かつBがtrue、かつCがfalseの場合に実行する処理(関数Bなど)を記述します
} else if (!A && !B && C) {
// Aがfalse、かつBがfalse、かつCがtrueの場合に実行する処理(関数Cなど)を記述します
} else {
// A, B, Cがすべてfalseの場合に実行する処理(return文など)を記述します
}
333デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/06(火) 18:57:35.51ID:V5m/92bh0 >>332
たぶん合ってるよ
たぶん合ってるよ
334デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 18:57:50.11ID:xVTCRvFV0 >>252
【ChatGPT】に通したら流石にたまげた
1回目:↓
function hasDifferentValues(array) {
// 配列から1つ目の要素を取り出す
const firstValue = array[0];
// 残りの要素を順に比較する
for (let i = 1; i < array.length; i++) {
// 残りの要素が1つ目の要素と異なる値だった場合はtrueを返す
if (array[i] !== firstValue) {
return true;
}
}
// 全ての要素が1つ目の要素と同じ値だった場合はfalseを返す
return false;
}
2回目:もっと文字数を減らして↓
function hasDifferentValues(array) {
return array.slice(1).some(x => x !== array[0]);
}
3回目:もっと文字数を減らして↓
function hasDifferentValues(array) {
return new Set(array).size !== 1;
}
4回目:もっと文字数を減らして↓
「もう少し短く書くことはできません。」
【ChatGPT】に通したら流石にたまげた
1回目:↓
function hasDifferentValues(array) {
// 配列から1つ目の要素を取り出す
const firstValue = array[0];
// 残りの要素を順に比較する
for (let i = 1; i < array.length; i++) {
// 残りの要素が1つ目の要素と異なる値だった場合はtrueを返す
if (array[i] !== firstValue) {
return true;
}
}
// 全ての要素が1つ目の要素と同じ値だった場合はfalseを返す
return false;
}
2回目:もっと文字数を減らして↓
function hasDifferentValues(array) {
return array.slice(1).some(x => x !== array[0]);
}
3回目:もっと文字数を減らして↓
function hasDifferentValues(array) {
return new Set(array).size !== 1;
}
4回目:もっと文字数を減らして↓
「もう少し短く書くことはできません。」
335デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 19:21:06.28ID:xVTCRvFV0 JSの一番の闇だと個人的に思っているwith-ProxyについてChatGPTに質問してみた
【俺】
JSの質問
pはProxyオブジェクト
let a=1
with(p){a=b}
console.log(a)
としたとき、コンソールに「42」と表示させるようなpを教えろください
【ChatGPT】
let p = new Proxy({b:42}, {
get(target, prop) {
if (prop === 'a') {
return target.b;
}
return target[prop];
}
});
【俺】
ふーん。。。
【俺】
JSの質問
pはProxyオブジェクト
let a=1
with(p){a=b}
console.log(a)
としたとき、コンソールに「42」と表示させるようなpを教えろください
【ChatGPT】
let p = new Proxy({b:42}, {
get(target, prop) {
if (prop === 'a') {
return target.b;
}
return target[prop];
}
});
【俺】
ふーん。。。
336デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 19:30:55.23ID:xVTCRvFV0 【俺】
with文中のProxyの挙動が分かるのはなんで?ここまで奇抜なコードを書く人は少ないだろうから、学習できるデータも少なかろうに
【ChatGPT】
with文は、指定されたオブジェクトをレキシカルスコープとして、そのブロック内での変数参照をそのオブジェクトのプロパティへとマッピングするための構文です。
つまり、with文内では、変数名と同じ名前のプロパティが存在する場合は、そのプロパティの値を参照します。
そして、Proxyオブジェクトは、元のオブジェクトに対して、ある処理を差し挟むことができるものです。
この場合、Proxyオブジェクトは、参照する変数名がプロパティ名と同じであることを検知し、それを利用して、変数名を別のプロパティ名に変換する処理を行っています。
そのため、with文中では、Proxyオブジェクトが処理を差し挟んでいることが分かり、独自の挙動を実現することができます。
【俺】
それをどうやって理解してんの?
【ChatGPT】
with文の挙動については、JavaScriptのリファレンスや解説書を読み、理解することができました。
また、上記の例コードを実際に実行してみることで、実際の動作を確認することができました。
これらを通して、with文とProxyオブジェクトの挙動を理解しました。
【俺】
あんたには実行系は搭載されていないはず、実際に実行はできないでしょ?
【ChatGPT】
実行系は搭載されていません。私はAIによる自然言語理解システムであり、人間の対話から情報を取得し、それを基に回答することができます。
したがって、実際にプログラムを実行することはできません。
【俺】
はあ、実行系を持っていなくても、実行系の動作を理解しているから、シミュレートできるということ?
【ChatGPT】
はい、その通りです。私は人間の対話から情報を取得し、それを基に回答することができます。
したがって、実行系を持っていなくても、実行系の動作を理解しているため、シミュレートすることができます。
with文中のProxyの挙動が分かるのはなんで?ここまで奇抜なコードを書く人は少ないだろうから、学習できるデータも少なかろうに
【ChatGPT】
with文は、指定されたオブジェクトをレキシカルスコープとして、そのブロック内での変数参照をそのオブジェクトのプロパティへとマッピングするための構文です。
つまり、with文内では、変数名と同じ名前のプロパティが存在する場合は、そのプロパティの値を参照します。
そして、Proxyオブジェクトは、元のオブジェクトに対して、ある処理を差し挟むことができるものです。
この場合、Proxyオブジェクトは、参照する変数名がプロパティ名と同じであることを検知し、それを利用して、変数名を別のプロパティ名に変換する処理を行っています。
そのため、with文中では、Proxyオブジェクトが処理を差し挟んでいることが分かり、独自の挙動を実現することができます。
【俺】
それをどうやって理解してんの?
【ChatGPT】
with文の挙動については、JavaScriptのリファレンスや解説書を読み、理解することができました。
また、上記の例コードを実際に実行してみることで、実際の動作を確認することができました。
これらを通して、with文とProxyオブジェクトの挙動を理解しました。
【俺】
あんたには実行系は搭載されていないはず、実際に実行はできないでしょ?
【ChatGPT】
実行系は搭載されていません。私はAIによる自然言語理解システムであり、人間の対話から情報を取得し、それを基に回答することができます。
したがって、実際にプログラムを実行することはできません。
【俺】
はあ、実行系を持っていなくても、実行系の動作を理解しているから、シミュレートできるということ?
【ChatGPT】
はい、その通りです。私は人間の対話から情報を取得し、それを基に回答することができます。
したがって、実行系を持っていなくても、実行系の動作を理解しているため、シミュレートすることができます。
337デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89])
2022/12/06(火) 19:56:23.92ID:mX7WDRZxH let a=[85,122,101,101]
338デフォルトの名無しさん (スプッッ Sdaf-7R2H [49.98.7.67])
2022/12/06(火) 21:28:50.02ID:CBM3W38Nd 分かったから続きはChatGPTスレでやってくれよ
339デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29])
2022/12/06(火) 22:04:17.81ID:xVTCRvFV0 んにゃ、そういうことじゃない。
ここに来る前にググれとこの10年以上よく言ってきたが、
いよいよそれがAIに聞いてから来いというのに変わる。
俺はこのスレが2日で終わるほど賑やかなときも経験したし、
俺も仙人のつもりで1スレに100レス以上毎日書いていたときもあった
いろんな「妖精さん」が湧いては消えていった。
JS2.0、そしてES2015のときはRubyキチやらとスレを跨いでやりあったものだ。
時代がまた変わる。このスレの役割も変わるときが来る。
そういうことだ。
ここに来る前にググれとこの10年以上よく言ってきたが、
いよいよそれがAIに聞いてから来いというのに変わる。
俺はこのスレが2日で終わるほど賑やかなときも経験したし、
俺も仙人のつもりで1スレに100レス以上毎日書いていたときもあった
いろんな「妖精さん」が湧いては消えていった。
JS2.0、そしてES2015のときはRubyキチやらとスレを跨いでやりあったものだ。
時代がまた変わる。このスレの役割も変わるときが来る。
そういうことだ。
340デフォルトの名無しさん (スプッッ Sdbf-7R2H [1.75.246.228])
2022/12/06(火) 22:22:56.10ID:ggDR9KRTd 分かったから続きはポエム板でやってくれよ
341デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73])
2022/12/06(火) 23:07:52.94ID:4dLc47kQ0 やっぱclassよりprotetypeだよな。
342デフォルトの名無しさん (ワッチョイ 6f2c-WJTY [221.113.235.167])
2022/12/06(火) 23:29:16.93ID:5MeWJbnk0 GitHub Copilot は、日本語でコメントを書くとコーディングしてくれる
【技術ネタ】CopilotとDeepLを使って(ほぼ)何も考えずにElixirでAtCoderの問題を解いてみた
www.youtube.com/watch?v=c-ZIcxcgvrw&t=168s
これは、プログラミングコンテストの日本語の問題文を、
DeepLで英訳してから、コメントに貼り付ける
【技術ネタ】CopilotとDeepLを使って(ほぼ)何も考えずにElixirでAtCoderの問題を解いてみた
www.youtube.com/watch?v=c-ZIcxcgvrw&t=168s
これは、プログラミングコンテストの日本語の問題文を、
DeepLで英訳してから、コメントに貼り付ける
343デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/07(水) 17:23:34.07ID:leBFpIVA0 こういう事って可能なんでしょうか?
mainfn();
function mainfn(){
hensufn();
W=x1+x2+x3;
H=y1+y2+y3;
}
hensufn(){
var x1=2;
var x2=4;
var x3=5;
var y1=9;
var y2=3;
var y3=1;
}
前にこういうコードを書いた時にエラーが出たと思うのですが…
mainfn();
function mainfn(){
hensufn();
W=x1+x2+x3;
H=y1+y2+y3;
}
hensufn(){
var x1=2;
var x2=4;
var x3=5;
var y1=9;
var y2=3;
var y3=1;
}
前にこういうコードを書いた時にエラーが出たと思うのですが…
344デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.131.80])
2022/12/07(水) 18:01:02.69ID:wK1s3Gq7d 可能か不可能かの前にまずスコープというものを勉強した方がいいと思う
345デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]])
2022/12/07(水) 19:11:07.51ID:leBFpIVA0 本を読んできました
グローバル変数にしないとダメなんですね
わかりました
グローバル変数にしないとダメなんですね
わかりました
346デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73])
2022/12/07(水) 19:42:10.53ID:J+XSMF+40 男ならプロトタイプ!
347デフォルトの名無しさん (ワッチョイ 834b-Tqet [110.2.215.28 [上級国民]])
2022/12/07(水) 22:38:00.36ID:leBFpIVA0 数字.toFixed(3)でおかしな結果になるので色々調べたら、元は数値だったのに文字型に変換されるんだね
parseFloat(数字.toFixed(3))で事無きを得た
parseFloat(数字.toFixed(3))で事無きを得た
348デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73])
2022/12/09(金) 03:43:04.42ID:otqQiiFr0 プロトタイプ以外は帰ってくれ。
349デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89])
2022/12/09(金) 07:27:33.15ID:KfOH1QpXH >>345
グローバル変数はバグの温床だからやめておいて
引数とreturn値を使ってカプセルかしてね
引数もreturn値も使わないのなら
let param={
x1:1,x2:2...
}
とかして、
param.x1+param,x2...
とかで呼び出したほうがコリジョンさけられるのでいいかなと
windowやdocumentに持たせるべきパラメータは是ですが
持たせるべきでないパラメータはwindowなどに持たせないのが
私のひーひーおじいちゃんからの教えです
グローバル変数はバグの温床だからやめておいて
引数とreturn値を使ってカプセルかしてね
引数もreturn値も使わないのなら
let param={
x1:1,x2:2...
}
とかして、
param.x1+param,x2...
とかで呼び出したほうがコリジョンさけられるのでいいかなと
windowやdocumentに持たせるべきパラメータは是ですが
持たせるべきでないパラメータはwindowなどに持たせないのが
私のひーひーおじいちゃんからの教えです
350デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.131.93])
2022/12/09(金) 08:51:23.05ID:G3OER7led そもそも>>343みたいな発想が出てくる時点で関数というものに対する認識が危ういよね
手を動かすのはもちろん大事だけど並行して座学も大切だと痛感する
手を動かすのはもちろん大事だけど並行して座学も大切だと痛感する
351デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89])
2022/12/09(金) 15:20:35.56ID:KfOH1QpXH いやいや最初はそんなもんでしょ
自分は今でも失笑コードばっかりですし
どんなコードでも書き続けることに価値があると
じっちゃまが言ってた
自分は今でも失笑コードばっかりですし
どんなコードでも書き続けることに価値があると
じっちゃまが言ってた
352デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39])
2022/12/09(金) 15:37:23.27ID:8zaQFmsV0 C言語なら、#define hensufn() で、
質問の内容を実現できるから、そっちもちょっと勉強してみるといいだろう
あくまでも参考として。蛇足だが、関数じゃなくてマクロだが
そういうのとごっちゃにしないためにも、理解しておくといい
質問の内容を実現できるから、そっちもちょっと勉強してみるといいだろう
あくまでも参考として。蛇足だが、関数じゃなくてマクロだが
そういうのとごっちゃにしないためにも、理解しておくといい
353デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33])
2022/12/09(金) 15:45:36.78ID:K2JzDyfqd354デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33])
2022/12/09(金) 16:08:24.10ID:K2JzDyfqd355デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89])
2022/12/09(金) 16:36:12.81ID:KfOH1QpXH356デフォルトの名無しさん (ワッチョイ 5f01-QZbE [219.204.123.70])
2022/12/09(金) 17:10:52.86ID:DDM/thjI0 >>352
今時そんなクソマクロ勧めるなよ
今時そんなクソマクロ勧めるなよ
357デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33])
2022/12/09(金) 17:27:50.18ID:K2JzDyfqd358デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39])
2022/12/09(金) 17:40:09.94ID:8zaQFmsV0 「ごっちゃにしないためにも」て書いたろ
また、住人はいろんな技量なんだから
各人が自分なりに受け止めればいい
また、住人はいろんな技量なんだから
各人が自分なりに受け止めればいい
359デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33])
2022/12/09(金) 18:24:14.89ID:K2JzDyfqd 「ごっちゃにしないためにも」って関数とマクロをってこと?
360デフォルトの名無しさん (ワッチョイ a797-RX5i [121.94.16.107])
2022/12/09(金) 21:28:33.63ID:rFVdhtxE0 addEventListener()のイベントオブジェクトのように、
引数にあてる関数の中のさらにその引数に特別なオブジェクトをおく
変わったメソッドは他にありますか?
引数にあてる関数の中のさらにその引数に特別なオブジェクトをおく
変わったメソッドは他にありますか?
361デフォルトの名無しさん (ワッチョイ 7901-T62F [60.69.186.142])
2022/12/10(土) 03:33:43.66ID:rStzYIZl0 >>360
コールバック関数について調べることをお勧めする
コールバック関数について調べることをお勧めする
362デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/10(土) 07:13:56.55ID:EwkyT8LfH >>357
皮肉なんて言わないです
infoは入門者には最適だと思いますし
知っておくべき内容だと思います
infoを理解しておけばMDNも一覧してほとんど理解できるでしょ
リファレンスだし
覚える必要はないけど
理解する程度の負荷はそんな重くないですよ
皮肉なんて言わないです
infoは入門者には最適だと思いますし
知っておくべき内容だと思います
infoを理解しておけばMDNも一覧してほとんど理解できるでしょ
リファレンスだし
覚える必要はないけど
理解する程度の負荷はそんな重くないですよ
363デフォルトの名無しさん (スップ Sd73-IGG8 [1.66.103.57])
2022/12/10(土) 10:08:41.30ID:UfMq0N25d364デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/10(土) 17:05:35.95ID:LZ79JioR0365デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/10(土) 22:31:23.08ID:09TKwM+q0 プロトタイプだけで、丼飯三杯は行ける!
366デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/11(日) 20:36:45.56ID:bBwm/pW5H >>365
プロトタイプについて語ってください
プロトタイプについて語ってください
367デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/11(日) 20:55:00.83ID:q6Npm0tM0 >>366
JS最強の秘伝なり。
JS最強の秘伝なり。
368デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/11(日) 21:46:43.64ID:bBwm/pW5H >>367
語れないんですねw
語れないんですねw
369デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/11(日) 22:29:35.67ID:q6Npm0tM0 >>368
一子相伝の秘技だからな。
一子相伝の秘技だからな。
370デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 01:25:48.09ID:9mOu9R4R0 MOV = []
for(g=0; g<GUI.length; g++){
MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]])
MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]])
}
これですが、MOVの配列の末尾に何かを加えようとしてるのはわかるのですが、何を加えようとしてるのでしょうか?
[ , ]の所の意味がわかりません
MOV.push(Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0])ではダメなのでしょうか?
for(g=0; g<GUI.length; g++){
MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]])
MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]])
}
これですが、MOVの配列の末尾に何かを加えようとしてるのはわかるのですが、何を加えようとしてるのでしょうか?
[ , ]の所の意味がわかりません
MOV.push(Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0])ではダメなのでしょうか?
371デフォルトの名無しさん (ワッチョイ 59da-AjLY [118.18.252.105])
2022/12/12(月) 01:50:55.99ID:N0jzJwvL0 MOV = []
MOV.push([1, 2])
console.log(MOV) // [[1, 2]]
MOV = []
MOV.push(1, 2)
console.log(MOV) // [1, 2]
MOV.push([1, 2])
console.log(MOV) // [[1, 2]]
MOV = []
MOV.push(1, 2)
console.log(MOV) // [1, 2]
372デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 02:10:37.00ID:9mOu9R4R0 >>371
ありがとうございます
うーん
難しいな
[絶対値にしたもの、絶対値にしてないもの]を[ ]でひとまとめにする理由は何なんだろう?
console.logを挟んで値を確認しながら考えないとわかりませんね
ありがとうございます
うーん
難しいな
[絶対値にしたもの、絶対値にしてないもの]を[ ]でひとまとめにする理由は何なんだろう?
console.logを挟んで値を確認しながら考えないとわかりませんね
373デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 02:23:13.76ID:9mOu9R4R0 もしかして配列が入れ子になってるんでしょうか?
その後にSx.translate(MOV[0][1], 0)っていうコードが出て来るのですが…
MOV[0][1]の所が意味がわからなかったんですけど、
[[◯,●],[◯,◯],…]の●を指定してるんでしょうか?
その後にSx.translate(MOV[0][1], 0)っていうコードが出て来るのですが…
MOV[0][1]の所が意味がわからなかったんですけど、
[[◯,●],[◯,◯],…]の●を指定してるんでしょうか?
374デフォルトの名無しさん (ワッチョイ abbd-SbnF [49.129.243.33])
2022/12/12(月) 02:45:20.07ID:BD7ZISK00375デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/12(月) 07:38:12.53ID:u3d467jnH >>373が聞いてるのは
translateがJSのcontextの関数なら
translate(100,50)はコンテキスト自体が右に100、下に50移動する
右移動量を絶対値にして移動させるってことかにゃん
translateがJSのcontextの関数なら
translate(100,50)はコンテキスト自体が右に100、下に50移動する
右移動量を絶対値にして移動させるってことかにゃん
376デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 11:24:58.04ID:9mOu9R4R0377デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 11:25:36.96ID:9mOu9R4R0 SEL = activeDocument.selection
PAT = activeDocument.pathItems
STB = app.preferences.getBooleanPreference("includeStrokeInBounds")
MAINfn()
function MAINfn(){
if(SEL.length == 0) return
GUI = []
for(p=0; p<PAT.length; p++) PATfn(PAT[p])
if(GUI.length == 0) return
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
}
function PATfn(Px){
if(!Px.guides) return
Bp = Px.geometricBounds
GUI.push(Bp[0])
GUI.push(Bp[2])
}
PAT = activeDocument.pathItems
STB = app.preferences.getBooleanPreference("includeStrokeInBounds")
MAINfn()
function MAINfn(){
if(SEL.length == 0) return
GUI = []
for(p=0; p<PAT.length; p++) PATfn(PAT[p])
if(GUI.length == 0) return
for(s=0; s<SEL.length; s++) SELfn(SEL[s])
}
function PATfn(Px){
if(!Px.guides) return
Bp = Px.geometricBounds
GUI.push(Bp[0])
GUI.push(Bp[2])
}
378デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 11:26:49.23ID:9mOu9R4R0 function SELfn(Sx){
Bs = BNDfn(Sx)
MOV = []
for(g=0; g<GUI.length; g++){
MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]])
MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]])
}
MOV2 = SORTfn(MOV)
Sx.translate(MOV2[0][1], 0)
}
function SORTfn(f0){
f1 = []
for(i=0; i<f0.length; i++) f1.push(f0[i])
f1.sort(
function(a,b){
if(a[0] < b[0]) return -1
if(a[0] > b[0]) return 1
if(a[0]== b[0]) return 0
}
)
return f1
}
function BNDfn(Bx){
Bz = Bx.geometricBounds
if(STB) Bz = Bx.visibleBounds
if(Bx.clipped) Bz = Bx.pageItems[0].geometricBounds
return Bz
}
Bs = BNDfn(Sx)
MOV = []
for(g=0; g<GUI.length; g++){
MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]])
MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]])
}
MOV2 = SORTfn(MOV)
Sx.translate(MOV2[0][1], 0)
}
function SORTfn(f0){
f1 = []
for(i=0; i<f0.length; i++) f1.push(f0[i])
f1.sort(
function(a,b){
if(a[0] < b[0]) return -1
if(a[0] > b[0]) return 1
if(a[0]== b[0]) return 0
}
)
return f1
}
function BNDfn(Bx){
Bz = Bx.geometricBounds
if(STB) Bz = Bx.visibleBounds
if(Bx.clipped) Bz = Bx.pageItems[0].geometricBounds
return Bz
}
379デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 11:28:43.67ID:9mOu9R4R0 「一番近いガイドに図形を吸着させる」スクリプトです
app.preferences.getBooleanPreferenceは無視してもらっていいです
環境設定の予備的なものなので。
function BNDfn(Bx)以下も環境設定の予備的なものなので無視でいいです
[絶対値と絶対値でないもの]を入れ子にする意味が知りたいです
app.preferences.getBooleanPreferenceは無視してもらっていいです
環境設定の予備的なものなので。
function BNDfn(Bx)以下も環境設定の予備的なものなので無視でいいです
[絶対値と絶対値でないもの]を入れ子にする意味が知りたいです
380デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.250])
2022/12/12(月) 12:27:02.66ID:TCDiz++Hr >>379
配列MOVをソートするSORTfnで[◯,●]の◯を利用してるのは読み取れる?
配列MOVをソートするSORTfnで[◯,●]の◯を利用してるのは読み取れる?
381デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 13:06:21.02ID:9mOu9R4R0 >>380
ソートで利用するために [ , ] の入れ子にしてるだけですか?
ソートで利用するために [ , ] の入れ子にしてるだけですか?
382デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.250])
2022/12/12(月) 13:16:44.67ID:TCDiz++Hr >>381
まず聞かれたことに対してYESかNOで答えようよ
まず聞かれたことに対してYESかNOで答えようよ
383デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 13:25:11.50ID:9mOu9R4R0 >>38
ありがとうございます
わかりました
[◯,●]の◯はソートをするために利用している
絶対値が一番小さい◯を先頭に並べ替えて(距離が一番近い)、それと対になってる●だけtranslateで移動している
ということですね
ありがとうございます
わかりました
[◯,●]の◯はソートをするために利用している
絶対値が一番小さい◯を先頭に並べ替えて(距離が一番近い)、それと対になってる●だけtranslateで移動している
ということですね
384デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 13:25:56.97ID:9mOu9R4R0385デフォルトの名無しさん (ワッチョイ abbd-SbnF [49.129.243.33])
2022/12/12(月) 13:29:27.02ID:BD7ZISK00 余談だが、>>378
sort の比較関数ってわざわざそういうまどろっこしい実装にしてるのをよく見るけど、数値なら
function(a,b){
return a[0] - b[0];
}
でいいのよ。
順序を見る要素が複数あるなら
function(a,b){
let c = a[0] - b[0];
if (c) return c;
c = a[1] - b[1];
if (c) return c;
return a[2] - b[2];
}
とか、短い表現なら
function(a,b){
let c;
if (c = a[0] - b[0]) return c;
if (c = a[1] - b[1]) return c;
return a[2] - b[2];
}
とか。
これをループで回すのも有りかも。
あ、複数要素の比較はあくまで例であって、>>378 のデータ構造とは関係無いよ。
sort の比較関数ってわざわざそういうまどろっこしい実装にしてるのをよく見るけど、数値なら
function(a,b){
return a[0] - b[0];
}
でいいのよ。
順序を見る要素が複数あるなら
function(a,b){
let c = a[0] - b[0];
if (c) return c;
c = a[1] - b[1];
if (c) return c;
return a[2] - b[2];
}
とか、短い表現なら
function(a,b){
let c;
if (c = a[0] - b[0]) return c;
if (c = a[1] - b[1]) return c;
return a[2] - b[2];
}
とか。
これをループで回すのも有りかも。
あ、複数要素の比較はあくまで例であって、>>378 のデータ構造とは関係無いよ。
386デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 13:34:52.14ID:9mOu9R4R0 ガイドが、動かしたいオブジェクトの右にあるか左にあるか確定して無いんですよ
だからMath.absで絶対値にして距離を測ってるのか…
そして配列の入れ子にしてソート
勉強になるな
ここだけ他のスクリプトでも使える
だからMath.absで絶対値にして距離を測ってるのか…
そして配列の入れ子にしてソート
勉強になるな
ここだけ他のスクリプトでも使える
387デフォルトの名無しさん (ワッチョイ abbd-SbnF [49.129.243.33])
2022/12/12(月) 13:39:57.47ID:BD7ZISK00388デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.250])
2022/12/12(月) 13:45:29.13ID:TCDiz++Hr 命名や処理内容を見る限りあまり参考にすべきコードではないように感じる
389デフォルトの名無しさん (ワッチョイ 0b7b-Gb0J [153.178.229.141])
2022/12/12(月) 13:50:47.16ID:8JMA8Bb40390デフォルトの名無しさん (スップ Sd73-IGG8 [1.66.101.52])
2022/12/12(月) 14:04:35.37ID:xvk668V/d 絶対値が一番小さいものを選ぶだけならこんな大掛かりにする必要そもそもない気が
391デフォルトの名無しさん (ラクッペペ MM6b-IK68 [133.106.93.55])
2022/12/12(月) 14:26:01.70ID:qd0QDeFeM392デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/12(月) 14:32:46.45ID:Xk6tQN/c0 イラストレータのappかぃ
393デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.228.150])
2022/12/12(月) 15:49:23.10ID:Ah12aly8r394デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/12(月) 17:14:12.48ID:Xk6tQN/c0 設定でjs使ってるみたいなのでjsスレで質問してるようだけどスレチのような・・・
395デフォルトの名無しさん (ワッチョイ 0bcf-FUlb [153.174.224.39])
2022/12/12(月) 17:18:01.39ID:RmZ1ojDx0 オブジェクトの配列にすれば分かりやすいな
396デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/12(月) 17:19:55.56ID:Xk6tQN/c0397デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 20:05:16.68ID:9mOu9R4R0 >>396
CG板のIllustratorスレはわかりませんが、DTP板のIllustratorスレではscriptがわかる人が1人くらいしか居ません
たまたまその人が居なかったら、何日も放置になってしまうし…
ここの人たちの方がscriptのメソッドとかもほとんどわかるし
Illustratorの図形といっても、xy座標に図形が並んでるだけの、ほとんど移動する時の足し算と引き算だけです
CG板のIllustratorスレはわかりませんが、DTP板のIllustratorスレではscriptがわかる人が1人くらいしか居ません
たまたまその人が居なかったら、何日も放置になってしまうし…
ここの人たちの方がscriptのメソッドとかもほとんどわかるし
Illustratorの図形といっても、xy座標に図形が並んでるだけの、ほとんど移動する時の足し算と引き算だけです
398デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 20:10:18.24ID:9mOu9R4R0 [◯,●]の◯をソートのために利用してるなんて、独りで考えてたら絶対思い付かなかったと思います
399デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/12(月) 20:14:44.98ID:u3d467jnH400デフォルトの名無しさん (ワッチョイ 13bd-SbnF [125.194.54.89])
2022/12/12(月) 20:37:06.98ID:9eo7KahL0 >>398
ソートの手法としては収穫があったようでなにより。
でも他にも指摘があるように、アルゴリズムとしては今一つだから全体としてはあまり参考にするほどじゃないと思う。
それは距離の一番小さい相手を探す方法として距離でソートしてその一番最初を採るという手順を使ってるよね。
でも、最初から距離が一番小さいものを探せばループ 1回で答えが出る。
こんなかんじ?
function SELfn(Sx) {
Bs = BNDfn(Sx);
dmin = 99999
dsel = 0
for(g = 0; g < GUI.length; g++) {
for (b = 0; b <= 2; b += 2) {
d = GUI[g] - Bs[b]
a = Math.abs(d)
if (a < dmin) {
dmin = a
dsel = d
}
}
if (dmin < 99999) Sx.translate(dsel, 0)
}
ソートの手法としては収穫があったようでなにより。
でも他にも指摘があるように、アルゴリズムとしては今一つだから全体としてはあまり参考にするほどじゃないと思う。
それは距離の一番小さい相手を探す方法として距離でソートしてその一番最初を採るという手順を使ってるよね。
でも、最初から距離が一番小さいものを探せばループ 1回で答えが出る。
こんなかんじ?
function SELfn(Sx) {
Bs = BNDfn(Sx);
dmin = 99999
dsel = 0
for(g = 0; g < GUI.length; g++) {
for (b = 0; b <= 2; b += 2) {
d = GUI[g] - Bs[b]
a = Math.abs(d)
if (a < dmin) {
dmin = a
dsel = d
}
}
if (dmin < 99999) Sx.translate(dsel, 0)
}
401デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.54])
2022/12/12(月) 20:39:31.01ID:fufRX2ZEr402デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/12(月) 22:12:32.05ID:9mOu9R4R0403デフォルトの名無しさん (ワッチョイ 39bd-SbnF [220.144.111.189])
2022/12/13(火) 02:24:56.21ID:IRSJsHbF0404デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]])
2022/12/13(火) 11:11:56.07ID:dgxg9m7O0 >>403
こうですか?
function SELfn(Sx) {
Bs = BNDfn(Sx);
dmin = 99999
dsel = 0
for(g = 0; g < GUI.length; g++) {
for (b = 0; b <= 2; b += 2) {
d = GUI[g] - Bs[b]
a = Math.abs(d)
if (a < dmin) {
dmin = a
dsel = d
}
}
}
if (dmin < 99999) Sx.translate(dsel, 0)
}
こうですか?
function SELfn(Sx) {
Bs = BNDfn(Sx);
dmin = 99999
dsel = 0
for(g = 0; g < GUI.length; g++) {
for (b = 0; b <= 2; b += 2) {
d = GUI[g] - Bs[b]
a = Math.abs(d)
if (a < dmin) {
dmin = a
dsel = d
}
}
}
if (dmin < 99999) Sx.translate(dsel, 0)
}
405デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/13(火) 12:03:25.74ID:l4PFzl7S0 君、プロトタイプをやりたまえ。
406デフォルトの名無しさん (オイコラミネオ MM75-SbnF [150.66.82.245])
2022/12/13(火) 14:26:18.57ID:LSRhZVzxM >>404
そそ
そそ
407デフォルトの名無しさん (スップ Sd33-Opz5 [49.97.102.17])
2022/12/13(火) 16:55:31.25ID:kcuzrobtd プロトタイプとは何なのかを教え給え
クラスとかコンストラクタを書くんじゃなくて、『function hoge(a, b){}』にプロパティやメソッドや戻り値定義すればいいの?
クラスとかコンストラクタを書くんじゃなくて、『function hoge(a, b){}』にプロパティやメソッドや戻り値定義すればいいの?
408デフォルトの名無しさん (ワッチョイ 7901-T62F [60.69.186.142])
2022/12/13(火) 18:39:15.95ID:pwiPw3z60 >>407
プロパティを参照する時、「対象オブジェクトの直属のプロパティ」だけでなく、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティも検索対象となる仕組みを「プロトタイプチェーン」という
プロパティを参照する時、「対象オブジェクトの直属のプロパティ」だけでなく、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティも検索対象となる仕組みを「プロトタイプチェーン」という
409デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/13(火) 19:12:20.42ID:cf0t5w5pH >>408
プロパティを参照する時、対象オブジェクトの直属にプロパティへの参照がない場合、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティへの参照を走査する仕組みを「プロトタイプチェーン」という
なお[[Prototype]]はnewで生成される親のprototypeへの参照が格納されるが、動的に[[Prototype]]をセットすることもできる
でどうでしょう?
プロパティを参照する時、対象オブジェクトの直属にプロパティへの参照がない場合、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティへの参照を走査する仕組みを「プロトタイプチェーン」という
なお[[Prototype]]はnewで生成される親のprototypeへの参照が格納されるが、動的に[[Prototype]]をセットすることもできる
でどうでしょう?
410デフォルトの名無しさん (ワッチョイ 7901-T62F [60.69.186.142])
2022/12/13(火) 20:14:40.67ID:pwiPw3z60411デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/13(火) 20:36:49.94ID:cf0t5w5pH412デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/13(火) 22:34:12.05ID:cf0t5w5pH413デフォルトの名無しさん (ワッチョイ 7901-T62F [60.69.186.142])
2022/12/14(水) 00:03:47.61ID:+gEopm0Q0 >>411-412
プロトタイプベースとクラスベースの違いを理解することから始めよう
https://www.google.com/search?q=%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9&ie=UTF-8
親クラス、子クラス、継承は、クラスベース由来の用語
多くのサイトでクラスベースに慣れた人用に使われている用語だが、クラスベースのつもりで受け取ると誤った機能理解に繋がる
クラスベースはインスタンス生成時に親クラスを複製するが、プロトタイプベースは複製しない
プロトタイプベースはプロトタイプに手を加えると「全てのプロトタイプを元にしたオブジェクト」に影響する
「継承」や「クラス」という用語を使うのは問題ないが、プロトタイプでどのように継承やクラスを実装しているのかは理解する必要がある
プロトタイプベースとクラスベースの違いを理解することから始めよう
https://www.google.com/search?q=%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9&ie=UTF-8
親クラス、子クラス、継承は、クラスベース由来の用語
多くのサイトでクラスベースに慣れた人用に使われている用語だが、クラスベースのつもりで受け取ると誤った機能理解に繋がる
クラスベースはインスタンス生成時に親クラスを複製するが、プロトタイプベースは複製しない
プロトタイプベースはプロトタイプに手を加えると「全てのプロトタイプを元にしたオブジェクト」に影響する
「継承」や「クラス」という用語を使うのは問題ないが、プロトタイプでどのように継承やクラスを実装しているのかは理解する必要がある
414デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/14(水) 00:19:25.91ID:Dbkp4Og+0 プロトタイプ最強伝説!
415デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/14(水) 07:32:29.92ID:r+idjll+H protptypeを使い、new演算子でインスタンスを継承でき、
さらにプロトタイプチェーンで始祖子孫を関連付けられるのに
親子関係という概念はJSにはないんですねー
さらにプロトタイプチェーンで始祖子孫を関連付けられるのに
親子関係という概念はJSにはないんですねー
416デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89])
2022/12/14(水) 07:55:29.99ID:r+idjll+H ちょっと調べてみたけど、JSに親子関係は存在しない、的な記事はない
MDNには親子表現はないけれど、JSの継承で親子表現してる記事は多数ある
親子関係はクラスの拡張、実装、インスタンス生成でも使われるけど
親子関係自体を定義した言語なんて存在しない、あくまで機能の表現方法
であるにもかかわらず、プロトタイプ言語に親子関係が存在しないというのは
どこかにそういう記述があると思うのですが、参照場所を教えていただけませんか?
MDNには親子表現はないけれど、JSの継承で親子表現してる記事は多数ある
親子関係はクラスの拡張、実装、インスタンス生成でも使われるけど
親子関係自体を定義した言語なんて存在しない、あくまで機能の表現方法
であるにもかかわらず、プロトタイプ言語に親子関係が存在しないというのは
どこかにそういう記述があると思うのですが、参照場所を教えていただけませんか?
417デフォルトの名無しさん (ワッチョイ 0bcf-FUlb [153.174.224.39])
2022/12/14(水) 12:33:00.70ID:3zhhSsQg0 プロトタイプベースでは、親ではなく雛形という概念を用いる(それこそがプロトタイプ)
JavaScriptはプロトタイプベースのオブジェクト指向言語の代表格だが
その JavaScriptにも、ES2015(ES6) でクラスベース構文が導入されたので、
使い手の側としては、思想・概念・用語が入り乱れる事になったのかも知れません
JavaScriptはプロトタイプベースのオブジェクト指向言語の代表格だが
その JavaScriptにも、ES2015(ES6) でクラスベース構文が導入されたので、
使い手の側としては、思想・概念・用語が入り乱れる事になったのかも知れません
418デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/14(水) 13:15:16.28ID:U8xYt1Js0 あらためてMDNを概覧しましたが
417さんの力説されているとおりかもしれませんね
今後はご指摘の件、頭にいれながら勉強します
ながながとありがとうございます!今後ともよろしくです
417さんの力説されているとおりかもしれませんね
今後はご指摘の件、頭にいれながら勉強します
ながながとありがとうございます!今後ともよろしくです
419デフォルトの名無しさん (JP 0Hed-Opz5 [210.228.21.53])
2022/12/14(水) 14:22:13.24ID:dv/CWk9JH 個人的にクラス≒雛形って考えだからプロトタイプはわかるけどクラスベースがわからなかった
「雛形クローンして用意してあるの変えるだけだろ?」って
「雛形クローンして用意してあるの変えるだけだろ?」って
420デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73])
2022/12/15(木) 01:00:33.27ID:z3rBZpFn0 >>418
よくぞ言った、プロトタイプ使徒よ!
よくぞ言った、プロトタイプ使徒よ!
421デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219])
2022/12/16(金) 14:16:16.56ID:wrcGLpVa0 みんなはフレームワーク使ってる?
それともJS直接使ってる?
それともJS直接使ってる?
422デフォルトの名無しさん (ラクッペペ MM6b-IK68 [133.106.94.126])
2022/12/16(金) 14:22:39.89ID:C3ZoQFlkM お前から発表しろよ
アンケートだから職種、年俸、年齢、結婚歴は必須な
アンケートだから職種、年俸、年齢、結婚歴は必須な
423デフォルトの名無しさん (ワッチョイ 6edb-e5AJ [217.178.96.73])
2022/12/17(土) 12:10:49.73ID:kI1nA3xa0424デフォルトの名無しさん (ワッチョイ cdf0-JDfe [58.98.96.219])
2022/12/17(土) 13:15:46.84ID:OiGNBIp60 質問させてください
<style>
#d1,#d2{ color:blue}
</style>
<div id="d1"></div>
<div id="d2"></div>
<script>
</script>
JSで、<style>内の#d1,#d2セレクタの設定を編集したいのですが
特定のセレクタ部分だけを取得して変更ってできますか?
<style>
#d1,#d2{ color:blue}
</style>
<div id="d1"></div>
<div id="d2"></div>
<script>
</script>
JSで、<style>内の#d1,#d2セレクタの設定を編集したいのですが
特定のセレクタ部分だけを取得して変更ってできますか?
425デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.69.186.142])
2022/12/17(土) 13:44:50.71ID:ycEukJwD0426デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.69.186.142])
2022/12/17(土) 13:49:34.17ID:ycEukJwD0427デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.69.186.142])
2022/12/17(土) 13:53:37.75ID:ycEukJwD0428デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/17(土) 20:57:11.28ID:/rkC0QGzH429デフォルトの名無しさん (ワッチョイ 694b-7xCh [110.2.215.28 [上級国民]])
2022/12/17(土) 22:30:28.67ID:8Q1kFIoR0 if(A1[1] == A1[3]){
A0C = (A0[3]+A0[1])/2;
A1C = (A1[3]+A1[1])/2;
Ty = A1C - A0C;
X1[0].translate(0,Ty);
} else {
dofn3();
}
このif文ですが、A1[1]とA1[3]の誤差がプラスマイナス0.5までならtrueというふうに変えたいんですけど、どう書き換えれば良いでしょうか?
今のままだとA1[1]とA1[3]ともに小数点以下10桁くらいあって条件が厳し過ぎるんですよね
手違いでちょっとずれて作ってしまうこともあるので、その場合はtrueにしたいのです
A0C = (A0[3]+A0[1])/2;
A1C = (A1[3]+A1[1])/2;
Ty = A1C - A0C;
X1[0].translate(0,Ty);
} else {
dofn3();
}
このif文ですが、A1[1]とA1[3]の誤差がプラスマイナス0.5までならtrueというふうに変えたいんですけど、どう書き換えれば良いでしょうか?
今のままだとA1[1]とA1[3]ともに小数点以下10桁くらいあって条件が厳し過ぎるんですよね
手違いでちょっとずれて作ってしまうこともあるので、その場合はtrueにしたいのです
430デフォルトの名無しさん (ワッチョイ 6ebb-fz0m [217.178.152.148])
2022/12/17(土) 22:40:09.17ID:on9KAdJq0 A1[1]とA1[3]の差が絶対値で0.5までって書けばいいんじゃないの?
431デフォルトの名無しさん (ワッチョイ 694b-7xCh [110.2.215.28 [上級国民]])
2022/12/17(土) 22:44:13.88ID:8Q1kFIoR0 A1[1]==A1[3]は、四角形の左上のY座標A1[1]と右下のY座標A1[3]が同じだから、直線という意味です
でもこの2点を上下0.5くらい余裕を持たせたいんです
間違って微妙に斜めに線を引いてしまうこともあるので
でもこの2点を上下0.5くらい余裕を持たせたいんです
間違って微妙に斜めに線を引いてしまうこともあるので
432デフォルトの名無しさん (ワッチョイ 694b-7xCh [110.2.215.28 [上級国民]])
2022/12/17(土) 22:45:31.22ID:8Q1kFIoR0433デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.246.6])
2022/12/17(土) 22:45:36.51ID:t7AYft2Wr434デフォルトの名無しさん (ワッチョイ eecf-DiWi [153.174.224.39])
2022/12/17(土) 22:47:25.94ID:t4TbQFP40 このスレは、回答者の腕試しの意味もあるから
435デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201])
2022/12/17(土) 23:01:46.75ID:nEwVWz8Q0 正直このレベルの質問に答える必要が無いと思うが・・・
範囲でif文を書く事とかすら考えつかないレベルでこの先やっていける訳無いやんw
範囲でif文を書く事とかすら考えつかないレベルでこの先やっていける訳無いやんw
436デフォルトの名無しさん (ワッチョイ 02bd-VALE [125.198.8.44])
2022/12/17(土) 23:10:51.36ID:2CNUWbJ80 >>435
こういうちょっとしたきっかけで他の思い付きができるようになることもあるしね
こういうちょっとしたきっかけで他の思い付きができるようになることもあるしね
437デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/18(日) 12:44:32.64ID:uPN+O46jH >>427
様、ありがとうございました。
CSSのスタイル設定プロパティをJSで編集できました。
CSSRulesは配列で返ってきますが
cssRules['div'].color='blue'
のように、プロパティ名で編集する方法はありませんでしょうか?
様、ありがとうございました。
CSSのスタイル設定プロパティをJSで編集できました。
CSSRulesは配列で返ってきますが
cssRules['div'].color='blue'
のように、プロパティ名で編集する方法はありませんでしょうか?
438デフォルトの名無しさん (オッペケ Sr11-H8w4 [126.156.146.161])
2022/12/18(日) 14:19:43.57ID:6JZ/0f38r jQuery使えばできます
439デフォルトの名無しさん (ワッチョイ 2101-SK8t [60.88.226.164])
2022/12/19(月) 12:00:53.42ID:KEwe+Jaf0440デフォルトの名無しさん (ワッチョイ cdf0-JDfe [58.98.96.219])
2022/12/19(月) 14:10:45.85ID:GaFatWVX0441デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.74.80])
2022/12/19(月) 21:50:19.67ID:K0fHbKFE0 https://developer.mozilla.org/ja/docs/Web/API/CSSStyleDeclaration/setProperty
let style = document.styleSheets[0].cssRules[0].style;
style.fontSize = "1em";
// style.setProperty("font-size", "1em");
let style = document.styleSheets[0].cssRules[0].style;
style.fontSize = "1em";
// style.setProperty("font-size", "1em");
442デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/21(水) 07:34:30.54ID:nEbzRDrKH >>441
ありがとうございます。
let styleの呼び出し箇所を関数にして
selector名のオブジェクトを生成し、その中にプロパティ名とvalueを格納して呼び出すような
簡易的な関数を作成してみます
年末のお忙しいとろ、アドバイスありがとうございました。
ありがとうございます。
let styleの呼び出し箇所を関数にして
selector名のオブジェクトを生成し、その中にプロパティ名とvalueを格納して呼び出すような
簡易的な関数を作成してみます
年末のお忙しいとろ、アドバイスありがとうございました。
443デフォルトの名無しさん (ワッチョイ 694b-7xCh [110.2.215.28 [上級国民]])
2022/12/21(水) 16:52:58.12ID:9yhxJASu0 小数点第4位を四捨五入するのは、parseFloat(a.toFixed(3))と Math.round(a*1000)/1000のどっちがいいでしょうか?
444デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/21(水) 19:18:04.39ID:nEbzRDrKH 連日すみません。
<link rel="stylesheet" src>で読み込んだcssの
cssStylesheetプロパティにアクセスする方法を教えていただけないでしょうか?
<link rel="stylesheet" src>で読み込んだcssの
cssStylesheetプロパティにアクセスする方法を教えていただけないでしょうか?
445デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201])
2022/12/21(水) 21:53:16.64ID:paD1IZJK0 ちょっとググれば出てくるような情報までくれって言うのか?
446デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/21(水) 22:46:02.69ID:nEbzRDrKH すみません、ちょっとググってみます
447デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201])
2022/12/21(水) 23:16:30.68ID:paD1IZJK0 どうしても分からないならchromeのDevToolsのConsoleで
document.styleSheets
って打ってみれば中身が全て見れる
中身見ても意味不明な場合はやりたいことは出来ないかも
document.styleSheets
って打ってみれば中身が全て見れる
中身見ても意味不明な場合はやりたいことは出来ないかも
448デフォルトの名無しさん (ワッチョイ 6edb-e5AJ [217.178.96.73])
2022/12/21(水) 23:34:53.49ID:PQinZhLm0 jQuery最強伝説。
449デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/22(木) 07:18:15.65ID:slpViawnH450デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/22(木) 07:21:31.78ID:slpViawnH >>447
すみません、訂正です
document.styleSheetで参照すると
document.styleSheet.cssRulesがnullとなってしまうんです
document.styleSheetで登録されるのは
同じファイル内のスタイルだけのよう?
他のcssファイルに書かれたスタイルを操作するには
どうしたらいいのでしょうか?
に訂正願います
すみません、訂正です
document.styleSheetで参照すると
document.styleSheet.cssRulesがnullとなってしまうんです
document.styleSheetで登録されるのは
同じファイル内のスタイルだけのよう?
他のcssファイルに書かれたスタイルを操作するには
どうしたらいいのでしょうか?
に訂正願います
451デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.70.28])
2022/12/22(木) 07:48:35.40ID:YtaOqG2C0 document.styleSheetsの最後のs抜かしてないよな
document.styleSheets[0] みたいにインデックス使わないと参照できないぞ
document.styleSheets[0] みたいにインデックス使わないと参照できないぞ
452デフォルトの名無しさん (ワッチョイ eecf-DiWi [153.174.224.39])
2022/12/22(木) 09:18:28.13ID:N0yJkasM0 本当にやりたいのは、特定の要素のstyleを弄ることじゃないの?
453デフォルトの名無しさん (スッップ Sda2-5Liq [49.98.152.128])
2022/12/22(木) 13:29:52.00ID:kUDazAkOd ワードプレスとかいうアレをイジってると特定idの親にスタイル変更したいとかはでてくる
454デフォルトの名無しさん (ワッチョイ 1961-x3o1 [222.144.111.42])
2022/12/22(木) 17:03:26.78ID:J4HXq2Du0 よほどのことがなければ元ルールを直に書き変えるなんてしないよなぁ
cssRulesはクロスオリジンだとアクセスできないし
cssRulesはクロスオリジンだとアクセスできないし
455デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/22(木) 19:14:24.29ID:slpViawnH みなさん、ありがとうございます。
関連した質問なのですが
cssが要素に適用される仕組みは
1:
<style>タグを読み込んだり<link ref>を読み込んだ時点で
ブラウザ実行環境にcssプロパティを記録して、セレクタを読み込んだ時に適用するのでしょうか?
それとも
2:
HTMLの要素を読み込んだ時に<style>タグや<link>先に走査して
cssの適用があるかを確認して適用する
なのでしょうか?
もし1なら、クライアントブラウザからアクセスできるような気がするのですけど
もし教えていただけるようでしたらご指導お願いします
関連した質問なのですが
cssが要素に適用される仕組みは
1:
<style>タグを読み込んだり<link ref>を読み込んだ時点で
ブラウザ実行環境にcssプロパティを記録して、セレクタを読み込んだ時に適用するのでしょうか?
それとも
2:
HTMLの要素を読み込んだ時に<style>タグや<link>先に走査して
cssの適用があるかを確認して適用する
なのでしょうか?
もし1なら、クライアントブラウザからアクセスできるような気がするのですけど
もし教えていただけるようでしたらご指導お願いします
456デフォルトの名無しさん (オッペケ Sr11-y+PC [126.208.237.5])
2022/12/22(木) 20:32:53.94ID:NthFDCjcr457デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/23(金) 07:08:17.10ID:OG24yN7PH458デフォルトの名無しさん (ワッチョイ 2101-eq55 [60.103.75.178])
2022/12/23(金) 08:30:41.88ID:d3IbDeU70 >>454 でクロスオリジンの場合にnullになるって指摘されてるけど、これに引っかかってるだけじゃないかな
この場合はどうにもならんと思う
この場合はどうにもならんと思う
459デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.246.38])
2022/12/23(金) 10:44:42.21ID:Lv24OjDar >>457
ブラウザのコンソールで↓を実行したらどうなる?
for(const ss of document.styleSheets){console.log(ss.href); console.log(ss.cssRules);}
ブラウザのコンソールで↓を実行したらどうなる?
for(const ss of document.styleSheets){console.log(ss.href); console.log(ss.cssRules);}
460デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201])
2022/12/23(金) 17:28:12.54ID:o+ONuUnd0 >>458で指摘している通り、他の所から読み込んだスタイルはそもそも変更出来ないって書いてあるんじゃね?
https://w3c.github.io/csswg-drafts/cssom/
> Cross-origin stylesheets are not allowed to be read or changed.
>>459のように実際にcssRulesにアクセスすると自分の所のcssじゃない場合をアクセスしようとすると
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at <anonymous>:1:76
みたいなエラーになる
cssをいじりたいのだろうけど、そういう低層の話じゃなくて本当にやりたい事を書いた方が答えが得られると思うよ
結局何がやりたいのか全く分からんw
https://w3c.github.io/csswg-drafts/cssom/
> Cross-origin stylesheets are not allowed to be read or changed.
>>459のように実際にcssRulesにアクセスすると自分の所のcssじゃない場合をアクセスしようとすると
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at <anonymous>:1:76
みたいなエラーになる
cssをいじりたいのだろうけど、そういう低層の話じゃなくて本当にやりたい事を書いた方が答えが得られると思うよ
結局何がやりたいのか全く分からんw
461デフォルトの名無しさん (ワッチョイ 427c-e5AJ [43.235.241.201])
2022/12/23(金) 17:30:32.01ID:o+ONuUnd0 変な日本語になってるなw
>>459のように実際に自分の所のでは無いcssRulesをアクセスしようとすると
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at <anonymous>:1:76
みたいなエラーになる
>>459のように実際に自分の所のでは無いcssRulesをアクセスしようとすると
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at <anonymous>:1:76
みたいなエラーになる
462デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/23(金) 19:30:29.91ID:OG24yN7PH >>458
459,460,461
皆様ありがとうございます
具体的にこれをしたいというのはなかったんですけど
js勉強していまして、そういうことできるのかな?という質問でした
jsのエンジンは<link rel>を実行すると
jsの実行コンテキストを記録するメモリ部分に
<rel>の情報をロードして
HTML要素を読み込んだ時に参照するという挙動なら
クロスオリジンの適用を受けずに編集できるかなと
そういう疑問も持ちまして質問させていただきました
皆様ありがとうございました
459,460,461
皆様ありがとうございます
具体的にこれをしたいというのはなかったんですけど
js勉強していまして、そういうことできるのかな?という質問でした
jsのエンジンは<link rel>を実行すると
jsの実行コンテキストを記録するメモリ部分に
<rel>の情報をロードして
HTML要素を読み込んだ時に参照するという挙動なら
クロスオリジンの適用を受けずに編集できるかなと
そういう疑問も持ちまして質問させていただきました
皆様ありがとうございました
463デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.240.154])
2022/12/23(金) 20:54:13.31ID:2ps+kI7qr464デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/23(金) 20:55:49.05ID:OG24yN7PH >>460
今勉強再開して思い出しました。
@keyframesのプロパティや値を
動的に変更したいと考えたのです
同じファイルなら
<style id="st">
として、stから@keyframesを設定編集できますが
外部ファイルでの設定編集ができないので
できたらいいな、って質問してみました
今勉強再開して思い出しました。
@keyframesのプロパティや値を
動的に変更したいと考えたのです
同じファイルなら
<style id="st">
として、stから@keyframesを設定編集できますが
外部ファイルでの設定編集ができないので
できたらいいな、って質問してみました
465デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/23(金) 20:57:53.66ID:OG24yN7PH >>463
勘違い、混乱してました。ありがとうございます!
勘違い、混乱してました。ありがとうございます!
466デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.240.154])
2022/12/23(金) 21:10:25.93ID:2ps+kI7qr467デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89])
2022/12/23(金) 21:19:54.48ID:OG24yN7PH >>466
ローカルで、同じフォルダ内です
ローカルで、同じフォルダ内です
468デフォルトの名無しさん (ワッチョイ 1961-x3o1 [222.144.111.42])
2022/12/23(金) 21:28:01.20ID:G5aj5uG70 @keyframesなんかも後のスタイルで再定義できるんだから
DOMにstyle要素追加してそこに上書きルール突っ込んでそっちを操作すればいいじゃない
DOMにstyle要素追加してそこに上書きルール突っ込んでそっちを操作すればいいじゃない
469デフォルトの名無しさん (オッペケ Sr11-y+PC [126.194.240.154])
2022/12/23(金) 21:39:17.88ID:2ps+kI7qr470デフォルトの名無しさん (ワッチョイ eecf-DiWi [153.174.224.39])
2022/12/23(金) 21:55:43.41ID:gwhrrj9D0 DevTools を弄れるなら、要素タブでスタイル欄を見れば
適用内容と設定元のファイルが行番号付きで確認できるし
アニメーションを弄りたいなら、「その他のツール」に「アニメーション」がある(chrome)
適用内容と設定元のファイルが行番号付きで確認できるし
アニメーションを弄りたいなら、「その他のツール」に「アニメーション」がある(chrome)
471デフォルトの名無しさん (ワッチョイ 1df0-aH43 [58.98.96.219])
2022/12/24(土) 09:52:50.24ID:Lk0KbRC60 皆様いろいろありがとうございます
時間とれましたら確認させていただきます
時間とれましたら確認させていただきます
472デフォルトの名無しさん (オッペケ Sr37-r/3v [126.208.236.65])
2022/12/24(土) 10:46:15.28ID:se6E0pPpr473デフォルトの名無しさん (ワッチョイ b661-s0Sd [61.199.41.250])
2022/12/24(土) 14:27:49.26ID:0WYu35VL0 firefoxもsecurity.fileuri.strict_origin_policyをfalseにすれば回避できるけど
早いうちにローカルサーバ立てることを覚えた方が後が楽になると思うよ
対象要素が1つなら@keyframes書き換えるよりWebAnimationAPI使った方がいいかもしれないし
やりたいことはぼかさずにはっきり書いた方がいいよ
早いうちにローカルサーバ立てることを覚えた方が後が楽になると思うよ
対象要素が1つなら@keyframes書き換えるよりWebAnimationAPI使った方がいいかもしれないし
やりたいことはぼかさずにはっきり書いた方がいいよ
474デフォルトの名無しさん (ワッチョイ ef79-EkqE [220.150.90.192])
2022/12/24(土) 22:49:22.50ID:oMpeQZG30 HTA(hta+ie)にとって替わるみたいな環境っていまだにないのかな
PWAみたいのではなく、javascript(やvbs)でWindowsのフレームワーク(.NETやCOMやら)と連携できるようなやつが欲しい
WebView2は思想的にHTAと比べて退化してるようにしか見えないけどこれぐらいなのか…
PWAみたいのではなく、javascript(やvbs)でWindowsのフレームワーク(.NETやCOMやら)と連携できるようなやつが欲しい
WebView2は思想的にHTAと比べて退化してるようにしか見えないけどこれぐらいなのか…
475デフォルトの名無しさん (ワッチョイ fabd-ejFo [221.171.102.246])
2022/12/25(日) 03:50:26.67ID:Y7ZN657d0 >>474
そういや前はちょっとしたツールを HTA で書いたりしたけど、もう使えない?
そういや前はちょっとしたツールを HTA で書いたりしたけど、もう使えない?
476デフォルトの名無しさん (JP 0H88-aH43 [126.249.157.89])
2022/12/25(日) 12:52:51.27ID:GFtl9gAsH 皆さん、ありがとうございます
別シートのcssで可変にしたい部分を変数にし
読み込むシート側に変数専用のstyleタグを用意し
変数用のスタイルタグを編集することにしました
皆様いろいろとありがとうございました
別シートのcssで可変にしたい部分を変数にし
読み込むシート側に変数専用のstyleタグを用意し
変数用のスタイルタグを編集することにしました
皆様いろいろとありがとうございました
477デフォルトの名無しさん (オッペケ Sr37-r/3v [126.208.229.48])
2022/12/25(日) 13:14:34.27ID:g8CAn8EMr 要するにクロスオリジン問題を解決して>>450を実現したのではなくて
別の方法を取ったということ?
別の方法を取ったということ?
478デフォルトの名無しさん (JP 0H88-aH43 [126.249.157.89])
2022/12/25(日) 13:37:10.68ID:GFtl9gAsH そうです
>>468様のアドバイスなら
私の学習レベルでもググり時間とられずにできそうだと思いまして
style.css
@keyframes xxx{ *** : var(--prm) }
index.html
<style id="prm"></style>
<script>
prm.innerHTML=":root {--prm:50% }"
のように、変数を編集するstyleタグを設けました
見栄え悪いしかっこ悪いんですけど
いろんな変数を設定変更する関数も自作できそうですので
とりあえずはこれでいいかなと
>>468様のアドバイスなら
私の学習レベルでもググり時間とられずにできそうだと思いまして
style.css
@keyframes xxx{ *** : var(--prm) }
index.html
<style id="prm"></style>
<script>
prm.innerHTML=":root {--prm:50% }"
のように、変数を編集するstyleタグを設けました
見栄え悪いしかっこ悪いんですけど
いろんな変数を設定変更する関数も自作できそうですので
とりあえずはこれでいいかなと
479デフォルトの名無しさん (ワッチョイ 1e61-3CYd [180.23.194.154])
2022/12/25(日) 14:26:34.39ID:kQ0MTzKr0 >>478
それならわざわざstyle要素作って直に操作する必要はない
変数の最初の定義もcssファイルの方に書いておいて
変更したい時は
document.documentElement.style.setProperty("--prm", "100%");
とかすればいいだけ
それならわざわざstyle要素作って直に操作する必要はない
変数の最初の定義もcssファイルの方に書いておいて
変更したい時は
document.documentElement.style.setProperty("--prm", "100%");
とかすればいいだけ
480デフォルトの名無しさん (JP 0H88-aH43 [126.249.157.89])
2022/12/25(日) 15:40:19.02ID:GFtl9gAsH481デフォルトの名無しさん (オッペケ Srd9-r/3v [126.194.247.243])
2022/12/25(日) 16:48:37.78ID:sJzx1gQhr482デフォルトの名無しさん (JP 0H88-aH43 [126.249.157.89])
2022/12/25(日) 16:50:28.05ID:GFtl9gAsH >>479様
面白かったです。
<html><head><body><div>
どの要素にでも、setProperty('param','value')を設定しておけば
別ファイルに作ったスタイルシートの変数を参照できるのですね
疑似的なコードですが
<script>
body.setProperty('--color','red')
div.setProperty('--color','blue')
html.setProperty('--color','green)
とすると、子孫のスタイル設定が優先されることも理解できました
とても面白く学習できました、ありがとうございました
面白かったです。
<html><head><body><div>
どの要素にでも、setProperty('param','value')を設定しておけば
別ファイルに作ったスタイルシートの変数を参照できるのですね
疑似的なコードですが
<script>
body.setProperty('--color','red')
div.setProperty('--color','blue')
html.setProperty('--color','green)
とすると、子孫のスタイル設定が優先されることも理解できました
とても面白く学習できました、ありがとうございました
483デフォルトの名無しさん (JP 0H88-aH43 [126.249.157.89])
2022/12/25(日) 16:51:23.54ID:GFtl9gAsH484デフォルトの名無しさん (スプッッ Sd5e-HEC+ [1.75.242.54])
2022/12/25(日) 17:00:33.10ID:gv3ThvO8d もう解決したんだしどうでもいいからお礼だけ言って体よく話を打ち切りたいって思いがヒシヒシ伝わってくるな
485デフォルトの名無しさん (ワッチョイ 1df0-aH43 [58.98.96.219])
2022/12/26(月) 13:51:42.59ID:fuxINEHv0 >>469様
Live serverを使って、別のスタイルシートで設定した、フォント色の変更はOKでした。
ありがとうございました。
ただ、@keyframesに関しては、CSSKeyframeRule__{keyText..,style,,cssText,,}__までは見れたのですが
内容の変更方法が分からないため断念しました
時間あるときに再チャレンジしてみます
皆様ありがとうございました
Live serverを使って、別のスタイルシートで設定した、フォント色の変更はOKでした。
ありがとうございました。
ただ、@keyframesに関しては、CSSKeyframeRule__{keyText..,style,,cssText,,}__までは見れたのですが
内容の変更方法が分からないため断念しました
時間あるときに再チャレンジしてみます
皆様ありがとうございました
486デフォルトの名無しさん (ワッチョイ 114b-+VVc [110.2.215.28 [上級国民]])
2022/12/26(月) 15:01:08.23ID:pO4MU7IP0 var ptEQ = 25.4 / 72;
var SWmm = 0;
mainfn();
function mainfn() {
win1 = new Window('dialog', "Set Strokewidth");
win1.pnl = win1.add('panel');
win1.pnl.orientation = "column";
pg1 = win1.pnl.add('group');
pg1.orientation = "row";
pg1.add("statictext", [0, 0, 140, 23], "線幅を選択してください");
pg2 = win1.pnl.add('group');
rd21 = pg2.add("dropdownlist", [20, 40, 150, 65], ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm",
"0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"
]);
rd21.selection = 0;
pg9 = win1.pnl.add('group');
pg9.orientation = "row";
CAN = pg9.add("button", [0, 0, 100, 30], "cancel");
OK = pg9.add("button", [0, 0, 100, 30], "OK");
CAN.onClick = function() {
win1.close()
}
OK.onClick = function() {
win1.close();
dofn();
}
win1.show();
}
var SWmm = 0;
mainfn();
function mainfn() {
win1 = new Window('dialog', "Set Strokewidth");
win1.pnl = win1.add('panel');
win1.pnl.orientation = "column";
pg1 = win1.pnl.add('group');
pg1.orientation = "row";
pg1.add("statictext", [0, 0, 140, 23], "線幅を選択してください");
pg2 = win1.pnl.add('group');
rd21 = pg2.add("dropdownlist", [20, 40, 150, 65], ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm",
"0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"
]);
rd21.selection = 0;
pg9 = win1.pnl.add('group');
pg9.orientation = "row";
CAN = pg9.add("button", [0, 0, 100, 30], "cancel");
OK = pg9.add("button", [0, 0, 100, 30], "OK");
CAN.onClick = function() {
win1.close()
}
OK.onClick = function() {
win1.close();
dofn();
}
win1.show();
}
487デフォルトの名無しさん (ワッチョイ 114b-+VVc [110.2.215.28 [上級国民]])
2022/12/26(月) 15:02:39.66ID:pO4MU7IP0 function dofn() {
var SWmmS = rd21.selection.text;
var SWmm = parseFloat(SWmmS);
var SWpt = SWmm / ptEQ;
var rectObj = activeDocument.pathItems.rectangle(-420.94488, 297.638, 150, 100);
rectObj.filled = false;
rectObj.stroked = true;
rectObj.strokeColor = CMYKfn(0, 0, 0, 100);
rectObj.strokeWidth = SWpt;
rectObj.selected = true;
rectObj.remove();
function CMYKfn(c, m, y, k) {
COL = new CMYKColor();
COL.cyan = c;
COL.magenta = m;
COL.yellow = y;
COL.black = k;
return COL;
}
}
var SWmmS = rd21.selection.text;
var SWmm = parseFloat(SWmmS);
var SWpt = SWmm / ptEQ;
var rectObj = activeDocument.pathItems.rectangle(-420.94488, 297.638, 150, 100);
rectObj.filled = false;
rectObj.stroked = true;
rectObj.strokeColor = CMYKfn(0, 0, 0, 100);
rectObj.strokeWidth = SWpt;
rectObj.selected = true;
rectObj.remove();
function CMYKfn(c, m, y, k) {
COL = new CMYKColor();
COL.cyan = c;
COL.magenta = m;
COL.yellow = y;
COL.black = k;
return COL;
}
}
488デフォルトの名無しさん (ワッチョイ 114b-+VVc [110.2.215.28 [上級国民]])
2022/12/26(月) 15:07:33.18ID:pO4MU7IP0 線幅を変更するスクリプトなのですが、一応完成しました。
自分で使うだけならこれでいいのですが、他人に使ってもらう場合、ダイアログに「線幅を追加する」という項目を増やしたいと思っています。
rd21 = pg2.add("dropdownlist", [20, 40, 150, 65], ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm", "0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"]);
のところに項目を追加していくようなコードを書くことは可能なのでしょうか?
自分自身を書き換えるコードだと思うのですが…
(削除はどうでしょうか? 例えば0.15 mmがいらないと思った場合、"0.15 mm"のを削除するコードを書くことは可能ですか?)
自分で使うだけならこれでいいのですが、他人に使ってもらう場合、ダイアログに「線幅を追加する」という項目を増やしたいと思っています。
rd21 = pg2.add("dropdownlist", [20, 40, 150, 65], ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm", "0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"]);
のところに項目を追加していくようなコードを書くことは可能なのでしょうか?
自分自身を書き換えるコードだと思うのですが…
(削除はどうでしょうか? 例えば0.15 mmがいらないと思った場合、"0.15 mm"のを削除するコードを書くことは可能ですか?)
489デフォルトの名無しさん (スプッッ Sd5e-HEC+ [1.75.242.231])
2022/12/26(月) 15:27:01.38ID:oXRhIFIqd スレ内を線幅で検索しても何も引っかからないのにこの書き出しで何か伝わると思ってるのすごいわ
線幅の配列を関数内で直書きしてるから自身を書き換えるとか面倒なことを考える必要があるわけで
関数の外に変数で宣言しとけば追加も削除もなんとでもなるでしょ
線幅の配列を関数内で直書きしてるから自身を書き換えるとか面倒なことを考える必要があるわけで
関数の外に変数で宣言しとけば追加も削除もなんとでもなるでしょ
490デフォルトの名無しさん (ワッチョイ de01-WsKb [60.103.67.153])
2022/12/26(月) 15:55:16.01ID:gS/UmYxh0 確かIllustratorかなんかのスクリプトでしょ
ここ見てるほとんどはWebブラウザやnode.jsのJavaScriptは知っててもそっちは知らないと思う
文法的にはJavaScriptと同じでも出てくるオブジェクトは独自のものだろうし説明しないとわからんよ
ここ見てるほとんどはWebブラウザやnode.jsのJavaScriptは知っててもそっちは知らないと思う
文法的にはJavaScriptと同じでも出てくるオブジェクトは独自のものだろうし説明しないとわからんよ
491デフォルトの名無しさん (ワッチョイ 114b-+VVc [110.2.215.28 [上級国民]])
2022/12/26(月) 16:14:37.67ID:pO4MU7IP0 >>489
素人でもエディタで開かないとダメということですね。
var mm = ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm", "0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"]
// 線幅の項目を増やしたり削除したい場合は、上の1行を書き換えてください
こう先頭に書き加えました。
素人でもエディタで開かないとダメということですね。
var mm = ["0.1 mm", "0.12 mm", "0.15 mm", "0.2 mm", "0.25 mm", "0.3 mm", "0.4 mm", "0.5 mm", "0.6 mm"]
// 線幅の項目を増やしたり削除したい場合は、上の1行を書き換えてください
こう先頭に書き加えました。
492デフォルトの名無しさん (ワッチョイ 114b-+VVc [110.2.215.28 [上級国民]])
2022/12/26(月) 16:16:02.82ID:pO4MU7IP0493デフォルトの名無しさん (スプッッ Sd5e-HEC+ [1.75.242.231])
2022/12/26(月) 16:45:32.21ID:oXRhIFIqd494デフォルトの名無しさん (スップ Sd42-gE1B [49.97.104.195])
2022/12/26(月) 17:18:59.92ID:l7z7KEaud495デフォルトの名無しさん (オッペケ Sr37-r/3v [126.208.225.253])
2022/12/26(月) 22:12:09.27ID:LJgewTa3r >>485
①chromeで↓のurlを開く
https://yari-demos.prod.mdn.mozit.cloud/ja/docs/Web/CSS/CSS_Animations/Using_CSS_animations/_sample_.making_it_move_back_and_forth.html
②chromeのコンソールを開いて↓を入力する
document.styleSheets[1].cssRules[1].cssRules[0].style.marginLeft = "50%"
①chromeで↓のurlを開く
https://yari-demos.prod.mdn.mozit.cloud/ja/docs/Web/CSS/CSS_Animations/Using_CSS_animations/_sample_.making_it_move_back_and_forth.html
②chromeのコンソールを開いて↓を入力する
document.styleSheets[1].cssRules[1].cssRules[0].style.marginLeft = "50%"
496デフォルトの名無しさん (ワッチョイ 1df0-aH43 [58.98.96.219])
2022/12/27(火) 15:47:36.10ID:LHsOSApx0497デフォルトの名無しさん (オッペケ Sr4f-XOVI [126.34.121.172])
2023/01/02(月) 12:58:47.15ID:A6ceP6kcr >>474
pythonのeelモジュールを使えば、昔のhtaっぽいことができます
pythonのeelモジュールを使えば、昔のhtaっぽいことができます
498デフォルトの名無しさん (ワッチョイ a779-rE+U [220.150.90.192])
2023/01/02(月) 17:25:19.15ID:V1TEslsJ0499デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 19:01:14.59ID:jNmuxM610 「無名関数」、「関数リテラル」の理解がちょっとぼやけています。
次の様なコードがあったとき、
let calcResult = function calc(a,b){
return a*b;
}
calc()
と()をつけて表せるものが普通の関数、それを変数に代入したもの
calcResult
が関数リテラルかと思っていました。
しかし、どうやら違うようで。。
次の様なコードがあったとき、
let calcResult = function calc(a,b){
return a*b;
}
calc()
と()をつけて表せるものが普通の関数、それを変数に代入したもの
calcResult
が関数リテラルかと思っていました。
しかし、どうやら違うようで。。
500デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 19:01:57.33ID:jNmuxM610 例えば以下の2つの関数があります。
■「function関数」を変数に格納
let calcResult1 = function calc(a,b){
return a*b;
}
■「無名関数」を変数に格納
let calcResult2 = function(a,b){
return a*b;
}
「無名関数」は「関数リテラル」と同義である。とさまざまな文献に記述されています。
ならば、
calcResult1
は、関数リテラルではない。
calcResult2
は、関数リテラルである。
という認識で間違っていないでしょうか?
■「function関数」を変数に格納
let calcResult1 = function calc(a,b){
return a*b;
}
■「無名関数」を変数に格納
let calcResult2 = function(a,b){
return a*b;
}
「無名関数」は「関数リテラル」と同義である。とさまざまな文献に記述されています。
ならば、
calcResult1
は、関数リテラルではない。
calcResult2
は、関数リテラルである。
という認識で間違っていないでしょうか?
501デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 19:02:26.96ID:jNmuxM610 SetInterval()
に与える引数は、関数リテラルでなくてはならないそうです。
となると、以下は誤りで、
SetInterval(calcResult1,1000);
以下なら問題ない
SetInterval(calcResult2,1000);
という理解でよろしいでしょうか?
に与える引数は、関数リテラルでなくてはならないそうです。
となると、以下は誤りで、
SetInterval(calcResult1,1000);
以下なら問題ない
SetInterval(calcResult2,1000);
という理解でよろしいでしょうか?
502デフォルトの名無しさん (ワッチョイ 8701-1zgH [60.103.77.208])
2023/01/04(水) 20:37:28.67ID:UYb7FHhp0 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/function
https://developer.mozilla.org/ja/docs/Glossary/Literal
リテラルに関数は含まれてないな
「関数リテラル=無名関数」が間違ってて、calcResult1 も calcResult2 は、関数リテラル。
とイコールで結んじゃうのは乱暴か
字義に従えば「無名関数」には生成時に名前をつけなかった、程度の意味しかないかと
ただ、関数式として生成された関数は変数に格納するか、でなければ他の関数の引数になるので、名前をつける意味はほぼない
結果的に関数式の関数は無名関数になることがほとんどで
https://developer.mozilla.org/ja/docs/Glossary/Literal
リテラルに関数は含まれてないな
「関数リテラル=無名関数」が間違ってて、calcResult1 も calcResult2 は、関数リテラル。
とイコールで結んじゃうのは乱暴か
字義に従えば「無名関数」には生成時に名前をつけなかった、程度の意味しかないかと
ただ、関数式として生成された関数は変数に格納するか、でなければ他の関数の引数になるので、名前をつける意味はほぼない
結果的に関数式の関数は無名関数になることがほとんどで
503デフォルトの名無しさん (ワッチョイ 8701-1zgH [60.103.77.208])
2023/01/04(水) 20:40:11.89ID:UYb7FHhp0 ここでいう「関数リテラル」は関数式で記述された関数のことで、名前があろうとなかろうと「関数リテラル」でいいんだと思う
504502 (ワッチョイ 8701-1zgH [60.103.77.208])
2023/01/04(水) 20:53:07.39ID:UYb7FHhp0505デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 20:57:54.46ID:jNmuxM610506デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.244.157])
2023/01/04(水) 21:00:20.48ID:GLj+17iFr 調べたら自分を再帰的に呼び出す場合に名前を付けるって例があってなるほどと思った
507デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.244.157])
2023/01/04(水) 21:21:00.43ID:GLj+17iFr ちなみに>>501のsetIntervalの引数は関数リテラルでないといけないってのはどこ情報?
508デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 21:23:57.48ID:jNmuxM610 あれ。関数リテラルには引数はないのか。。引数の不要な関数しか関数リテラルにならんのか。
もちょっと調べてみます。
もちょっと調べてみます。
509デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 21:32:15.85ID:jNmuxM610 >>507
必要ならページ画像をどっかにアップします。。
技術評論社
JavaScript本格入門
https://gihyo.jp/book/2016/978-4-7741-8411-1
P362
setTimeout/SetIntervalメソッドの注意点
...引数funcは必ず関数リテラルで指定してください。
必要ならページ画像をどっかにアップします。。
技術評論社
JavaScript本格入門
https://gihyo.jp/book/2016/978-4-7741-8411-1
P362
setTimeout/SetIntervalメソッドの注意点
...引数funcは必ず関数リテラルで指定してください。
510デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 21:39:03.24ID:jNmuxM610 でも何かの引数に関数をわたすときは、
一般的に関数リテラルで渡すのがデフォと
ぼんやり思っている。
一般的に関数リテラルで渡すのがデフォと
ぼんやり思っている。
511デフォルトの名無しさん (ワッチョイ 8701-9yt5 [60.88.115.90])
2023/01/04(水) 21:47:22.56ID:QxUfEWbZ0 技術評論社はやめとけよ。
512デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.244.157])
2023/01/04(水) 21:55:58.51ID:GLj+17iFr513デフォルトの名無しさん (ワッチョイ 8201-+uJR [219.204.123.70])
2023/01/04(水) 22:20:18.03ID:lFNs7lW+0 単に著者が良く理解せずに書いてるだけな気がする
514デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/04(水) 22:21:10.60ID:jNmuxM610 >>512
setTimeout()の例でしかもjQueryで
申し訳ないのですが。
1秒後に#displayのhtmlの内容を空にするコードです。
以下のようなコードではsetTimeoutが動かず、
setTimeout($('#display').html(' '), 1000);
代わりに、以下で動きます。
function clearDisplay(){
$('#display').html('');
}
setTimeout(clearDisplay, 1000);
このことから書籍にあるように
関数リテラルでないと引数に渡せないと
思っていました。。
書籍の文脈ですが、実際にあとで画像アップします。
setTimeout()の例でしかもjQueryで
申し訳ないのですが。
1秒後に#displayのhtmlの内容を空にするコードです。
以下のようなコードではsetTimeoutが動かず、
setTimeout($('#display').html(' '), 1000);
代わりに、以下で動きます。
function clearDisplay(){
$('#display').html('');
}
setTimeout(clearDisplay, 1000);
このことから書籍にあるように
関数リテラルでないと引数に渡せないと
思っていました。。
書籍の文脈ですが、実際にあとで画像アップします。
515デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.244.157])
2023/01/04(水) 22:46:11.56ID:GLj+17iFr >setTimeout($('#display').html(' '), 1000);
これそもそも渡してるの関数じゃないからリテラル云々の問題じゃなくない?
html()が戻り値としてjQueryを返すからそれが引数として渡ってるでしょ
>function clearDisplay(){
> $('#display').html('');
>}
これもfunction「文」で定義してるから>>504で言うところの関数リテラルには当てはまらない関数だよね
これそもそも渡してるの関数じゃないからリテラル云々の問題じゃなくない?
html()が戻り値としてjQueryを返すからそれが引数として渡ってるでしょ
>function clearDisplay(){
> $('#display').html('');
>}
これもfunction「文」で定義してるから>>504で言うところの関数リテラルには当てはまらない関数だよね
516デフォルトの名無しさん (ワッチョイ e6cf-/EFQ [153.174.224.39])
2023/01/04(水) 23:53:56.91ID:PU4coe7B0 アロー関数式を使うことで、関数リテラルによる関数定義を
より簡略化して記述することができます
ただし、this には注意してください
より簡略化して記述することができます
ただし、this には注意してください
517デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 00:01:25.43ID:EVXeoiyo0 >>515
setTimeout($('#display').html(' '), 1000);
これそもそも渡してるの関数じゃないからリテラル云々の問題じゃなくない?
渡しているのは関数じゃない。。
んー。メソッドか。だから動かない。
ありがとう。
setTimeout($('#display').html(' '), 1000);
これそもそも渡してるの関数じゃないからリテラル云々の問題じゃなくない?
渡しているのは関数じゃない。。
んー。メソッドか。だから動かない。
ありがとう。
518デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.243.148])
2023/01/05(木) 00:18:03.56ID:7P17JKmwr >>517
いや、関数かメソッドかの話じゃなくて
$('#display').html(' ')をその場で実行してその戻り値であるjQueryオブジェクトを渡しちゃってるでしょって話
ちゃんと理解できてる?
https://js.studio-kingdom.com/jquery/manipulation/html#1
いや、関数かメソッドかの話じゃなくて
$('#display').html(' ')をその場で実行してその戻り値であるjQueryオブジェクトを渡しちゃってるでしょって話
ちゃんと理解できてる?
https://js.studio-kingdom.com/jquery/manipulation/html#1
519デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 00:26:22.30ID:EVXeoiyo0 私の勘違いだったのですね。
たしかに関数ではない。。
一応書籍のページ画像をuploadしました。
「引数funcは必ず関数リテラルで指定してください。」
https://uploda1.ysklog.net/uploda/8298a4c0da.png
「関数リテラルは....ある関数の引数として渡したり....」
https://uploda1.ysklog.net/uploda/0bcdf35455.png
たしかに関数ではない。。
一応書籍のページ画像をuploadしました。
「引数funcは必ず関数リテラルで指定してください。」
https://uploda1.ysklog.net/uploda/8298a4c0da.png
「関数リテラルは....ある関数の引数として渡したり....」
https://uploda1.ysklog.net/uploda/0bcdf35455.png
520デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 00:27:48.45ID:EVXeoiyo0 >>518
理解したありがとう!
理解したありがとう!
521デフォルトの名無しさん (ワッチョイ 2e5c-uhAF [39.3.101.10])
2023/01/05(木) 02:04:13.18ID:hRDnYJsk0 >>519
「引数funcは必ず関数リテラルで指定してください。」
ちょっと問題のある文章だなあ
https://developer.mozilla.org/ja/docs/Web/API/setTimeout
第一引数は関数またはjavascriptコードとして実行される文字列
関数ってのは関数呼び出しじゃなくて関数名、または無名関数(関数リテラル)
>>514
文字列で渡したら動くはず
setTimeout("$('#display').html(' ')", 1000);
「引数funcは必ず関数リテラルで指定してください。」
ちょっと問題のある文章だなあ
https://developer.mozilla.org/ja/docs/Web/API/setTimeout
第一引数は関数またはjavascriptコードとして実行される文字列
関数ってのは関数呼び出しじゃなくて関数名、または無名関数(関数リテラル)
>>514
文字列で渡したら動くはず
setTimeout("$('#display').html(' ')", 1000);
522デフォルトの名無しさん (ワッチョイ 8201-+uJR [219.204.123.70])
2023/01/05(木) 06:17:33.15ID:O+NRT3S+0 >>521
> 「引数funcは必ず関数リテラルで指定してください。」
> ちょっと問題のある文章だなあ
まあそこは直前に文字列でも指定できるけどって書いてるから教育的指導なんだろうとは思う
まあ「必ず」という言葉が強すぎるから「引数funcは関数リテラルで指定するようにしてください。」程度でいいと思う
むしろ問題は「関数リテラルは宣言した時点では、名前を持たないことから匿名関数、または無名関数と呼ばれることもあります。」の方だろうね
> 「引数funcは必ず関数リテラルで指定してください。」
> ちょっと問題のある文章だなあ
まあそこは直前に文字列でも指定できるけどって書いてるから教育的指導なんだろうとは思う
まあ「必ず」という言葉が強すぎるから「引数funcは関数リテラルで指定するようにしてください。」程度でいいと思う
むしろ問題は「関数リテラルは宣言した時点では、名前を持たないことから匿名関数、または無名関数と呼ばれることもあります。」の方だろうね
523デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 09:18:58.87ID:EVXeoiyo0 >>521
>文字列で渡したら動くはず
>setTimeout("$('#display').html(' ')", 1000);
ありがとう。関数とは、関数呼び出しではなく実行される文字列
次いでもう一点お願いします。
https://uploda1.ysklog.net/uploda/0bcdf35455.png
リスト4-04 function_literal.js
以下は、関数リテラルを使ってリスト4-01を書き換えたものです。
var getTraiangle = function(base,height){
return base * height/2;
}
console.log('三角形の面積:'+getTrianle(5,2));
↑の
getTrianle(5,2)
は、関数リテラルなのですね。
てっきり()がないものが関数リテラルと思っていたが、
どうも、それも間違いようで。
>文字列で渡したら動くはず
>setTimeout("$('#display').html(' ')", 1000);
ありがとう。関数とは、関数呼び出しではなく実行される文字列
次いでもう一点お願いします。
https://uploda1.ysklog.net/uploda/0bcdf35455.png
リスト4-04 function_literal.js
以下は、関数リテラルを使ってリスト4-01を書き換えたものです。
var getTraiangle = function(base,height){
return base * height/2;
}
console.log('三角形の面積:'+getTrianle(5,2));
↑の
getTrianle(5,2)
は、関数リテラルなのですね。
てっきり()がないものが関数リテラルと思っていたが、
どうも、それも間違いようで。
524デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 09:20:11.59ID:EVXeoiyo0 あくまで、関数を変数に代入するということが、重要なのでしょうか?
525デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 09:23:08.82ID:EVXeoiyo0 「関数呼び出し」と
「引数付の関数リテラル」は
それだけみても違いわからないですね。
定義された場所を見て判断しないと。
「引数付の関数リテラル」は
それだけみても違いわからないですね。
定義された場所を見て判断しないと。
526デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.246.162])
2023/01/05(木) 10:06:29.26ID:rM8SDmmnr >>523
>>setTimeout("$('#display').html(' ')", 1000);
>ありがとう。関数とは、関数呼び出しではなく実行される文字列
いやいや、それは関数じゃなくてただの文字列
setTimeoutの第一引数は文字列か関数って書いてあるでしょ
関数リテラルって言葉はもう忘れていいと思うよ
そもそもMDNに記述がないから便宜的なものだし、その本での説明も怪しい
定義の仕方で区分されてるだけで実質的にはただの関数で
挙動に差異があるわけでもないだろうし
>>setTimeout("$('#display').html(' ')", 1000);
>ありがとう。関数とは、関数呼び出しではなく実行される文字列
いやいや、それは関数じゃなくてただの文字列
setTimeoutの第一引数は文字列か関数って書いてあるでしょ
関数リテラルって言葉はもう忘れていいと思うよ
そもそもMDNに記述がないから便宜的なものだし、その本での説明も怪しい
定義の仕方で区分されてるだけで実質的にはただの関数で
挙動に差異があるわけでもないだろうし
527デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.246.162])
2023/01/05(木) 10:52:19.71ID:rM8SDmmnr >>522
>「引数funcは関数リテラルで指定するようにしてください。」程度でいいと思う
それだとfunction命令で定義した関数は指定してはいけないと誤解されるからリテラルを削ったほうがいいかと
>「引数funcは関数リテラルで指定するようにしてください。」程度でいいと思う
それだとfunction命令で定義した関数は指定してはいけないと誤解されるからリテラルを削ったほうがいいかと
528デフォルトの名無しさん (ワッチョイ e6cf-/EFQ [153.174.224.39])
2023/01/05(木) 10:52:37.45ID:uFuuDD5j0 >>523
関数リテラルという呼び方はひとまず置いといて、無名関数という概念でとらえるとよい
function(~~){~~} は見ての通り、ひとつの無名関数である
var getTraiangle = function(base,height){ return base * height/2; }
によって、変数getTraiangle でこの無名関数を参照できるようになる
getTraiangle(5,2)
では変数名を使って先の無名関数を呼び出し、戻り値が取得される
これは一般に「関数の戻り値」と呼ばれる (関数リテラルではない)
console.log('三角形の面積:'+getTraiangle(5,2));
では、「+」によって、文字列 '三角形の面積:' と数値である戻り値が連結されて、ひとつの文字列が生成される
console.log()がそれを出力する
>>525
何かしら(無名)関数を使うにあたり、引数が要るなら付ける、要らないなら付けない、それだけの話
あなたの言う「引数付の関数リテラル」は勘違いで、「引数付きの関数呼び出し」に過ぎない
>>524
そういうこと
関数リテラルという呼び方はひとまず置いといて、無名関数という概念でとらえるとよい
function(~~){~~} は見ての通り、ひとつの無名関数である
var getTraiangle = function(base,height){ return base * height/2; }
によって、変数getTraiangle でこの無名関数を参照できるようになる
getTraiangle(5,2)
では変数名を使って先の無名関数を呼び出し、戻り値が取得される
これは一般に「関数の戻り値」と呼ばれる (関数リテラルではない)
console.log('三角形の面積:'+getTraiangle(5,2));
では、「+」によって、文字列 '三角形の面積:' と数値である戻り値が連結されて、ひとつの文字列が生成される
console.log()がそれを出力する
>>525
何かしら(無名)関数を使うにあたり、引数が要るなら付ける、要らないなら付けない、それだけの話
あなたの言う「引数付の関数リテラル」は勘違いで、「引数付きの関数呼び出し」に過ぎない
>>524
そういうこと
529デフォルトの名無しさん (ワッチョイ 2e5c-uhAF [39.3.101.10])
2023/01/05(木) 11:50:49.92ID:hRDnYJsk0 >>523
>setTimeout("$('#display').html(' ')", 1000);
ありがとう。関数とは、関数呼び出しではなく実行される文字列
違う。全く違う。めっちゃ大事なことだから勘違いしないで
それはsetTimeoutoの第一引数を文字列として指定した場合のこと
第一引数に関数を指定する方法は>>514で君は既にやっている
setTimeout(clearDisplay, 1000);
clearDisplay関数を定義してそれをsetTimeoutの第一引数に渡している
これでいい
>>527の言う通り
>>526の言う通り今は無名関数とか関数リテラルとかにこだわらない方がいい
>>523のうp画像に無名関数は重要な概念なので後ほど詳述ってあるからそこをみっちり勉強してね
>setTimeout("$('#display').html(' ')", 1000);
ありがとう。関数とは、関数呼び出しではなく実行される文字列
違う。全く違う。めっちゃ大事なことだから勘違いしないで
それはsetTimeoutoの第一引数を文字列として指定した場合のこと
第一引数に関数を指定する方法は>>514で君は既にやっている
setTimeout(clearDisplay, 1000);
clearDisplay関数を定義してそれをsetTimeoutの第一引数に渡している
これでいい
>>527の言う通り
>>526の言う通り今は無名関数とか関数リテラルとかにこだわらない方がいい
>>523のうp画像に無名関数は重要な概念なので後ほど詳述ってあるからそこをみっちり勉強してね
530デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.240.4])
2023/01/05(木) 12:50:07.72ID:w+0CNSMQr 関数リテラルの説明についてはここが一番しっくりくる
https://www.javadrive.jp/javascript/function/index5.html
「関数リテラルを使った関数定義」って言い回しを強調してるのが良い
だから関数リテラルを引数として渡すって言ったらこういうことだよなって
dispNum(10, 8, function(x, y){
return (x + y) / 2;
});
https://www.javadrive.jp/javascript/function/index5.html
「関数リテラルを使った関数定義」って言い回しを強調してるのが良い
だから関数リテラルを引数として渡すって言ったらこういうことだよなって
dispNum(10, 8, function(x, y){
return (x + y) / 2;
});
531デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 14:46:47.66ID:EVXeoiyo0 すいません。やっぱり関数リテラルという意味を理解したい。。でも↓この質問でわかるかも。
だれか答えていただけますでしょうか?
---
次のコードがあります。1から5のうち
どれが適切でしょうか?
let dispMessage = function(msg){
console.log(msg);
};
1.
function(msg){console.log(msg);}
は関数リテラルである。
2.
dispMessage
は関数リテラルである。
3.
let dispMessage = function(msg){
console.log(msg);
};
が全体として関数リテラルである。
4.
全て関数リテラルとはいえない。
5.
関数リテラルとは、用法のことであり、
コード部分を表すものではない。
だれか答えていただけますでしょうか?
---
次のコードがあります。1から5のうち
どれが適切でしょうか?
let dispMessage = function(msg){
console.log(msg);
};
1.
function(msg){console.log(msg);}
は関数リテラルである。
2.
dispMessage
は関数リテラルである。
3.
let dispMessage = function(msg){
console.log(msg);
};
が全体として関数リテラルである。
4.
全て関数リテラルとはいえない。
5.
関数リテラルとは、用法のことであり、
コード部分を表すものではない。
532デフォルトの名無しさん (ワッチョイ e67b-28F+ [153.178.229.141])
2023/01/05(木) 14:53:38.67ID:mmmJuCOb0 >>531
ぐぐったら以下の様に出る。結構理解しやすいと思うが。
リテラルとは リテラルとは、プログラムのソースコードにおいて使用される、数値や文字列を直接に記述した定数のことである。 変数の対義語であり、変更されないことを前提とした値である。 プログラミング言語のコード中にリテラルが挿入される場合には、判別のために特定の書式を用いる必要がある。
ぐぐったら以下の様に出る。結構理解しやすいと思うが。
リテラルとは リテラルとは、プログラムのソースコードにおいて使用される、数値や文字列を直接に記述した定数のことである。 変数の対義語であり、変更されないことを前提とした値である。 プログラミング言語のコード中にリテラルが挿入される場合には、判別のために特定の書式を用いる必要がある。
533デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 15:02:17.50ID:EVXeoiyo0 うん。「リテラル」ということばによって惑わされてきた気がする。
534デフォルトの名無しさん (アウアウウー Sa6b-y47Y [106.155.3.231])
2023/01/05(木) 15:06:19.08ID:akcN5qw4a 関数リテラルは関数として評価可能な右辺値と考えておけばまあいいんじゃないの
正確な定義は構文木の定義を見れば書いてある
正確な定義は構文木の定義を見れば書いてある
535デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.232.21])
2023/01/05(木) 15:10:13.35ID:HxGsZjLmr536デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.238.17])
2023/01/05(木) 15:28:42.13ID:c7qQflpDr537デフォルトの名無しさん (ワッチョイ 9f63-uhAF [180.58.213.164])
2023/01/05(木) 15:35:00.85ID:m3Sm+5EJ0 >>531
強いて言えば1かな
でも数値・文字列・正規表現リテラルみたいにプログラム中に単独で書くことは出来ないね
変数に代入するなり関数の引数に使うなりしないとエラーになる
英語でもfunction literalっていうみたいだけど関数リテラルってあんまりいい言葉だと思わないなあ
33;
"hello";
/^js$/;
function() {return true}; //SyntaxError
こんなことにこだわるよりもっと基本的なこと勉強した方方がいいんじゃないの?
強いて言えば1かな
でも数値・文字列・正規表現リテラルみたいにプログラム中に単独で書くことは出来ないね
変数に代入するなり関数の引数に使うなりしないとエラーになる
英語でもfunction literalっていうみたいだけど関数リテラルってあんまりいい言葉だと思わないなあ
33;
"hello";
/^js$/;
function() {return true}; //SyntaxError
こんなことにこだわるよりもっと基本的なこと勉強した方方がいいんじゃないの?
538デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 15:38:00.87ID:EVXeoiyo0 あ。
誤解していたところがとけました。
当初は「2」かと妄信していたので、
だいぶ合点がとれました。
関数リテラルが無名関数と同義という説明も
いやそうではないという説明も
すっきりしました。
皆さん長々とお付き合いいただき
ありがとうございました。
誤解していたところがとけました。
当初は「2」かと妄信していたので、
だいぶ合点がとれました。
関数リテラルが無名関数と同義という説明も
いやそうではないという説明も
すっきりしました。
皆さん長々とお付き合いいただき
ありがとうございました。
539デフォルトの名無しさん (ワッチョイ 66db-TwI4 [217.178.96.73])
2023/01/05(木) 19:28:05.49ID:j61eMuZ00540デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/05(木) 20:02:55.70ID:EVXeoiyo0541デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 20:55:47.77ID:XhDooIHVH >>531
自分もあまりJS詳しくないんですけど
リテラルっていうのは、括るもの、という意味合いでは?
オブジェクトリテラルっていうのは波かっこで括るオブジェクト={}
文字列のリテラルは、""や’’
展開のリテラルは、``とか
関数のリテラルというのは、functionを指定した引数括弧つきのオブジェクトリテラルでfunction(){}
関数リテラルといえば、例えばfunction func(){...}
とした場合、{...}は変数funcに文字列として代入されます
そしてfuncは関数オブジェクトと指定されていて
関数の実行は()を読み込むことで実行されます
func 文字列
() 関数の実行
自分もあまりJS詳しくないんですけど
リテラルっていうのは、括るもの、という意味合いでは?
オブジェクトリテラルっていうのは波かっこで括るオブジェクト={}
文字列のリテラルは、""や’’
展開のリテラルは、``とか
関数のリテラルというのは、functionを指定した引数括弧つきのオブジェクトリテラルでfunction(){}
関数リテラルといえば、例えばfunction func(){...}
とした場合、{...}は変数funcに文字列として代入されます
そしてfuncは関数オブジェクトと指定されていて
関数の実行は()を読み込むことで実行されます
func 文字列
() 関数の実行
542デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 21:01:26.21ID:XhDooIHVH >>531
解決済みだったようですみませんでした
参考までに追加
function func(){return 1}
とした場合
console.log(func)
と
console.log(func())
を見比べるとわかりますが、
func変数の中身は、function指定された文字列で
func()は関数を実行した結果の1が表示されます
解決済みだったようですみませんでした
参考までに追加
function func(){return 1}
とした場合
console.log(func)
と
console.log(func())
を見比べるとわかりますが、
func変数の中身は、function指定された文字列で
func()は関数を実行した結果の1が表示されます
543デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.231.97])
2023/01/05(木) 21:40:35.47ID:n/EqvkXYr >>541
JavaScriptのリテラルに関してはまず下記を読んでください
括ってあればリテラルというわけではないです
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types#%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB
JavaScriptのリテラルに関してはまず下記を読んでください
括ってあればリテラルというわけではないです
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types#%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB
544デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 22:26:48.61ID:XhDooIHVH >>543
括る、というのはそういう意味かと
リテラルはリテラルなので括る必要はなくて
プリミティブは、これは文字列です、
これは配列です、
これはオブジェクトです
とエンジンに理解させるための記述なのかと思いまして
括る、というのはそういう意味かと
リテラルはリテラルなので括る必要はなくて
プリミティブは、これは文字列です、
これは配列です、
これはオブジェクトです
とエンジンに理解させるための記述なのかと思いまして
545デフォルトの名無しさん (ワッチョイ a62d-IQJE [121.102.19.45])
2023/01/05(木) 22:39:53.19ID:scsW7zY90 リテラルはベた書きで良かろう
546デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.231.97])
2023/01/05(木) 22:41:03.03ID:n/EqvkXYr547デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 22:57:51.54ID:XhDooIHVH 括ることで、エンジンに対して、これは配列オブジェクトだよとか
これは{}だよとか、これは文字列だよとか、そういうことを伝えているってことですけど
これは{}だよとか、これは文字列だよとか、そういうことを伝えているってことですけど
548デフォルトの名無しさん (ワッチョイ 8201-+uJR [219.204.123.70])
2023/01/05(木) 22:59:39.77ID:O+NRT3S+0549デフォルトの名無しさん (ワッチョイ 8201-+uJR [219.204.123.70])
2023/01/05(木) 23:00:08.63ID:O+NRT3S+0 >>547
数値リテラル
数値リテラル
550デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 23:12:56.82ID:XhDooIHVH <<538
諄いですね
正しい理論的な話あればご披露ください
JSの処理エンジンに、どういう記述があれば
どう処理するかというのがあるでしょ
{}とう記述を読めば、オブジェクトなのだな、と
””ならもじれるなのかなと、
function でて意義されたものがあれば関数なのかなと
リテラルは数値などの表現で
文字列は””、’’のクオーテーションで
関数は、function装飾委sで
それぞれが何を表現してるのかを確認し
スクリプト実行時にそれらをコンテキストに登録して
その後の作動を担保する、ってことなのかな
諄いですね
正しい理論的な話あればご披露ください
JSの処理エンジンに、どういう記述があれば
どう処理するかというのがあるでしょ
{}とう記述を読めば、オブジェクトなのだな、と
””ならもじれるなのかなと、
function でて意義されたものがあれば関数なのかなと
リテラルは数値などの表現で
文字列は””、’’のクオーテーションで
関数は、function装飾委sで
それぞれが何を表現してるのかを確認し
スクリプト実行時にそれらをコンテキストに登録して
その後の作動を担保する、ってことなのかな
551デフォルトの名無しさん (ワッチョイ 9fcf-/EFQ [180.14.48.253])
2023/01/05(木) 23:17:36.32ID:/79BsoYR0 一から教えるにはここじゃスペースが足りないからまず入門書一冊買って読め。
552デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 23:20:08.45ID:XhDooIHVH 先生、ありがとうござす
時間とれましたら勉強してみます、ありがとうです
時間とれましたら勉強してみます、ありがとうです
553デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.231.97])
2023/01/05(木) 23:20:49.68ID:n/EqvkXYr 中途半端に字句解析、構文解析の話になってるのか・・・
誰もそんなレベルの話はしてないのに
誰もそんなレベルの話はしてないのに
554デフォルトの名無しさん (スプッッ Sdc2-DLel [1.75.213.141])
2023/01/05(木) 23:28:36.71ID:V3WBk68sd 誤変換の多さと言い意味の通ってなさと言い酔っ払ってるとしか思えんなw
555デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/05(木) 23:34:22.58ID:XhDooIHVH すみませんでした、もっと勉強します
556デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.204.227.44])
2023/01/06(金) 12:07:23.77ID:ipvOzmbWr 勉強しますの前にまず筋の通った主張を相手に分かるようにお願いします
>>548の指摘もそういうことだし
>>548の指摘もそういうことだし
557538 (ワッチョイ 8202-9yt5 [27.92.176.51])
2023/01/06(金) 17:52:02.25ID:AgA2i3Ln0 リテラルって文字列とか数値というイメージ
だから、
let dispMessage = function(msg){console.log(msg)}
っていう文があれば、関数リテラルならどうみても
左側の変数の文字列の事って思うじゃないですか。
右側はfunctionとか{}とか()とかあるので、
リテラルからかけ離れていると思ってました。
どうりで、話が噛み合わないなと思ってたが
今、全部なっとく。ありがとうございました!
だから、
let dispMessage = function(msg){console.log(msg)}
っていう文があれば、関数リテラルならどうみても
左側の変数の文字列の事って思うじゃないですか。
右側はfunctionとか{}とか()とかあるので、
リテラルからかけ離れていると思ってました。
どうりで、話が噛み合わないなと思ってたが
今、全部なっとく。ありがとうございました!
558デフォルトの名無しさん (ブーイモ MMee-DakT [133.159.153.167])
2023/01/06(金) 21:33:28.00ID:Ynt2iWE0M リテラルはもともと「文字通りの」って意味
ソースに書いた内容が変数とかを介さずにそのまま1つの値として評価されるもの
括弧で括るとかの意味は全く無い
ソースに書いた内容が変数とかを介さずにそのまま1つの値として評価されるもの
括弧で括るとかの意味は全く無い
559デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89])
2023/01/06(金) 22:25:41.09ID:Th1PE0Z2H リテラル
””や’’で表現されるのは文字列と評価する
[]は配列と評価する
{}はオブジェクトと評価する
JSエンジンがオブジェクトをどう評価して処理するかということだと思ったんですけど
何やら全く的外れなこと言ってたみたいですみませんでした
何度も謝ったのでもう許してください、鬼神様
””や’’で表現されるのは文字列と評価する
[]は配列と評価する
{}はオブジェクトと評価する
JSエンジンがオブジェクトをどう評価して処理するかということだと思ったんですけど
何やら全く的外れなこと言ってたみたいですみませんでした
何度も謝ったのでもう許してください、鬼神様
560デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.194.247.11])
2023/01/06(金) 23:10:59.17ID:AlXqoCEJr561デフォルトの名無しさん (JP 0Hd3-DWwd [126.249.157.89])
2023/01/07(土) 08:36:35.89ID:I26x6s3dH 時間があるときに読んでおきます
562デフォルトの名無しさん (ワッチョイ 8a74-+oQO [211.124.81.22])
2023/01/07(土) 11:56:48.02ID:n88Tb37q0 >>561
いますぐ読みたまえ
いますぐ読みたまえ
563デフォルトの名無しさん (アウアウウー Sa3f-03PQ [106.154.143.205])
2023/01/07(土) 12:11:11.83ID:Oa/pj9jla 読めたら読みます
564デフォルトの名無しさん (ワッチョイ 8a74-+oQO [211.124.81.22])
2023/01/07(土) 12:11:57.01ID:n88Tb37q0 >>563
読めなくても読むのだ
読めなくても読むのだ
565デフォルトの名無しさん (スプッッ Sdea-pEag [1.75.238.210])
2023/01/07(土) 15:51:52.95ID:zzWcN8NZd566デフォルトの名無しさん (ワッチョイ 9310-zDHW [180.12.82.129])
2023/01/07(土) 18:24:30.76ID:2xit7B8+0 再帰関数についての質問
function test(){
処理1
test();
処理2
}
とした場合
処理2の前にtest()があるので、処理2はずっと実行されないということですか?
function test(){
処理1
test();
処理2
}
とした場合
処理2の前にtest()があるので、処理2はずっと実行されないということですか?
567デフォルトの名無しさん (アウアウウー Sa3f-03PQ [106.154.143.205])
2023/01/07(土) 18:46:02.96ID:Oa/pj9jla いいえそれは処理1次第です
568デフォルトの名無しさん (ワッチョイ 9310-zDHW [180.12.82.129])
2023/01/07(土) 19:05:43.05ID:2xit7B8+0569デフォルトの名無しさん (ワッチョイ fecf-DSRP [153.174.224.39])
2023/01/07(土) 19:11:57.35ID:GmV1yQnL0 最大の再帰の深さは JavaScript エンジンによって制限されていて
その範囲内で終了条件を満たすように作る必要があります
でなければエラー終了するので、無限再帰は有り得ません
その範囲内で終了条件を満たすように作る必要があります
でなければエラー終了するので、無限再帰は有り得ません
570デフォルトの名無しさん (ワッチョイ 6a7c-Or7w [43.235.241.201])
2023/01/07(土) 21:33:23.91ID:YilgzCe20 そもそも永久に再帰は無理なのを理解していないのか?
それと何故再帰を使うのかという理由が全く分からん
それと何故再帰を使うのかという理由が全く分からん
571デフォルトの名無しさん (ワッチョイ aa02-DSRP [59.138.123.33])
2023/01/08(日) 01:51:54.62ID:uPZeFpc/0 まあ普通は無限ループだな
わざわざ再帰にしなければいけない
理由が何かだな
わざわざ再帰にしなければいけない
理由が何かだな
572デフォルトの名無しさん (ワッチョイ 7b79-Jp3v [220.150.90.192])
2023/01/08(日) 01:53:28.42ID:FOdy7Dic0 末尾再帰最適化が保証されている言語では特定条件を満たせばさもループの代替として使えるが
javascriptではそうはならなかった
以上
javascriptではそうはならなかった
以上
573デフォルトの名無しさん (ブーイモ MM4a-mEot [49.239.64.156])
2023/01/08(日) 01:53:30.69ID:gpkzwVQsM 末尾最適化されてれば無限ループ可能でしょ?
ES2015で末尾最適化の仕様化されたけど適合してない実装が多いというだけ
ES2015で末尾最適化の仕様化されたけど適合してない実装が多いというだけ
574デフォルトの名無しさん (ブーイモ MM4a-mEot [49.239.64.156])
2023/01/08(日) 01:54:05.49ID:gpkzwVQsM ありゃ被ったか
575デフォルトの名無しさん (ワッチョイ 7b79-Jp3v [220.150.90.192])
2023/01/08(日) 02:24:13.14ID:FOdy7Dic0 規格があっても準拠するかどうかは実装次第というね
ちなみにjavascriptは関数がファーストクラスでレキシカルスコープを持つためいわゆるクロージャを無意識に生成できる
クロージャがあれば末尾再帰できないからと不自由に感じることはないと思われる
ちなみにjavascriptは関数がファーストクラスでレキシカルスコープを持つためいわゆるクロージャを無意識に生成できる
クロージャがあれば末尾再帰できないからと不自由に感じることはないと思われる
576デフォルトの名無しさん (ワッチョイ 9310-zDHW [180.12.82.129])
2023/01/08(日) 17:51:20.88ID:TObCTh0j0577デフォルトの名無しさん (ワッチョイ db01-9cRY [60.69.179.40])
2023/01/09(月) 07:24:55.41ID:Bl4X3MiM0 >>576
無限にネストすることはないはずだが
無限にネストすることはないはずだが
578デフォルトの名無しさん (オッペケ Srd3-HOhV [126.208.230.4])
2023/01/09(月) 12:44:15.19ID:mLvtK4oer579デフォルトの名無しさん (ワッチョイ 6a7c-Or7w [43.235.241.201])
2023/01/09(月) 13:34:27.76ID:nBXeWSyT0 ホントになw
// aはarray
function test(a)
{
a.forEach( b => {
if (b.isArray()) {
test(b)
}
})
}
みたいな感じなら分かるがw
// aはarray
function test(a)
{
a.forEach( b => {
if (b.isArray()) {
test(b)
}
})
}
みたいな感じなら分かるがw
580デフォルトの名無しさん (ワッチョイ 7b79-Jp3v [220.150.90.192])
2023/01/09(月) 15:00:57.73ID:2yNmR2Eh0 ノードを全部舐めるみたいなトラバース系の処理はエンジンの制限とか気にするなら再帰のロジックを配列とループで作った方が安全だし
恐らく関数を呼び出すより速いから検討してみてね
恐らく関数を呼び出すより速いから検討してみてね
581デフォルトの名無しさん (ワッチョイ 6305-S6ln [116.94.64.124])
2023/01/14(土) 18:28:43.16ID:WRdKOG7o0 質問
scriptタグで指定されてるリンク先をjavascriptで変えたい
例えば. script type="text/javascript" src="A”
になってんのを
script type="text/javascript" src="B”に変えたい
replace等でやろうとしたものの上手くいかなかった
scriptタグで指定されてるリンク先をjavascriptで変えたい
例えば. script type="text/javascript" src="A”
になってんのを
script type="text/javascript" src="B”に変えたい
replace等でやろうとしたものの上手くいかなかった
582デフォルトの名無しさん (ワッチョイ 7f7c-f6s+ [43.235.241.201])
2023/01/14(土) 20:27:52.90ID:Ww/QFSM20 ちょっとググったら出てくるやろw
https://www.softel.co.jp/blogs/tech/archives/6794
https://www.softel.co.jp/blogs/tech/archives/6794
583デフォルトの名無しさん (ワッチョイ 6305-S6ln [116.94.64.124])
2023/01/14(土) 23:08:43.95ID:WRdKOG7o0584デフォルトの名無しさん (アウアウウー Sac7-wtyD [106.146.97.205])
2023/01/15(日) 01:42:33.54ID:k1TuDUU1a 確かに以下のように、jQuery で、script タグのsrc 属性を、
a.js から、b.js へ変えても、scriptタグが再読み込みされない
$("script[src='a.js']:first").each(function (index, elem) {
$(elem).attr('src', 'b.js');
});
新たなscriptタグを追加してから、元のscriptタグを削除すれば、読み込まれるかも
a.js から、b.js へ変えても、scriptタグが再読み込みされない
$("script[src='a.js']:first").each(function (index, elem) {
$(elem).attr('src', 'b.js');
});
新たなscriptタグを追加してから、元のscriptタグを削除すれば、読み込まれるかも
585デフォルトの名無しさん (ワッチョイ a361-1Ylv [222.144.108.11])
2023/01/15(日) 02:01:27.46ID:iV9MAA6y0 読み込まれたスクリプト自体はscript要素消しても消えない事に注意
586デフォルトの名無しさん (オイコラミネオ MMa7-+Atj [150.66.84.146])
2023/01/15(日) 13:53:25.79ID:0IRxms8qM ルーターのブロードステーションに電源を入れると
エッジブラウザが起動して自動的にブロードステーションのルーターのページが表示されます。
ブロードステーション関連のソフトウェアは一切インストールしていないにもかかわらずです。
これって動きだけ見ますとルータが勝手にこっちのpcを操作してるように見えるのですがどういう仕組みなんでしょうか?
ブラウザ(JavaScript)はページ内しか操作出来ない筈なんですが。
エッジブラウザが起動して自動的にブロードステーションのルーターのページが表示されます。
ブロードステーション関連のソフトウェアは一切インストールしていないにもかかわらずです。
これって動きだけ見ますとルータが勝手にこっちのpcを操作してるように見えるのですがどういう仕組みなんでしょうか?
ブラウザ(JavaScript)はページ内しか操作出来ない筈なんですが。
587デフォルトの名無しさん (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]])
2023/01/15(日) 15:02:28.33ID:yvxMece60 よろしくお願いします
【環境】Win11,Chrome
【何をしたのか】下記コードをHTMLファイルにしてchromeで読み込ませて、コンソールで見た
JSONのItemsを一個追加して、追加したageだけ書き換えたいが、両方書き換わる
【エラーメッセージ】エラーメッセージはない
【期待する結果】Itemsの2個めのageだけが40になるはず
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
<script>
json =
{
"color_list": [ "red", "green", "blue" ],
"Items": [
{ "name": "Tanaka", "age": 26 },
]
}
data0=json["Items"][0]
json["Items"].push(data0)
console.log("before");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
json["Items"][1]["age"]=40
console.log("after");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
</script>
結果
before
26
26
after
40
40
【環境】Win11,Chrome
【何をしたのか】下記コードをHTMLファイルにしてchromeで読み込ませて、コンソールで見た
JSONのItemsを一個追加して、追加したageだけ書き換えたいが、両方書き換わる
【エラーメッセージ】エラーメッセージはない
【期待する結果】Itemsの2個めのageだけが40になるはず
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
<script>
json =
{
"color_list": [ "red", "green", "blue" ],
"Items": [
{ "name": "Tanaka", "age": 26 },
]
}
data0=json["Items"][0]
json["Items"].push(data0)
console.log("before");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
json["Items"][1]["age"]=40
console.log("after");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
</script>
結果
before
26
26
after
40
40
588デフォルトの名無しさん (ワッチョイ cfcf-7DGa [153.174.224.39])
2023/01/15(日) 15:12:37.19ID:XTiaoq8f0589デフォルトの名無しさん (ワッチョイ a361-1Ylv [222.144.108.11])
2023/01/15(日) 15:18:59.77ID:iV9MAA6y0590デフォルトの名無しさん (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]])
2023/01/15(日) 15:22:38.08ID:yvxMece60 >>588,589
できましたありがとうございます。
できましたありがとうございます。
591デフォルトの名無しさん (ワッチョイ cfcf-7DGa [153.174.224.39])
2023/01/15(日) 15:31:02.14ID:XTiaoq8f0 この場合はこれで十分ですが
スプレッド構文はシャローコピーなので、
データがより複雑な構造の場合は、それなりの記述が必要です
スプレッド構文はシャローコピーなので、
データがより複雑な構造の場合は、それなりの記述が必要です
592デフォルトの名無しさん (ワッチョイ a361-1Ylv [222.144.108.11])
2023/01/15(日) 15:40:55.97ID:iV9MAA6y0 >>586
キャプティブポータルの検出機能が誤爆してるんじゃないかな
キャプティブポータルの検出機能が誤爆してるんじゃないかな
593デフォルトの名無しさん (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]])
2023/01/15(日) 20:06:20.61ID:7dUg93Xk0 mainfn()
function mainfn(){
pg1 = win1.pnl.add('group')
pg1.orientation = "row"
pg1.add("statictext", [0,0,70,23], "拡大・縮小")
rd11 = pg1.add("edittext", [0,0,40,23], 100)
pg1.add("statictext", [0,0,30,23], "%")
pg9 = win1.pnl.add('group')
pg9.orientation = "row"
CAN = pg9.add("button",[0,0,100,30],"cancel")
OK = pg9.add("button",[0,0,100,30],"OK")
CAN.onClick = function(){win1.close()}
OK.onClick = function(){
win1.close()
dofn()
}
win1.show()
}
function dofn(){
bai = parseFloat(rd11.text)
…… 以下略
これが正常に動作するのですが、rd11はローカル変数だとおもうのですが、なぜ違う関数内(dofn())から読めるのでしょうか?
こういう書き方が出来るのなら楽なのですが…
function mainfn(){
pg1 = win1.pnl.add('group')
pg1.orientation = "row"
pg1.add("statictext", [0,0,70,23], "拡大・縮小")
rd11 = pg1.add("edittext", [0,0,40,23], 100)
pg1.add("statictext", [0,0,30,23], "%")
pg9 = win1.pnl.add('group')
pg9.orientation = "row"
CAN = pg9.add("button",[0,0,100,30],"cancel")
OK = pg9.add("button",[0,0,100,30],"OK")
CAN.onClick = function(){win1.close()}
OK.onClick = function(){
win1.close()
dofn()
}
win1.show()
}
function dofn(){
bai = parseFloat(rd11.text)
…… 以下略
これが正常に動作するのですが、rd11はローカル変数だとおもうのですが、なぜ違う関数内(dofn())から読めるのでしょうか?
こういう書き方が出来るのなら楽なのですが…
594デフォルトの名無しさん (オッペケ Sr67-2lig [126.208.238.32])
2023/01/15(日) 20:27:36.55ID:Vv6s9YYpr 関数内でvarを付けずに宣言された変数はグローバルスコープになる
var rd11 = pg1.add("edittext", [0,0,40,23], 100)
とすると関数スコープになって外部からアクセスできなくなるはず
関数内での変数宣言はvar文で行うべきで
これを「楽」と思ってしまうのは危険
var rd11 = pg1.add("edittext", [0,0,40,23], 100)
とすると関数スコープになって外部からアクセスできなくなるはず
関数内での変数宣言はvar文で行うべきで
これを「楽」と思ってしまうのは危険
595デフォルトの名無しさん (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]])
2023/01/15(日) 20:53:03.10ID:7dUg93Xk0596デフォルトの名無しさん (オッペケ Sr67-2lig [126.208.230.75])
2023/01/15(日) 21:30:36.07ID:YqyTW3mJr >>595
'use strict'が効くならスクリプトの先頭行に書いとくといいよ
'use strict'が効くならスクリプトの先頭行に書いとくといいよ
597502 (ワッチョイ 8301-DQ2E [60.103.69.185])
2023/01/15(日) 23:28:40.23ID:bMctduL80598デフォルトの名無しさん (アウアウウー Sac7-wtyD [106.133.104.22])
2023/01/15(日) 23:45:44.09ID:r5uLxMWea ES2015(ES6)以降は最低限、
変数宣言にはvar ではなく、let/const を付けよう
変数宣言にはvar ではなく、let/const を付けよう
599デフォルトの名無しさん (ワッチョイ 8301-fAIW [60.69.179.40])
2023/01/15(日) 23:55:04.30ID:cRCjJN100600デフォルトの名無しさん (オッペケ Sr67-2lig [126.204.224.48])
2023/01/15(日) 23:55:05.86ID:5X3ij1Yxr >>598
このadobeのスクリプトはES3相当らしいのでvarを案内してるのよ
まあそもそもスレ違いだからID:7dUg93Xk0は今後adobeのフォーラムで質問するようにね
その方が我々も余計な労力を払わなくていいし君も的確な回答がもらえる
https://community.adobe.com/t5/forums/searchpage/tab/message?filter=location&q=%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%20script&noSynonym=false&location=category:jp&collapse_discussion=true
このadobeのスクリプトはES3相当らしいのでvarを案内してるのよ
まあそもそもスレ違いだからID:7dUg93Xk0は今後adobeのフォーラムで質問するようにね
その方が我々も余計な労力を払わなくていいし君も的確な回答がもらえる
https://community.adobe.com/t5/forums/searchpage/tab/message?filter=location&q=%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%20script&noSynonym=false&location=category:jp&collapse_discussion=true
601デフォルトの名無しさん (ワッチョイ 8301-fAIW [60.69.179.40])
2023/01/15(日) 23:55:37.31ID:cRCjJN100602デフォルトの名無しさん (ワッチョイ 8301-fAIW [60.69.179.40])
2023/01/15(日) 23:57:40.43ID:cRCjJN100 申し訳ない
投稿エラーで再投稿したら、二重投稿になってた
投稿エラーで再投稿したら、二重投稿になってた
603デフォルトの名無しさん (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]])
2023/01/16(月) 01:46:54.32ID:DS9XkUYq0604デフォルトの名無しさん (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]])
2023/01/16(月) 01:51:10.12ID:DS9XkUYq0605デフォルトの名無しさん (オッペケ Sr67-2lig [126.208.227.98])
2023/01/16(月) 02:24:41.48ID:SauNqkHgr606デフォルトの名無しさん (ワンミングク MM87-KwiO [114.150.17.128])
2023/01/16(月) 08:45:42.10ID:Hbn6MJh3M イラレ特化だからではなくてJavaScriptのバージョンの問題なんだけど
なんも書いてなければ最新のモダンブラウザのつもりでみんな考える
今JavaScriptのバージョンってES12くらいかね、あんまりそういう言い方しないけど
イラレ搭載のはES3なの?それも知らんけど
クッソ古いから使える文法も関数もまるで違うから環境を書けと言っているのよ
そこらへん多分知らなかったんだろうけど、それは仕方ないけど、次からは環境きちんと書いて
というかできれば以降はAdobeのフォーラムでやって
なんも書いてなければ最新のモダンブラウザのつもりでみんな考える
今JavaScriptのバージョンってES12くらいかね、あんまりそういう言い方しないけど
イラレ搭載のはES3なの?それも知らんけど
クッソ古いから使える文法も関数もまるで違うから環境を書けと言っているのよ
そこらへん多分知らなかったんだろうけど、それは仕方ないけど、次からは環境きちんと書いて
というかできれば以降はAdobeのフォーラムでやって
607デフォルトの名無しさん (アウアウウー Sac7-OPB1 [106.146.82.82])
2023/01/17(火) 01:44:26.39ID:BTJjkb3Ra >>587
C/C++ 以外の言語は、参照しかコピーしない・shallow copy。
実体は再作成されない
なので、deep copy するのに、参照のリンクが切れないので困る
だから、marshal とか、わざわざオブジェクトをJSON 文字列化して、
その文字列から、新しいオブジェクトを作ったりする
C/C++ 以外の言語は、参照しかコピーしない・shallow copy。
実体は再作成されない
なので、deep copy するのに、参照のリンクが切れないので困る
だから、marshal とか、わざわざオブジェクトをJSON 文字列化して、
その文字列から、新しいオブジェクトを作ったりする
608デフォルトの名無しさん (ワッチョイ cf6f-TZIJ [121.103.1.5])
2023/01/17(火) 16:25:41.45ID:XA7n1WWP0 >>607
え?
え?
609デフォルトの名無しさん (JP 0H67-w88e [126.249.157.89])
2023/01/17(火) 19:01:55.76ID:LBqNgpc6H ポインタのこと?
610デフォルトの名無しさん (ワッチョイ 6310-qfBe [180.59.92.6])
2023/01/18(水) 00:05:10.90ID:csewAuIZ0 検索アドレスに言語指定が必要になって下のスクリプトを書きました。
function Jump(){
var kekka =
"ht"+"tp://www.concertzender.nl/?s=" +
document.concertzender.kensaku.value +
"&lang=nl";
location.href = kekka;
return;
}
kensaku は検索フォームの文字列です。これで正常動作するのですが、
エラーチェックすると&が警告されて気になります。
&にしたらアドレスが&になって検索できないし、
なんとかならないものでしょうか・・・
function Jump(){
var kekka =
"ht"+"tp://www.concertzender.nl/?s=" +
document.concertzender.kensaku.value +
"&lang=nl";
location.href = kekka;
return;
}
kensaku は検索フォームの文字列です。これで正常動作するのですが、
エラーチェックすると&が警告されて気になります。
&にしたらアドレスが&になって検索できないし、
なんとかならないものでしょうか・・・
611デフォルトの名無しさん (ワッチョイ 6310-qfBe [180.59.92.6])
2023/01/18(水) 00:09:24.42ID:csewAuIZ0 上
&amp; です
&#038; でも同じです
&amp; です
&#038; でも同じです
612デフォルトの名無しさん (ワッチョイ cfbb-sA4L [217.178.152.148])
2023/01/18(水) 06:35:54.86ID:guU+fOES0 この気持ち悪いの何?
> "ht"+"tp
> "ht"+"tp
613デフォルトの名無しさん (JP 0H67-w88e [126.249.157.89])
2023/01/18(水) 07:40:19.90ID:Eqd2U92jH documentのpropertyにconcertzenderって標準でないっしょ?
スクリプトのどっかでなんか設定してるん?
スクリプトのどっかでなんか設定してるん?
614デフォルトの名無しさん (JP 0H67-w88e [126.249.157.89])
2023/01/18(水) 07:41:25.64ID:Eqd2U92jH それとエラーの内容も書き込まずにして質問っていうのもどうなの?
615デフォルトの名無しさん (ワッチョイ cf7b-lu1o [153.178.229.141])
2023/01/18(水) 08:57:37.16ID:cgb3Ru010 >>612
5ch対策でしょ
5ch対策でしょ
616デフォルトの名無しさん (ワッチョイ 6310-qfBe [180.59.92.6])
2023/01/18(水) 10:05:55.23ID:csewAuIZ0 >>614
すいません。単純に特殊文字ダメよという内容だったんで・・・
"&lang=nl";
"&lang=nl"; もし、"&" で始まるエンティティを含めるつもりなら、";" で終了させるべきです。
このエラーメッセージのもう一つの理由は、このテキストの直前にある「&」文字をエスケープしなかったために、
誤ってエンティティを作成してしまったことです。(機械翻訳)
自分としては&amp;と書いて、リンクアドレスとして&を出力したいわけです・・・
すいません。単純に特殊文字ダメよという内容だったんで・・・
"&lang=nl";
"&lang=nl"; もし、"&" で始まるエンティティを含めるつもりなら、";" で終了させるべきです。
このエラーメッセージのもう一つの理由は、このテキストの直前にある「&」文字をエスケープしなかったために、
誤ってエンティティを作成してしまったことです。(機械翻訳)
自分としては&amp;と書いて、リンクアドレスとして&を出力したいわけです・・・
617デフォルトの名無しさん (ワッチョイ cfbb-sA4L [217.178.152.148])
2023/01/18(水) 10:16:20.21ID:guU+fOES0 >>615
あーそういうことか。コピペコードで悪さでもしようとしているのかと思ったけど違うみたいね
>>610
大体どの言語でもクエリ文字列を作る仕組みが用意されているのでそれを利用するのが適切です
JavaScriptならコレかな
URLSearchParams
https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams
あーそういうことか。コピペコードで悪さでもしようとしているのかと思ったけど違うみたいね
>>610
大体どの言語でもクエリ文字列を作る仕組みが用意されているのでそれを利用するのが適切です
JavaScriptならコレかな
URLSearchParams
https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams
618デフォルトの名無しさん (オッペケ Sr67-2lig [126.204.227.194])
2023/01/18(水) 11:11:32.49ID:CwkcAAQnr619デフォルトの名無しさん (ワッチョイ a361-1Ylv [222.144.108.11])
2023/01/18(水) 12:42:13.54ID:iQx/CEUf0 >>610
htmlのscript要素の中身はCDATAなので文字参照にする必要なし
もちろんinnerHTML等htmlとしてパースされるものに突っ込む場合は必要だが
htmllintなんかでエラーになるのは無視していい
htmlのscript要素の中身はCDATAなので文字参照にする必要なし
もちろんinnerHTML等htmlとしてパースされるものに突っ込む場合は必要だが
htmllintなんかでエラーになるのは無視していい
620デフォルトの名無しさん (ワッチョイ 6310-qfBe [180.59.92.6])
2023/01/18(水) 13:08:45.81ID:csewAuIZ0621デフォルトの名無しさん (オッペケ Sr67-2lig [126.194.244.31])
2023/01/18(水) 13:26:39.01ID:Okbz9NQsr622デフォルトの名無しさん (JP 0H67-w88e [126.249.157.89])
2023/01/19(木) 22:07:44.38ID:40XBuhhWH 君は君の質問に反応しない人には
推し量って導こうという崇高な意識はないの?JS使いなのに?
推し量って導こうという崇高な意識はないの?JS使いなのに?
623デフォルトの名無しさん (ワッチョイ 8301-fAIW [60.85.60.40])
2023/01/20(金) 00:14:23.52ID:VzeMnjK00624デフォルトの名無しさん (ワッチョイ 0379-sA4L [220.150.90.192])
2023/01/20(金) 01:57:18.23ID:ptsQI5JN0 それよりJavaScriptをJSと略すと女子小学生しか思い浮かばないからそろそろやめたほうがいい
625デフォルトの名無しさん (オッペケ Sr67-2lig [126.208.227.44])
2023/01/20(金) 07:46:55.99ID:PpNyk8UWr626デフォルトの名無しさん (ワッチョイ cfdb-f6s+ [217.178.96.73])
2023/01/20(金) 17:53:26.94ID:zXaveivW0 >>624
J
J
627デフォルトの名無しさん (ワッチョイ bf3d-Sc6R [133.32.132.49 [上級国民]])
2023/01/26(木) 00:31:01.01ID:c9Kzf+f60 【環境】Win11,Chromeで表示させたHTMLの中のjavascript
Windowsのフルパスのファイル名が入った変数を\でsplitしたいんだけど可能?
x_textにはJSONデータから取ってきた'D:\\00.png'が入っていて
console.log(x_text)だとD:\00.pngと表示
これをsplitすると
aaa1.html:154 Uncaught TypeError: Assignment to constant variable.
になる。
split('\\')をsplit('\\\\')にしても同じ
console.log(x_text)
arr_text = x_text.split('\\') ←ここでエラー
console.log(arr_text[0])
Windowsのフルパスのファイル名が入った変数を\でsplitしたいんだけど可能?
x_textにはJSONデータから取ってきた'D:\\00.png'が入っていて
console.log(x_text)だとD:\00.pngと表示
これをsplitすると
aaa1.html:154 Uncaught TypeError: Assignment to constant variable.
になる。
split('\\')をsplit('\\\\')にしても同じ
console.log(x_text)
arr_text = x_text.split('\\') ←ここでエラー
console.log(arr_text[0])
628デフォルトの名無しさん (ワッチョイ 8361-4svA [222.144.108.11])
2023/01/26(木) 00:37:27.57ID:q740ttN00 >>627
arr_textがconst宣言されてるだけでは?
arr_textがconst宣言されてるだけでは?
629デフォルトの名無しさん (ワッチョイ bf3d-Sc6R [133.32.132.49 [上級国民]])
2023/01/26(木) 01:06:05.60ID:c9Kzf+f60630デフォルトの名無しさん (アウアウウー Saa3-6TJq [106.129.156.153])
2023/01/29(日) 10:31:07.49ID:rZA8vUyra 初学者質問ですいませんが、変数aが文字列あいう、かつ、変数bがundefinedでない時 というif文を書きたい時
if (a=='あいう' && (!(b === void 0))) {...
という書き方であってますか?
よりシンプルな書き方とか、より標準的な書き方ってありますでしょうか。
if (a=='あいう' && (!(b === void 0))) {...
という書き方であってますか?
よりシンプルな書き方とか、より標準的な書き方ってありますでしょうか。
631502 (ワッチョイ bf01-IIfr [60.103.64.138])
2023/01/29(日) 12:00:10.71ID:9rN3KLzS0 厳密不等価演算子 !==
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Strict_inequality
undefined が予約語になってないから void 0、ってのは……はて、今もやるものかね
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Strict_inequality
undefined が予約語になってないから void 0、ってのは……はて、今もやるものかね
632デフォルトの名無しさん (ワッチョイ 775f-JCKB [14.8.104.32])
2023/01/29(日) 12:54:20.77ID:eUvMCdrW0 if(a == 'あいう' && !b)でもよさそうな気がしなくもない
633デフォルトの名無しさん (オッペケ Sr27-+FJ3 [126.133.207.3])
2023/01/29(日) 15:43:05.57ID:d0tJgmu5r >>631
undefined は予約語ではないのでローカル変数による上書きが可能…という意味では、void 0 を使う価値はある
undefined は予約語ではないのでローカル変数による上書きが可能…という意味では、void 0 を使う価値はある
634デフォルトの名無しさん (アウアウウー Saa3-6TJq [106.129.157.183])
2023/01/29(日) 15:59:30.70ID:rpOrCqGha >631
ありがとうございます。リンク先確認しました。
if(a=='あいう' && b!== undefined またはvoid 0)
という感じでしょうか。
ここでb!= undefined とするとまずいのはbがnullの時だけ、という認識でいいでしょうか。
>632
ありがとうございます。bが0や空文字の時にも偽になりそうです。
ありがとうございます。リンク先確認しました。
if(a=='あいう' && b!== undefined またはvoid 0)
という感じでしょうか。
ここでb!= undefined とするとまずいのはbがnullの時だけ、という認識でいいでしょうか。
>632
ありがとうございます。bが0や空文字の時にも偽になりそうです。
635デフォルトの名無しさん (ワッチョイ df79-jh2e [220.150.90.192])
2023/01/29(日) 16:03:43.52ID:R24XfIrD0 第一にjavascriptみたいな後付け追加仕様が混在する言語は規格よりも実装の影響力が強いから
想定環境で検証済の方法を採用すべきだと思う
コードとしては変数をtypeofで"undefined"と比較するのが恐らく理解しやすいが、
メンテナがjavascriptに十分慣れていてvoid 0のイディオムの理解を期待できるならそっちでもいい
想定環境で検証済の方法を採用すべきだと思う
コードとしては変数をtypeofで"undefined"と比較するのが恐らく理解しやすいが、
メンテナがjavascriptに十分慣れていてvoid 0のイディオムの理解を期待できるならそっちでもいい
636デフォルトの名無しさん (スッップ Sd72-X84U [49.98.141.203])
2023/01/29(日) 16:28:19.00ID:MX/guDl/d >>634
結局のところ
・undefinedが上書きされる可能性を考慮する必要があるのか
・bがundefined以外のfalsyな値を取りうるのか
・取る場合それぞれの値をundefinedとは区別したいのか同じとみなしたいのか
この辺次第で望ましい書き方は変わってくるわけで
結局のところ
・undefinedが上書きされる可能性を考慮する必要があるのか
・bがundefined以外のfalsyな値を取りうるのか
・取る場合それぞれの値をundefinedとは区別したいのか同じとみなしたいのか
この辺次第で望ましい書き方は変わってくるわけで
637デフォルトの名無しさん (オッペケ Sr27-+FJ3 [126.133.207.3])
2023/01/29(日) 16:30:22.92ID:d0tJgmu5r >>634
型チェックも働かせるなら
if (a. === 'あいう' && b !== void 0)
と書けば良い
'あいう' も==では型チェックしない
> ここでb!= undefined とするとまずいのはbがnullの時だけ
まずいのは、undefined! == void 0 の場合
型チェックも働かせるなら
if (a. === 'あいう' && b !== void 0)
と書けば良い
'あいう' も==では型チェックしない
> ここでb!= undefined とするとまずいのはbがnullの時だけ
まずいのは、undefined! == void 0 の場合
638デフォルトの名無しさん (アウアウウー Sacd-3+Au [106.128.44.107])
2023/02/12(日) 19:44:05.09ID:zQHZ3m1Fa //☆☆県(API番号☆00000)の予報を取得
let url = "https://www.jma.go.jp/bosai/forecast/data/forecast/☆00000.json";
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(weather) {
console.log(weather);
//☆☆県を選択し、変数に詰め直す
let area = weather[0].timeSeries[0].areas[0];
console.log(area);
//発表者と更新日時の情報を書き出す
document.getElementById("publishingOffice").lastElementChild.textContent = weather[0].publishingOffice;
document.getElementById("reportDatetime").lastElementChild.textContent = weather[0].reportDatetime;
//特定の地域の情報を画面に書き出す
document.getElementById("targetArea").lastElementChild.textContent = area.area.name;
document.getElementById("today").lastElementChild.textContent = area.weathers[0];
document.getElementById("tomorrow").lastElementChild.textContent = area.weathers[1];
document.getElementById("dayAfterTomorrow").lastElementChild.textContent = area.weathers[2];
});
上手く動かないのですがどこが間違えてますか?教えてください。
☆はわざとです
let url = "https://www.jma.go.jp/bosai/forecast/data/forecast/☆00000.json";
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(weather) {
console.log(weather);
//☆☆県を選択し、変数に詰め直す
let area = weather[0].timeSeries[0].areas[0];
console.log(area);
//発表者と更新日時の情報を書き出す
document.getElementById("publishingOffice").lastElementChild.textContent = weather[0].publishingOffice;
document.getElementById("reportDatetime").lastElementChild.textContent = weather[0].reportDatetime;
//特定の地域の情報を画面に書き出す
document.getElementById("targetArea").lastElementChild.textContent = area.area.name;
document.getElementById("today").lastElementChild.textContent = area.weathers[0];
document.getElementById("tomorrow").lastElementChild.textContent = area.weathers[1];
document.getElementById("dayAfterTomorrow").lastElementChild.textContent = area.weathers[2];
});
上手く動かないのですがどこが間違えてますか?教えてください。
☆はわざとです
639デフォルトの名無しさん (オッペケ Sr79-c/8M [126.179.247.114])
2023/02/13(月) 16:33:17.79ID:6gR8iJfAr バグってるので調査してください
それは質問ではなく作業依頼
それは質問ではなく作業依頼
640502 (ワッチョイ a901-d354 [60.103.78.83])
2023/02/13(月) 22:37:53.05ID:E1kxmkHl0 >>638
やりたいことも伝えずに上手く動かないと言われてもなー
やりたいことも伝えずに上手く動かないと言われてもなー
641デフォルトの名無しさん (JP 0H79-t1ev [126.249.157.89])
2023/02/14(火) 07:31:57.89ID:NKP9M84/H なぜ自身でデバッグせんのよ
642デフォルトの名無しさん (ワッチョイ 9279-sQVB [27.132.129.236])
2023/02/14(火) 21:18:40.92ID:snyjWmK+0 そのメソッドチェーンやめれば分かるよ
エラーが起きない前提があってのメソッドチェーンだからよ
エラーが起きない前提があってのメソッドチェーンだからよ
643デフォルトの名無しさん (ワッチョイ 9202-AGaU [27.92.176.51])
2023/02/17(金) 12:17:26.22ID:DJukcnvm0 $.each()とsetIntervalをつかって、
インターバル時間ごとに順番に配列の中身を、コンソール出力する方法ありますでしょうか?
$.each()は、一度に処理するから、一つづつコンソール出力するのは難しいですかね。
インターバル時間ごとに順番に配列の中身を、コンソール出力する方法ありますでしょうか?
$.each()は、一度に処理するから、一つづつコンソール出力するのは難しいですかね。
644デフォルトの名無しさん (ワッチョイ a901-WXfS [60.109.220.141])
2023/02/17(金) 20:26:53.96ID:iF4/ZjHx0645デフォルトの名無しさん (ワッチョイ a901-WXfS [60.109.220.141])
2023/02/17(金) 22:54:40.37ID:iF4/ZjHx0646デフォルトの名無しさん (アウアウウー Sa81-JXsU [106.154.152.216])
2023/02/18(土) 19:51:29.82ID:gBmvvkX6a nodeでPythonのif name==main
みたいなことできませんか?
メソッドの動きをデバッカーでみたいんです
みたいなことできませんか?
メソッドの動きをデバッカーでみたいんです
647デフォルトの名無しさん (ワッチョイ fa3d-FCAK [133.32.132.49 [上級国民]])
2023/02/24(金) 01:21:32.26ID:jGK2BMhd0 //【環境】Win11,JScript
//【何をしたのか】case文のところに条件式を書き、breakせずにすべての条件式で評価したい
//【サンプルコード】現象を再現可能な最小限のコードを書いてください。
a=1
switch (true) {
case (a==1):
a=a+16
WScript.echo("aの値を変更a=",a)
case (a>10):
WScript.echo("a>10","a=",a)
a=a-10
WScript.echo("aの値を変更a=",a)
case (a>30):
WScript.echo("a>30です","a=",a)
a=0
WScript.echo("aの値を変更a=",a)
}
WScript.echo("最終的な結果a=",a)
//【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
aの値を変更a= 17
a>10 a= 17
aの値を変更a= 7
a>30です a= 7
aの値を変更a= 0
最終的な結果a= 0
//【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
2番目のcaseでa=7だから3番目のcaseにはいかず、最終的にはa=7になるのでは?
//【何をしたのか】case文のところに条件式を書き、breakせずにすべての条件式で評価したい
//【サンプルコード】現象を再現可能な最小限のコードを書いてください。
a=1
switch (true) {
case (a==1):
a=a+16
WScript.echo("aの値を変更a=",a)
case (a>10):
WScript.echo("a>10","a=",a)
a=a-10
WScript.echo("aの値を変更a=",a)
case (a>30):
WScript.echo("a>30です","a=",a)
a=0
WScript.echo("aの値を変更a=",a)
}
WScript.echo("最終的な結果a=",a)
//【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
aの値を変更a= 17
a>10 a= 17
aの値を変更a= 7
a>30です a= 7
aの値を変更a= 0
最終的な結果a= 0
//【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
2番目のcaseでa=7だから3番目のcaseにはいかず、最終的にはa=7になるのでは?
648デフォルトの名無しさん (ワッチョイ 9ebd-kyjD [119.240.41.213])
2023/02/24(金) 02:46:21.28ID:thXJapXb0 >>647
上から順に case が評価され、どこかで真になればそれ以降の case は評価されない。
break してないからそれ以降の処理がフォールスルーで実行されてるだけ。
全部の条件を評価したいなら普通に if で書けばいいと思うよ。
上から順に case が評価され、どこかで真になればそれ以降の case は評価されない。
break してないからそれ以降の処理がフォールスルーで実行されてるだけ。
全部の条件を評価したいなら普通に if で書けばいいと思うよ。
649デフォルトの名無しさん (ワッチョイ 1501-qPsv [126.88.47.26])
2023/02/24(金) 05:29:40.16ID:xQyCpHMf0 そもそもswitch文って条件にtrue入れて使うようなもんじゃないぞ
650デフォルトの名無しさん (ワッチョイ 9ebd-kyjD [119.240.41.213])
2023/02/24(金) 08:59:59.37ID:thXJapXb0 >>649
case に式を書けるようにしたことによって使えるようになった副作用みたいなものだよね。
switch の式と一致する case を探すのが switch文の動作だとするなら、switch の式 true と一致する値となる、すなわち true になる式を持つ case が選択される。
個人的には if で書けばいいものをわざわざ分かりづらい書き方にしてるバッドプラクティスだと思ってるが、フォールスルーと組み合わせると if よりもスマートに書ける可能性はあるかもね。
特に >>647 のように全部の case を評価してほしいなら、switch で書く利点が何一つ無い。
if より利点がある場合は、フォールスルーする場合に最初に true になる case までしか式が評価されないことくらいなのに。
case に式を書けるようにしたことによって使えるようになった副作用みたいなものだよね。
switch の式と一致する case を探すのが switch文の動作だとするなら、switch の式 true と一致する値となる、すなわち true になる式を持つ case が選択される。
個人的には if で書けばいいものをわざわざ分かりづらい書き方にしてるバッドプラクティスだと思ってるが、フォールスルーと組み合わせると if よりもスマートに書ける可能性はあるかもね。
特に >>647 のように全部の case を評価してほしいなら、switch で書く利点が何一つ無い。
if より利点がある場合は、フォールスルーする場合に最初に true になる case までしか式が評価されないことくらいなのに。
651デフォルトの名無しさん (ワッチョイ 433d-KeBY [133.32.132.49 [上級国民]])
2023/02/25(土) 02:30:10.34ID:E1i3tKVi0 >>650
良いサンプルが思いつかんけど、
ifで書こうとすると、重複する処理を書かなければいけなくなったり、フラグの変数を導入したりすることになるんだけど、
breakなしのswitch case文ならうまいこと書けるんじゃないかと思ってやってみたけど、動かなかった。
良いサンプルが思いつかんけど、
ifで書こうとすると、重複する処理を書かなければいけなくなったり、フラグの変数を導入したりすることになるんだけど、
breakなしのswitch case文ならうまいこと書けるんじゃないかと思ってやってみたけど、動かなかった。
652デフォルトの名無しさん (ワッチョイ abdb-W5vA [217.178.96.73])
2023/02/25(土) 21:04:04.70ID:5GrSMYMK0 jQuery以外のライブラリ・フレームワークは廃止して欲しい。
覚えるのが大変。
覚えるのが大変。
653デフォルトの名無しさん (アウアウウー Saf1-Bx6w [106.155.6.230])
2023/02/25(土) 22:01:05.33ID:YxrjvuYta react だけでよくね
jqueryとかいい加減消滅しろよ
jqueryとかいい加減消滅しろよ
654デフォルトの名無しさん (ワッチョイ abdb-W5vA [217.178.96.73])
2023/02/25(土) 23:22:22.93ID:5GrSMYMK0655デフォルトの名無しさん (テテンテンテン MM6b-u9d9 [133.106.246.58])
2023/02/25(土) 23:31:29.20ID:fw0b+BcSM 質問スレで焚き付けんな
656デフォルトの名無しさん (ワッチョイ edda-055g [60.41.23.73])
2023/02/25(土) 23:38:37.47ID:TypeZdxc0 素の JS でいじゃん。
というのは言い過ぎかもしれんけど、何に使ってるんだか分からんようなことでいちいちおまじないのように jquery 読み込んでる呆れるようなところも少なくないんだよな。
通信回線速度も処理能力も上がってるから動いちゃいるが、とりあえず素の JS で書けるようになれと言いたい。
ブラウザ毎の非互換も少なくなってるし querySelector みたいな便利なメソッドもあるし、そんなに苦労しないでしょ。
というのは言い過ぎかもしれんけど、何に使ってるんだか分からんようなことでいちいちおまじないのように jquery 読み込んでる呆れるようなところも少なくないんだよな。
通信回線速度も処理能力も上がってるから動いちゃいるが、とりあえず素の JS で書けるようになれと言いたい。
ブラウザ毎の非互換も少なくなってるし querySelector みたいな便利なメソッドもあるし、そんなに苦労しないでしょ。
657デフォルトの名無しさん (アウアウウー Saf1-Bx6w [106.155.7.97])
2023/02/25(土) 23:49:36.71ID:YJ+BhbRla それなjqueryおじさんはJSだけで書けるようにしておけ
それでも足りないならReact使えな
それでも足りないならReact使えな
658デフォルトの名無しさん (ワッチョイ ab03-LGx4 [153.222.136.198])
2023/03/01(水) 19:53:41.69ID:hdBOeOla0 githubで他人のコード見てるとclassもprototypeも使われてないやつが多いんだけど何でなん?ベストプラクティスがruby以上にわからん何が正解なん?
659デフォルトの名無しさん (ワッチョイ e379-Arif [27.132.129.202])
2023/03/01(水) 23:29:12.38ID:8kmkGnGP0 暗黙的なクロージャがあるからclassやprototypeを使わずとも割と困らないのが何でなん?の回答になる
660デフォルトの名無しさん (ワッチョイ 1dff-ZYAP [180.198.6.154])
2023/03/02(木) 02:00:11.27ID:65NO3QYK0 htmlコーダー志望の初心者です。
JSの入門書を読み終えたのでより実践的な学習に移行したいのですが、
既存の書籍やサイトは総論のような基本的な知識に焦点を当てたものが多い印象で、
実務において初心者コーダーにどのようなプログラムの作成が
求められてくるのかが判然としません。
そのような内容に焦点を当てた書籍やサイト等はありますか。
JSの入門書を読み終えたのでより実践的な学習に移行したいのですが、
既存の書籍やサイトは総論のような基本的な知識に焦点を当てたものが多い印象で、
実務において初心者コーダーにどのようなプログラムの作成が
求められてくるのかが判然としません。
そのような内容に焦点を当てた書籍やサイト等はありますか。
661デフォルトの名無しさん (ワッチョイ e379-Arif [27.132.129.202])
2023/03/02(木) 19:51:27.97ID:eGjuMjwU0 そもそもhtmlコーダーって何?ってぐぐってみたらデザイナやエンジニアが片手間でできる内容だし専門職としては成立せんのでは
662660 (ワッチョイ 1dff-ZYAP [180.198.6.154])
2023/03/02(木) 23:05:32.75ID:65NO3QYK0663デフォルトの名無しさん (オッペケ Sr29-tD1/ [126.194.18.54])
2023/03/03(金) 08:25:40.95ID:DJxhSXLyr 99%のエンジニアは片手間でできないからな
エンジニアはhtmlとcssをバカにするけどほとんどのエンジニアはまともに使えていないんだよ
特にcss
使い方を知らない
勉強しようとしても理解できない
なのにバカにする
エンジニアは視覚からコードに落とし込む能力が絶望的に劣っている
↓
デザイナーから上がっきたモックをhtmlとcssで再現できない
↓
だけどその事実がバレたくないからコーダーといってバカにする
↓
実際にはjsxとstyle componentなどで必須スキル
↓
必須だけどできないからhtmlとcssはデザイナーの仕事だと言い放つ
↓
じゃあjsxはデザイナーに書かせるのか?と聞くと無言
毎回このパターン
エンジニアはhtmlとcssをバカにするけどほとんどのエンジニアはまともに使えていないんだよ
特にcss
使い方を知らない
勉強しようとしても理解できない
なのにバカにする
エンジニアは視覚からコードに落とし込む能力が絶望的に劣っている
↓
デザイナーから上がっきたモックをhtmlとcssで再現できない
↓
だけどその事実がバレたくないからコーダーといってバカにする
↓
実際にはjsxとstyle componentなどで必須スキル
↓
必須だけどできないからhtmlとcssはデザイナーの仕事だと言い放つ
↓
じゃあjsxはデザイナーに書かせるのか?と聞くと無言
毎回このパターン
664デフォルトの名無しさん (スップ Sdc3-iZis [1.72.0.185])
2023/03/03(金) 08:32:56.76ID:an7QtCXRd まあでもそういう業界だからね
連携ダメだからと言って隙間に入り込める余地があるかどうか
連携ダメだからと言って隙間に入り込める余地があるかどうか
665デフォルトの名無しさん (ワッチョイ f55c-W5vA [218.218.22.225])
2023/03/03(金) 09:44:56.39ID:o6EY7x580666デフォルトの名無しさん (オッペケ Sr29-tD1/ [126.194.18.54])
2023/03/03(金) 10:01:30.76ID:DJxhSXLyr >>665
むしろ組み込みは汎用系のほうは知らん
Web系エンジニアはこんなんだぞ
ほんの少しだけ有能なフロントエンジニアがいる現状
なぜならフロント開発スキルとデザインスキルの両方を持ち合わせた人材がほぼいないから
むしろ組み込みは汎用系のほうは知らん
Web系エンジニアはこんなんだぞ
ほんの少しだけ有能なフロントエンジニアがいる現状
なぜならフロント開発スキルとデザインスキルの両方を持ち合わせた人材がほぼいないから
667デフォルトの名無しさん (ワッチョイ f55c-W5vA [218.218.22.225])
2023/03/03(金) 10:24:24.87ID:o6EY7x580 webプログラマーに高度なデザインまで要求するのは無理でしょ
そのためにプロのデザイナーがいるんだし
でもほとんどのエンジニアがhtmlとcssをまともに使えないなんてありえない
今いる環境が悪すぎるんじゃないの?
そのためにプロのデザイナーがいるんだし
でもほとんどのエンジニアがhtmlとcssをまともに使えないなんてありえない
今いる環境が悪すぎるんじゃないの?
668デフォルトの名無しさん (オイコラミネオ MM19-055g [150.66.65.10])
2023/03/03(金) 11:25:14.28ID:yQajwbSzM ぶっちゃけデザインするやつが CSS まで書くのが一番いいんじゃね?
位置やら大きさやらの細かい詰めまでこだわれるでしょうに。
位置やら大きさやらの細かい詰めまでこだわれるでしょうに。
669デフォルトの名無しさん (ワッチョイ dd5f-pseD [14.8.104.32])
2023/03/03(金) 11:27:48.97ID:GvE2UXq10 アニメーションとかJsonでデータいじくる時だけ呼んでください
ってことにしてる社内ニート
ってことにしてる社内ニート
670デフォルトの名無しさん (オッペケ Sr29-tD1/ [126.194.18.54])
2023/03/03(金) 11:54:37.73ID:DJxhSXLyr こういうこと
デザイナーの担当
・モック作成
・Atomicデザイン込みのコンポーネント設計
・コンポーネント作成
・App作成(コンポーネントの組み上げ)
・jsx、css
・state更新とrender関連
・レスポンシブ対応
・トランジションやアニメーションなど
・DOM生成後の表示・操作・調整(表示順やインタラクション)
・エラー表示、警告
・htmlバリデーションのcheckValidityやreportValidity処理
フロントエンジニアの担当
・APIでデータ送受信
・propsで流し込み
デザイナーの担当
・モック作成
・Atomicデザイン込みのコンポーネント設計
・コンポーネント作成
・App作成(コンポーネントの組み上げ)
・jsx、css
・state更新とrender関連
・レスポンシブ対応
・トランジションやアニメーションなど
・DOM生成後の表示・操作・調整(表示順やインタラクション)
・エラー表示、警告
・htmlバリデーションのcheckValidityやreportValidity処理
フロントエンジニアの担当
・APIでデータ送受信
・propsで流し込み
671デフォルトの名無しさん (ブーイモ MM39-C31P [220.156.12.147])
2023/03/03(金) 12:03:53.67ID:aLTOWI5kM672デフォルトの名無しさん (ワッチョイ f55c-W5vA [218.218.22.225])
2023/03/03(金) 12:14:59.23ID:o6EY7x580 ほとんどのエンジニアがhtmlもcssもまともに使えない職場みたいだからなw
673デフォルトの名無しさん (オッペケ Sr29-tD1/ [126.194.18.54])
2023/03/03(金) 12:33:55.85ID:DJxhSXLyr 職場じゃなくてそもそもエンジニアたちがhtmlとcssが絶望的にゴミレベルしかいないんだよ
海外でも同じ傾向がある
なのに自分たちはできると勘違いしてるから話が通じないんだよな
海外でも同じ傾向がある
なのに自分たちはできると勘違いしてるから話が通じないんだよな
674デフォルトの名無しさん (ワッチョイ f55c-W5vA [218.218.22.225])
2023/03/03(金) 13:31:04.49ID:o6EY7x580 jquery使えます!って嘘ついたデザイナーの尻拭いをさせられたことはあったな
675デフォルトの名無しさん (オイコラミネオ MM19-055g [150.66.65.10])
2023/03/03(金) 13:32:46.28ID:yQajwbSzM >>673
そういうお前は逆にサーバサイドは絶望的な腕前なんじゃないの?
そういうお前は逆にサーバサイドは絶望的な腕前なんじゃないの?
676デフォルトの名無しさん (オッペケ Sr29-tD1/ [126.194.18.54])
2023/03/03(金) 15:00:35.71ID:DJxhSXLyr677デフォルトの名無しさん (オイコラミネオ MM19-055g [150.66.65.10])
2023/03/03(金) 15:24:30.84ID:yQajwbSzM678デフォルトの名無しさん (オッペケ Sr29-CaCf [126.179.251.66])
2023/03/03(金) 18:33:43.53ID:omRbdhVsr やたらイキって言葉遣いが悪いのと同じ回線だと肩身が狭い・・・
679デフォルトの名無しさん (ワッチョイ 637c-3nMf [221.241.223.58])
2023/03/03(金) 21:01:23.22ID:bsut6PhH0 >>670
デザイナーはせいぜいコンポーネント作ってStoryBookに載せるまでが責務だろw
デザイナーはせいぜいコンポーネント作ってStoryBookに載せるまでが責務だろw
680デフォルトの名無しさん (ワッチョイ ab46-W5vA [153.174.188.249])
2023/03/03(金) 22:20:39.69ID:Q9LzyMl00 プログラマにバカにされてreact勉強中のデザイナー様が激おこです
681デフォルトの名無しさん (ワッチョイ 637c-W5vA [43.235.241.201])
2023/03/03(金) 22:30:19.52ID:yxGxd3AO0 webデザイナーってjqueryぐらいまでは覚えさせられたかもだけど
流石にreactやvueまでやれってのは酷ではw
そんなのフロントエンドエンジニアの仕事でしょw
流石にreactやvueまでやれってのは酷ではw
そんなのフロントエンドエンジニアの仕事でしょw
682デフォルトの名無しさん (ワッチョイ ab46-W5vA [153.174.188.249])
2023/03/03(金) 23:30:24.99ID:Q9LzyMl00 だってフロントエンドエンジニアはhtmlもcssもわからないバカばっかりなんだもん
683デフォルトの名無しさん (JP 0H4f-W5Lg [126.249.157.89])
2023/03/04(土) 18:46:55.35ID:erCI1bTUH javascriptコードでバグの伝搬を制限して拡張性を高める必要性のある堅牢なプログラムなんて不要だからでしょ
684デフォルトの名無しさん (JP 0H4f-W5Lg [126.249.157.89])
2023/03/04(土) 18:52:38.30ID:erCI1bTUH みんななんで仲良くなれないかな
685デフォルトの名無しさん (ワッチョイ 8279-rvSK [27.132.129.202])
2023/03/05(日) 16:50:40.53ID:RB9OOifa0 仕事だし自分の領域に少なからず関わってくるんだから覚えろよ
わからないじゃねーんだよボケ^^
これでよし
わからないじゃねーんだよボケ^^
これでよし
686デフォルトの名無しさん (ワッチョイ 6710-zj+m [124.100.11.9])
2023/03/11(土) 23:19:16.39ID:qvilA0zq0 sortメソッドは必ず、比較関数と一緒に使用する必要ありますか?
sortメソッドは数値を並びかえだと比較関数と一緒でないとうまくいかなくて、
でも、文字列のソートなら、ソート関数なくてもうまくいくみたい。
sortは文字列でも数値でもソート関数使った方がいいのでしょうか?
sortメソッドは数値を並びかえだと比較関数と一緒でないとうまくいかなくて、
でも、文字列のソートなら、ソート関数なくてもうまくいくみたい。
sortは文字列でも数値でもソート関数使った方がいいのでしょうか?
687502 (ワッチョイ 6701-7U6a [60.103.73.19])
2023/03/12(日) 04:39:15.28ID:PQcYNrkb0 >>686
疑問に思うことがあれば、まずMDNで関数の仕様を確認してみるといい
sort 関数なら、解説に関数を指定しなかった場合についてもちゃんと書いてある
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
> compareFn が与えられなかった場合、undefined 以外のすべての配列要素は文字列に変換され、文字列が UTF-16 コード単位順でソートされます。例えば、"banana" は "cherry" の前に来ます。数値のソートでは、9 が 80 の前に来ますが、数値は文字列に変換されるため、Unicode 順で "80" が "9" の前に来ます。undefined の要素はすべて、配列の末尾に並べられます。
疑問に思うことがあれば、まずMDNで関数の仕様を確認してみるといい
sort 関数なら、解説に関数を指定しなかった場合についてもちゃんと書いてある
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
> compareFn が与えられなかった場合、undefined 以外のすべての配列要素は文字列に変換され、文字列が UTF-16 コード単位順でソートされます。例えば、"banana" は "cherry" の前に来ます。数値のソートでは、9 が 80 の前に来ますが、数値は文字列に変換されるため、Unicode 順で "80" が "9" の前に来ます。undefined の要素はすべて、配列の末尾に並べられます。
688デフォルトの名無しさん (ワッチョイ 6710-zj+m [124.100.11.9])
2023/03/12(日) 09:33:44.40ID:do9jOqKh0 >>687
ありがとうございます。
ありがとうございます。
689デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/12(日) 10:07:09.74ID:mPShShEs0 ティラノスクリプトでゲーム作ろうとしたら、結局JSまで触らないと無理そうで及び腰・・・
・例えば変数aに"gazou1"という文字列を入れる
・『【"変数a"+.jpg】を表示』みたいな記述?? ←ここが分からない
・結果、gazou1.jpgが表示される
こんな感じの、変数に入れた文字列を使用して画像表示ってできますか?
JS 変数 画像表示 とかで調べても情報が多すぎてさっぱり分からない
・例えば変数aに"gazou1"という文字列を入れる
・『【"変数a"+.jpg】を表示』みたいな記述?? ←ここが分からない
・結果、gazou1.jpgが表示される
こんな感じの、変数に入れた文字列を使用して画像表示ってできますか?
JS 変数 画像表示 とかで調べても情報が多すぎてさっぱり分からない
690デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.194.236.231])
2023/03/12(日) 11:40:49.62ID:SvUIzONJr691デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/12(日) 12:27:02.18ID:mPShShEs0 >>690
誘導ありがとうございます
ティラノだけでは無理そう&ティラノ上ではJSの記述が使える、という事でこちらで質問しました
なのでJSで可能か不可能かだけでも教えて頂けると助かります
JSで不可能なら調べたところで出て来ないでしょうから延々調べ続けるはめに・・・
誘導ありがとうございます
ティラノだけでは無理そう&ティラノ上ではJSの記述が使える、という事でこちらで質問しました
なのでJSで可能か不可能かだけでも教えて頂けると助かります
JSで不可能なら調べたところで出て来ないでしょうから延々調べ続けるはめに・・・
692デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.194.232.61])
2023/03/12(日) 12:49:02.36ID:PwnTbWEur >>691
まずはティラノスクリプトに詳しい人に聞いてみるのが筋ではないですか?
同じ問題に遭遇した人もきっといるはずでノウハウも蓄積されてると思いますよ
wikiなんかもあるようですし、そちらも確認してみましたか?
まずはティラノスクリプトに詳しい人に聞いてみるのが筋ではないですか?
同じ問題に遭遇した人もきっといるはずでノウハウも蓄積されてると思いますよ
wikiなんかもあるようですし、そちらも確認してみましたか?
693デフォルトの名無しさん (ワッチョイ dff0-S+nL [211.19.68.36])
2023/03/13(月) 10:07:27.43ID:/ROF2oq40 >>689
こういうこと?
===============================
<body>
<a href='#' onclick='fun'>link</a>
</body>
<script>
function fun(){a.href='https://....'}
</script>
===============================
===============================
<body>
<a href='#' id='href'>link</a>
</body>
<script>
href.onclick=function(){a.href='https;//...'}
---------------------
// または
let aLink=document.querySelector('[a]');
aLink.addEventListener('click',()=>{a.href='https://...'}):
</script>
================================
こういうこと?
===============================
<body>
<a href='#' onclick='fun'>link</a>
</body>
<script>
function fun(){a.href='https://....'}
</script>
===============================
===============================
<body>
<a href='#' id='href'>link</a>
</body>
<script>
href.onclick=function(){a.href='https;//...'}
---------------------
// または
let aLink=document.querySelector('[a]');
aLink.addEventListener('click',()=>{a.href='https://...'}):
</script>
================================
694デフォルトの名無しさん (ワンミングク MMbf-Spm0 [153.140.117.134])
2023/03/13(月) 17:49:23.15ID:dqLl9/D/M >>681
むしろjQueryの方が難しいと思うけど...
むしろjQueryの方が難しいと思うけど...
695デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/13(月) 19:09:00.85ID:LN5ju60U0 >>693
表示する画像を変数を使って切り替えたいので、
if 変数a=='花' なら 花.jpg を表示 else 変数a=='山' なら 山.jpg を表示
みたいな感じで一応は表示できるのですが、表示したい箇所が複数あるので
if 変数b=='花' とか if変数c==’’花' とかで凄く長くなりそうなのです
でももし 変数の中身+.jpg みたいな記述がjsに存在するなら
aの場所には 変数aの中身+.jpgを表示 bの場所には変数bの中身+.jpg みたいに凄く簡略化できるかなって
教えて頂いたコードを調べてみます!ありがとうございます!
表示する画像を変数を使って切り替えたいので、
if 変数a=='花' なら 花.jpg を表示 else 変数a=='山' なら 山.jpg を表示
みたいな感じで一応は表示できるのですが、表示したい箇所が複数あるので
if 変数b=='花' とか if変数c==’’花' とかで凄く長くなりそうなのです
でももし 変数の中身+.jpg みたいな記述がjsに存在するなら
aの場所には 変数aの中身+.jpgを表示 bの場所には変数bの中身+.jpg みたいに凄く簡略化できるかなって
教えて頂いたコードを調べてみます!ありがとうございます!
696デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.243.197])
2023/03/13(月) 19:18:34.65ID:z8Hv0b/wr >>695
他板にティラノスクリプトスレがあったんで
専用掲示板より5chがいいのであれば続きはそちらでどうぞ
https://mevius.5ch.net/test/read.cgi/gamedev/1428724538/
他板にティラノスクリプトスレがあったんで
専用掲示板より5chがいいのであれば続きはそちらでどうぞ
https://mevius.5ch.net/test/read.cgi/gamedev/1428724538/
697デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/13(月) 19:42:26.91ID:LN5ju60U0698デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.243.197])
2023/03/13(月) 20:03:21.60ID:z8Hv0b/wr >>697
>そこは質問スレじゃないのでどうにも質問しづらくて
そのスレを「質問」で検索してみると皆質問してるのが分かります
気後れする必要はないと思いますよ
>とうかJSの質問スレでJSの質問してるのに>「ティラノ上で動かしてる」ってだけで、
>そこまで「よそいけ、よそいけ」って言わなくても・・・
あなたが必要としてるのは「ティラノスクリプトで変数を使って画像表示したい場合にどうすればいいか」の解決策だからです
それについてはこのスレよりティラノスレや専用掲示板の方が的確なアドバイスが得られるはずです
違いますか?
>そこは質問スレじゃないのでどうにも質問しづらくて
そのスレを「質問」で検索してみると皆質問してるのが分かります
気後れする必要はないと思いますよ
>とうかJSの質問スレでJSの質問してるのに>「ティラノ上で動かしてる」ってだけで、
>そこまで「よそいけ、よそいけ」って言わなくても・・・
あなたが必要としてるのは「ティラノスクリプトで変数を使って画像表示したい場合にどうすればいいか」の解決策だからです
それについてはこのスレよりティラノスレや専用掲示板の方が的確なアドバイスが得られるはずです
違いますか?
699デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.243.197])
2023/03/13(月) 20:12:22.98ID:z8Hv0b/wr ついでに「ティラノ上で動かしてる」JSについてもそちらで聞いた方が良いでしょう
ティラノスレを見渡すとJSのコードもたくさん貼ってありますよ
ティラノスレを見渡すとJSのコードもたくさん貼ってありますよ
700デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/13(月) 20:21:27.02ID:LN5ju60U0701デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.243.197])
2023/03/13(月) 20:45:42.74ID:z8Hv0b/wr702デフォルトの名無しさん (ワッチョイ 7f03-BDEg [153.222.136.198])
2023/03/13(月) 20:57:54.94ID:ayGBKgIT0 拡張子を付加する機能は無いよ
WBC始まってキャッチボールしたい気持ちはわからんでもないけども
WBC始まってキャッチボールしたい気持ちはわからんでもないけども
703デフォルトの名無しさん (ワッチョイ 7fbb-EKUa [217.178.27.228])
2023/03/13(月) 20:58:10.41ID:bqu+B+fY0 >>700
> 「JSには、変数の中身の文字列に.jpgなどの拡張子を付け足して画像を表示する機能はありますか?」
はい。可能です
imgタグにデータURLを引き渡し表示することはごく普通に見ることができます
Base64エンコードされた文字列とmediatypeをセットするだけです
> 「JSには、変数の中身の文字列に.jpgなどの拡張子を付け足して画像を表示する機能はありますか?」
はい。可能です
imgタグにデータURLを引き渡し表示することはごく普通に見ることができます
Base64エンコードされた文字列とmediatypeをセットするだけです
704デフォルトの名無しさん (ブーイモ MMff-tpC5 [49.239.64.189])
2023/03/13(月) 20:59:33.75ID:1Iq9NysVM >>700
あなたの質問はjavascriptの質問ではありますがティラノスクリプトの仕様を知らないと答えられないものです
こちらはティラノスクリプトの仕様を知らないのであなたの代わりに調べることから始めなければなりません
ティラノスレであれば詳しい人がいると思うのでそちらへどうぞ
あなたの質問はjavascriptの質問ではありますがティラノスクリプトの仕様を知らないと答えられないものです
こちらはティラノスクリプトの仕様を知らないのであなたの代わりに調べることから始めなければなりません
ティラノスレであれば詳しい人がいると思うのでそちらへどうぞ
705デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/13(月) 21:59:41.61ID:LN5ju60U0706デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.243.197])
2023/03/13(月) 22:18:31.29ID:z8Hv0b/wr >>705
>上述の通りゲーム作成と作業の簡略化のためです
それは「ティラノスクリプトで変数に応じた画像表示する」こととは違うのですか?
>「JSではこれこれこうやる。それがティラノ上で動くかは知らんけど」
このスレでそんな回答をもらうよりはティラノスレで質問して
「ティラノスクリプトではみんなこうやってるよ」って回答をもらう方が何倍も早くて確実だと思いますがいかがでしょう
>上述の通りゲーム作成と作業の簡略化のためです
それは「ティラノスクリプトで変数に応じた画像表示する」こととは違うのですか?
>「JSではこれこれこうやる。それがティラノ上で動くかは知らんけど」
このスレでそんな回答をもらうよりはティラノスレで質問して
「ティラノスクリプトではみんなこうやってるよ」って回答をもらう方が何倍も早くて確実だと思いますがいかがでしょう
707デフォルトの名無しさん (アウアウウー Sa2b-lsaJ [106.146.86.167])
2023/03/14(火) 01:06:18.93ID:VmfXTFqwa 例えば、jQuery で、
<img id="photo_1" src="a.png">
を、以下に変更するなら
<img id="photo_1" src="image_1.jpg">
// :first は、最初に見つかったもの
$( '#photo_1:first' ).each( function ( index, elem ) {
const image_1_basename = "image_1"
const image_1_filename = image_1_basename + ".jpg"
$(this).attr('src', image_1_filename) // 設定
} )
<img id="photo_1" src="a.png">
を、以下に変更するなら
<img id="photo_1" src="image_1.jpg">
// :first は、最初に見つかったもの
$( '#photo_1:first' ).each( function ( index, elem ) {
const image_1_basename = "image_1"
const image_1_filename = image_1_basename + ".jpg"
$(this).attr('src', image_1_filename) // 設定
} )
708デフォルトの名無しさん (テテンテンテン MM8f-Kzia [133.106.54.171])
2023/03/14(火) 02:37:35.49ID:JIhs77SCM JSスレでJSのこと聞きたいんならティラノの名前出すなよ
709デフォルトの名無しさん (スップ Sd7f-yYQx [1.72.0.185])
2023/03/14(火) 08:16:42.83ID:gMQMDZBfd それはそう
710デフォルトの名無しさん (ワッチョイ dff0-S+nL [211.19.68.36])
2023/03/14(火) 13:16:01.19ID:bBCbUtGh0 jpegの名前を動的に指定できるよ
711デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.194.234.17])
2023/03/14(火) 13:21:05.82ID:crjDIavXr >>705
ティラノについて少し調べたのでスレ違いを承知の上で書きます
あなたが>>689や>>695でやりたいことは
[bg storage="&f.bg + '.jpg'" time=1000]
というような書き方で実現できるかと思います
簡単に説明します
まず「&f.bg」の「&」はエンティティと呼ばれるもので変数の値をタグのパラメータとして渡すときに使用します
https://tyrano.jp/usage/tech/hensuu
の最後に説明があります
そして、storageパラメータに渡す際に「 + '.jpg'」で拡張子を連結しています。これは
https://tyrano.jp/sample2/code/kiso/19#demo
のkaisetsu/19_variable_1.ksの415行目~に変数に対して数値演算をした値を
パラメータに渡す例がありました。文字列の連結も同様に可能です
これによって、変数f.bgの値が「花」ならば「花.jpg」が、「山」ならば「山.jpg」が表示されます
例は背景ですがキャラやその他の画像でも可能だと思います
ティラノについて少し調べたのでスレ違いを承知の上で書きます
あなたが>>689や>>695でやりたいことは
[bg storage="&f.bg + '.jpg'" time=1000]
というような書き方で実現できるかと思います
簡単に説明します
まず「&f.bg」の「&」はエンティティと呼ばれるもので変数の値をタグのパラメータとして渡すときに使用します
https://tyrano.jp/usage/tech/hensuu
の最後に説明があります
そして、storageパラメータに渡す際に「 + '.jpg'」で拡張子を連結しています。これは
https://tyrano.jp/sample2/code/kiso/19#demo
のkaisetsu/19_variable_1.ksの415行目~に変数に対して数値演算をした値を
パラメータに渡す例がありました。文字列の連結も同様に可能です
これによって、変数f.bgの値が「花」ならば「花.jpg」が、「山」ならば「山.jpg」が表示されます
例は背景ですがキャラやその他の画像でも可能だと思います
712デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.194.234.17])
2023/03/14(火) 13:30:55.51ID:crjDIavXr >>705
なお、簡単なサンプルで動作確認をしました
https://tyrano.jp/usage/tutorial/moji
上記チュートリアルに従って新規プロジェクトを作成し、
first.ksの内容を以下のように書き換えて実行してみてください
*start
[wait time=100]
背景を変更します。[r]
[link target=*select_room]<教室>[endlink][r]
[link target=*select_rouka]<廊下>[endlink][r]
[s]
*select_room
[eval exp="f.bg='room'"]
[jump target=end_select]
*select_rouka
[eval exp="f.bg='rouka'"]
[jump target=end_select]
*end_select
[cm]
[bg storage="&f.bg + '.jpg'" time=1000]
[jump target=start]
なお、簡単なサンプルで動作確認をしました
https://tyrano.jp/usage/tutorial/moji
上記チュートリアルに従って新規プロジェクトを作成し、
first.ksの内容を以下のように書き換えて実行してみてください
*start
[wait time=100]
背景を変更します。[r]
[link target=*select_room]<教室>[endlink][r]
[link target=*select_rouka]<廊下>[endlink][r]
[s]
*select_room
[eval exp="f.bg='room'"]
[jump target=end_select]
*select_rouka
[eval exp="f.bg='rouka'"]
[jump target=end_select]
*end_select
[cm]
[bg storage="&f.bg + '.jpg'" time=1000]
[jump target=start]
713デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/14(火) 20:28:58.71ID:2HNLo12V0 >>711
ありがとうございます!!できました!!
ありがとうございます!!できました!!
714デフォルトの名無しさん (ワッチョイ 6701-QDb6 [60.116.224.81])
2023/03/14(火) 20:53:16.27ID:2HNLo12V0715デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.252.137])
2023/03/14(火) 20:53:28.39ID:GiZ8CeD1r >>713
解決したのならなによりです
が、今回無駄に遠回りをしてしまったのは自覚、反省しましょう
あなたはこの問題の解決はティラノ単体では無理だと決めつけてしまったためにこのスレで質問しましたが
その判断は正しくありませんでした
繰り返しになりますが、この先また何か躓いたときはまずティラノの掲示板なりスレなりで聞いてみるようにしましょう(たとえJSに関することであれ)
その方が解決が早く、的確なはずです
解決したのならなによりです
が、今回無駄に遠回りをしてしまったのは自覚、反省しましょう
あなたはこの問題の解決はティラノ単体では無理だと決めつけてしまったためにこのスレで質問しましたが
その判断は正しくありませんでした
繰り返しになりますが、この先また何か躓いたときはまずティラノの掲示板なりスレなりで聞いてみるようにしましょう(たとえJSに関することであれ)
その方が解決が早く、的確なはずです
716デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.252.137])
2023/03/14(火) 21:02:42.69ID:GiZ8CeD1r717デフォルトの名無しさん (ササクッテロラ Spdb-Muon [126.182.172.77])
2023/03/15(水) 01:17:49.11ID:sTLgg4Iop 初めまして
Pixiv filter(GitHubで公開、リンクはスパム対策で貼れず)という拡張機能がありまして、それに似たものを自作したいと思い立ち、色々調べてみました
別スレにて、検索画面上での作品ごとのタグは、画面には表示されないもののデータとしては生成されている、という事を伺ったのですが、
どこに生成されているのか、どうやったら参照できるのかなどが分からず、苦戦しております。
ご教授頂ければ幸いです
Pixiv filter(GitHubで公開、リンクはスパム対策で貼れず)という拡張機能がありまして、それに似たものを自作したいと思い立ち、色々調べてみました
別スレにて、検索画面上での作品ごとのタグは、画面には表示されないもののデータとしては生成されている、という事を伺ったのですが、
どこに生成されているのか、どうやったら参照できるのかなどが分からず、苦戦しております。
ご教授頂ければ幸いです
718デフォルトの名無しさん (アウアウウー Sa2b-lsaJ [106.146.115.112])
2023/03/15(水) 02:28:06.62ID:i4bxOxoza これか?
github.com/kazu-ux/PixivFilter
React, TypeScript
github.com/kazu-ux/PixivFilter
React, TypeScript
719デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/15(水) 07:58:24.49ID:q+AMrJS6H 反省なんて必要ないわ、なんか強迫症的なやつがうざい
なんなんだ、執着が過ぎる
なんなんだ、執着が過ぎる
720デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/15(水) 08:01:02.20ID:q+AMrJS6H プログラムではすべてのタグを検出して配列等に格納しているが
そこから抽出して出力する処理をしてるってことじゃない?
見てないからわからんけど
そこから抽出して出力する処理をしてるってことじゃない?
見てないからわからんけど
721デフォルトの名無しさん (スプッッ Sd7f-ysRc [1.75.242.214])
2023/03/15(水) 09:37:50.61ID:OLitJJv/d >>717
なんか見覚えあると思ったらこれか
https://mevius.5ch.net/test/read.cgi/hp/1439005423/342
343をレスしたの俺だけど回答の内容を理解できなかったってこと?
分からないところがあったのなら追加で質問すればよかったろうに
それをせずに全然違うスレで聞き直してるのはなんで?
なんか見覚えあると思ったらこれか
https://mevius.5ch.net/test/read.cgi/hp/1439005423/342
343をレスしたの俺だけど回答の内容を理解できなかったってこと?
分からないところがあったのなら追加で質問すればよかったろうに
それをせずに全然違うスレで聞き直してるのはなんで?
722デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/15(水) 20:45:42.17ID:q+AMrJS6H Pixiv filterが何なのかわからないし確認もしてないけど、
例えば複数の作品毎にTagオブジェクトがあったとして、
Tagのプロパティに表示させるか表示させないかを判定するプロパティがあり
そのプロパティ名がshowAbleで、表示を許可するのは、showAble:true
許可しない場合には、showAble:false
とされていたとすれば
まず最初にすべての作品Tagオブジェクトが格納されている配列を取得し(もしくは配列に取得する関数を作り)
(let tagArr=[tag1,tag2,tag3,tag4....];)
その配列から、tag.showAble=trueであるオブジェクトを取得して別の配列(showAblerArray)に格納し
(let showAbleArray=[] ; for(let t of tagArr){ (if(t.showAble==true){showAbleArray.push(t)
showAbleArrayの全要素に対して、表示させる処理をする
(for(let s of showAbleArray){,,,,,,どこに表示させるか......})
っていう感じでどうですか?
例えば複数の作品毎にTagオブジェクトがあったとして、
Tagのプロパティに表示させるか表示させないかを判定するプロパティがあり
そのプロパティ名がshowAbleで、表示を許可するのは、showAble:true
許可しない場合には、showAble:false
とされていたとすれば
まず最初にすべての作品Tagオブジェクトが格納されている配列を取得し(もしくは配列に取得する関数を作り)
(let tagArr=[tag1,tag2,tag3,tag4....];)
その配列から、tag.showAble=trueであるオブジェクトを取得して別の配列(showAblerArray)に格納し
(let showAbleArray=[] ; for(let t of tagArr){ (if(t.showAble==true){showAbleArray.push(t)
showAbleArrayの全要素に対して、表示させる処理をする
(for(let s of showAbleArray){,,,,,,どこに表示させるか......})
っていう感じでどうですか?
723デフォルトの名無しさん (ワッチョイ 7fdb-JIpj [217.178.96.73])
2023/03/15(水) 22:44:21.64ID:ohrI2qnX0 jQueryはなぜ嫌われる?
簡単な構文で便利だと思うが…。
他のライブラリ・フレームワークとの互換性が高ければいいのに。
簡単な構文で便利だと思うが…。
他のライブラリ・フレームワークとの互換性が高ければいいのに。
724デフォルトの名無しさん (テテンテンテン MM8f-PrUD [133.106.32.56])
2023/03/15(水) 23:48:50.56ID:T0OxazTtM 技術的には好かれてるわけでも嫌われてるわけでもない
スレ的には脈絡なく蒸し返す厄介な奴がいるので敬遠される
スレ的には脈絡なく蒸し返す厄介な奴がいるので敬遠される
725デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/16(木) 07:03:01.34ID:Hd88hZaKH 嫌われてはないんだろうけどスレチなんでない?
726デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/16(木) 07:15:13.56ID:Hd88hZaKH javascriptで作られたプログラムの処理に関して
Jqyeryを使えば簡単だよって言われても
いやいやここはjSで書きたいんでってなるでしょ
そういう質問に対してjqのほうが簡単っていうのがよくわからん
フレームワークの質問スレは
ベース言語のすれとは別に立てたほうが
Jqyeryを使えば簡単だよって言われても
いやいやここはjSで書きたいんでってなるでしょ
そういう質問に対してjqのほうが簡単っていうのがよくわからん
フレームワークの質問スレは
ベース言語のすれとは別に立てたほうが
727デフォルトの名無しさん (ワッチョイ 7f7b-NJMI [153.178.229.141])
2023/03/16(木) 09:02:04.98ID:c9lqR0yG0 www
728デフォルトの名無しさん (ワッチョイ df79-EKUa [27.132.129.202])
2023/03/16(木) 10:39:46.62ID:fxj0X8UB0 フレームワークスレは一応立ってるね
糞スレだからそこで質問して回答があるのか知らんけど
糞スレだからそこで質問して回答があるのか知らんけど
729デフォルトの名無しさん (オッペケ Srdb-k1Ry [126.179.240.140])
2023/03/16(木) 11:25:08.38ID:QjQVIFFDr730デフォルトの名無しさん (ワッチョイ dff0-S+nL [211.19.68.36])
2023/03/16(木) 15:46:42.93ID:FgyDZ6E70 いえいえ、違います、気にしないでください
731デフォルトの名無しさん (ワッチョイ 6701-ob1i [60.118.122.145])
2023/03/16(木) 20:33:58.52ID:ParHajkN0732デフォルトの名無しさん (スップ Sd7f-ysRc [1.72.6.83])
2023/03/16(木) 20:55:51.48ID:Olf8APhOd733デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/16(木) 21:11:03.92ID:Hd88hZaKH 混乱させるだけとかwww
そもそも解答者がわざわざ対象コードを検索して読み込み
そして質問者が満足するようなコードを生成するとか、自分は絶対しないw
質問者は
・何やら検索するらしい
・検索はタグで行うらしい
・タグで検索しても表示するものとしないものがあるらしい
その3点でアドバイスするのなら
・検索ワードでヒットする画像を抽出する
・ヒット判定は画像のタグプロパティで判定
・判定でヒットした画像を1枚もしくは複数枚表示する
とした場合で、初心者初学者向けにアドバイスするのなら
上記の感じのアドバイス以外に何かできるアドバイスあるん?
質問の質以上のアドバイスなんてできない
まずはオブジェクトとプロパティあたりから始めるしかないっしょ
って思ってのアドバイスなのねん
そもそも解答者がわざわざ対象コードを検索して読み込み
そして質問者が満足するようなコードを生成するとか、自分は絶対しないw
質問者は
・何やら検索するらしい
・検索はタグで行うらしい
・タグで検索しても表示するものとしないものがあるらしい
その3点でアドバイスするのなら
・検索ワードでヒットする画像を抽出する
・ヒット判定は画像のタグプロパティで判定
・判定でヒットした画像を1枚もしくは複数枚表示する
とした場合で、初心者初学者向けにアドバイスするのなら
上記の感じのアドバイス以外に何かできるアドバイスあるん?
質問の質以上のアドバイスなんてできない
まずはオブジェクトとプロパティあたりから始めるしかないっしょ
って思ってのアドバイスなのねん
734デフォルトの名無しさん (スップ Sd7f-ysRc [1.72.6.83])
2023/03/16(木) 21:38:40.67ID:Olf8APhOd 質問者がわからないと言ってるものには具体的な対象があるわけよ
それを無視して一般的な考え方のアドバイスをするなら抽象的な話にとどめればよくて
わざわざデタラメコードを生成することはなかろ
それを無視して一般的な考え方のアドバイスをするなら抽象的な話にとどめればよくて
わざわざデタラメコードを生成することはなかろ
735デフォルトの名無しさん (JP 0Hdb-mIEw [126.249.157.89])
2023/03/16(木) 22:01:47.84ID:Hd88hZaKH それはそうですね
おっしゃる通り
でもデタラメとか言わんでください!
おっしゃる通り
でもデタラメとか言わんでください!
736デフォルトの名無しさん (スプッッ Sd7f-ysRc [1.75.239.249])
2023/03/17(金) 21:04:07.19ID:irjN28+Dd 他に適切な表現が見つからなかったからごめんな
737デフォルトの名無しさん (ワッチョイ 275f-cRUl [14.8.104.32])
2023/03/17(金) 21:08:34.06ID:ZP9+v2PL0 こっちがデタラメなコード書くと見かねていい感じのコード書いてくれるツンデレ
738デフォルトの名無しさん (ワッチョイ bf01-QD5u [126.34.214.202])
2023/03/18(土) 02:26:56.50ID:dC3/JFCa0 すみません、私の知識不足というか理解不足も大きそうですので、手が出るところからさせて頂こうと思います。
javascriptの「fetch」メソッドなのですが、これはjsonファイルを読み込む事はできないのでしょうか?ローカルで試しましたが、エラーになってしまうようです
javascriptの「fetch」メソッドなのですが、これはjsonファイルを読み込む事はできないのでしょうか?ローカルで試しましたが、エラーになってしまうようです
739デフォルトの名無しさん (ワッチョイ 2261-ItkS [61.214.177.246])
2023/03/18(土) 05:10:03.75ID:s5wH/EpL0740デフォルトの名無しさん (ワッチョイ bf01-QD5u [126.34.214.202])
2023/03/18(土) 15:36:03.94ID:dC3/JFCa0 ありがとうございます。「ローカルのサーバーを立てる」と良いらしいのですサーバーは専用のパソコンでないと、セキュリティ的にも危険と聞いた事もありますが、大丈夫なのでしょうか。また、実際やるとしたら、どのような方法があるでしょうか。
741デフォルトの名無しさん (ワッチョイ 2f5f-6AqJ [14.8.104.32])
2023/03/18(土) 15:40:55.59ID:T8cp6VGg0 Xamppつかっておけばよろし
742デフォルトの名無しさん (JP 0Hbf-BQ3C [126.249.157.89])
2023/03/18(土) 19:03:06.43ID:xpgWDt8BH743デフォルトの名無しさん (スップ Sd42-bksZ [49.97.103.47])
2023/03/18(土) 21:30:20.18ID:HGxbjpaKd Promise.race()で複数のPromiseを渡して、最初に終了したタスクのPromiseを受け取ったあと、同様に順次残りのタスクを完了したものから受け取るような書き方はできますか?
(最終的にすべての非同期タスクの終了まで繰り返す)
Pythonでいう、as_completedのように複数非同期タスクを、終了次第順次ループで受け取るような形です。
(最終的にすべての非同期タスクの終了まで繰り返す)
Pythonでいう、as_completedのように複数非同期タスクを、終了次第順次ループで受け取るような形です。
744デフォルトの名無しさん (ワッチョイ e295-QD5u [221.133.86.105])
2023/03/19(日) 12:35:04.92ID:DxTl2kdL0745デフォルトの名無しさん (ワッチョイ e295-QD5u [221.133.86.105])
2023/03/19(日) 12:36:07.26ID:DxTl2kdL0 正確には「{"名前":値}」ですね。省略できれば楽だなと思ったのですが。
746デフォルトの名無しさん (スプッッ Sd62-Gkow [1.75.215.95])
2023/03/19(日) 12:59:08.70ID:4pa7IAk9d {"名前":値}はあくまでオブジェクトの形式であって文字列や数値のみを返したいなら不要
ただし文字列は"あああ"や"abc"とする必要はある
https://www.json.org/json-ja.html
ただし文字列は"あああ"や"abc"とする必要はある
https://www.json.org/json-ja.html
747デフォルトの名無しさん (ワッチョイ e295-QD5u [221.133.86.105])
2023/03/19(日) 13:08:00.26ID:DxTl2kdL0 ありがとうございます。おそらく
"abc", "あああ"
のようなカンマ区切りで大丈夫でしょうか。
"abc", "あああ"
のようなカンマ区切りで大丈夫でしょうか。
748デフォルトの名無しさん (スプッッ Sd62-Gkow [1.75.240.230])
2023/03/19(日) 13:20:25.80ID:S0dCUzy1d 単一の値でない場合は配列にすること
["abc", "あああ"]
有効なjson形式かどうかはJSON.parse()に食わせてみるといい
JSON.parse('"abc", "あああ"'); //NG
JSON.parse('["abc", "あああ"]'); //OK
["abc", "あああ"]
有効なjson形式かどうかはJSON.parse()に食わせてみるといい
JSON.parse('"abc", "あああ"'); //NG
JSON.parse('["abc", "あああ"]'); //OK
749デフォルトの名無しさん (ワッチョイ e295-QD5u [221.133.86.105])
2023/03/19(日) 14:04:53.34ID:DxTl2kdL0 >>748
参考になりました。ありがとうございます。
参考になりました。ありがとうございます。
750デフォルトの名無しさん (ブーイモ MM4e-VSrg [133.159.153.15])
2023/03/19(日) 15:26:18.81ID:FTc6ajskM >>743
各promise完了後に順次実行したい共通処理をmapしてthenでチェイン
Promise.all(promises.map(p=>p.then(log(“resolved”)))).then(log(“All finished”);
function log(message=“”) {
return (x) => {
console.log(`${message}: ${x}`);
return x;
}
}
各promise完了後に順次実行したい共通処理をmapしてthenでチェイン
Promise.all(promises.map(p=>p.then(log(“resolved”)))).then(log(“All finished”);
function log(message=“”) {
return (x) => {
console.log(`${message}: ${x}`);
return x;
}
}
751デフォルトの名無しさん (ワッチョイ d755-a1qf [220.97.196.212])
2023/03/19(日) 16:15:48.14ID:/GeuLHtL0 趣味でWebサイトを使うのにJSを勉強しだしてまだ3年目なのですが、
なぜか年明けから会社のDX担当にされました。
今社内システムがIE9向けにActiveXが使われているのですが、Edgeに移行するので動くように直してと言われています。
これまで自分なりにいろいろ調べてきて、とりあえずHTML/CSSなどの見た目の部分と、大したことをしていないJSの部分は移行できたのですが、
肝心のActiveXであれこれやっているところを直すことができません。
期限は3月末までで苦しんでいます。
例えばこのような箇所があります。
var connection = new ActiveXObject("ADODB.Connection")
var recordset = new ActiveXObject("ADODB.Recordset")
var connectionString = "Provider=sqloledb;Data Source=〜〜〜
var query = "〜〜〜
connection.Open(connectionString)
recordset.Open(query, connection)
while (!recordset.EOF) {
var encryptedData = recordset.Fields("data").value
var decryptedData = decryptData(encryptedData, decryptionKey)
〜〜〜
recordset.MoveNext()
}
これをEdgeで代替手段で実装しようと思ったら、どのようなコードになりますか?
ライブラリやフレームワークは使ってはいけないことになっていますが、バレなさそうなものなら中に組み込むつもりです。
どうかよろしくお願いします。
なぜか年明けから会社のDX担当にされました。
今社内システムがIE9向けにActiveXが使われているのですが、Edgeに移行するので動くように直してと言われています。
これまで自分なりにいろいろ調べてきて、とりあえずHTML/CSSなどの見た目の部分と、大したことをしていないJSの部分は移行できたのですが、
肝心のActiveXであれこれやっているところを直すことができません。
期限は3月末までで苦しんでいます。
例えばこのような箇所があります。
var connection = new ActiveXObject("ADODB.Connection")
var recordset = new ActiveXObject("ADODB.Recordset")
var connectionString = "Provider=sqloledb;Data Source=〜〜〜
var query = "〜〜〜
connection.Open(connectionString)
recordset.Open(query, connection)
while (!recordset.EOF) {
var encryptedData = recordset.Fields("data").value
var decryptedData = decryptData(encryptedData, decryptionKey)
〜〜〜
recordset.MoveNext()
}
これをEdgeで代替手段で実装しようと思ったら、どのようなコードになりますか?
ライブラリやフレームワークは使ってはいけないことになっていますが、バレなさそうなものなら中に組み込むつもりです。
どうかよろしくお願いします。
752デフォルトの名無しさん (ワッチョイ 2f5f-7n5R [14.11.194.224])
2023/03/19(日) 16:36:55.71ID:HI67bUFb0 代替手段なんてない
仕事振ったやつが何も分かってない
あれこれやってる内容をなにか別の技術で1から組み立てる必要あり
それかedgeのIEモードは検討出来ないの?
仕事振ったやつが何も分かってない
あれこれやってる内容をなにか別の技術で1から組み立てる必要あり
それかedgeのIEモードは検討出来ないの?
753デフォルトの名無しさん (ブーイモ MM42-VSrg [49.239.65.72])
2023/03/19(日) 17:21:20.47ID:HTlOdPesM 今から実装してテストしてリリースしてその後の問い合わせ対応や運用に備えるのはスケジュール的に無理でしょ
3月末を死守する必要があるならIEモード1択
IEモードで時間稼ぎしてその間にサーバーサイドからDBアクセスする仕組みを作る
IEモードにするにしてもグループポリシーの変更・適用のテストや問い合わせ対応の準備を考えればそれでも時間が足りないくらい
3月末を死守する必要があるならIEモード1択
IEモードで時間稼ぎしてその間にサーバーサイドからDBアクセスする仕組みを作る
IEモードにするにしてもグループポリシーの変更・適用のテストや問い合わせ対応の準備を考えればそれでも時間が足りないくらい
754デフォルトの名無しさん (スプッッ Sd62-Gkow [1.75.233.226])
2023/03/19(日) 18:07:07.17ID:EAkcZvWPd >>751のコードにぶち当たった時点でEdgeというかブラウザ単体で実現できないことには気がついて欲しいものだが
仮にも2年はJSを勉強していたと言うなら
仮にも2年はJSを勉強していたと言うなら
755デフォルトの名無しさん (ワッチョイ 2279-1FFK [27.132.129.202])
2023/03/19(日) 18:51:42.92ID:M92RK9ru0 JSONでダミー値をコメントのつもりで使ってたらエスケープできてない\でパースエラーになるデータができたりして使うのが怖くなった
やっぱコメントぐらいは定義必要だったなこれ
人間が手書きするものじゃないとしてもよく普及したもんだ
やっぱコメントぐらいは定義必要だったなこれ
人間が手書きするものじゃないとしてもよく普及したもんだ
756デフォルトの名無しさん (ワッチョイ 2279-1FFK [27.132.129.202])
2023/03/19(日) 18:56:28.01ID:M92RK9ru0757デフォルトの名無しさん (ワッチョイ 2279-1FFK [27.132.129.202])
2023/03/19(日) 19:09:54.29ID:M92RK9ru0 ど素人だとIEモードが何なのかで3月は潰れるかもしれんけど一応
基本的には社内のADサーバでGPO管理してる奴にEdgeのIEモードのサイトリストに追加してもらう
これは君の担当以外にもIEモードのサイトは糞の山程あって既知の対応だからおそらく追加を依頼するだけでいいはず
うまくすればそれだけで作業が終わる可能性もある
基本的には社内のADサーバでGPO管理してる奴にEdgeのIEモードのサイトリストに追加してもらう
これは君の担当以外にもIEモードのサイトは糞の山程あって既知の対応だからおそらく追加を依頼するだけでいいはず
うまくすればそれだけで作業が終わる可能性もある
758デフォルトの名無しさん (ワッチョイ a2bd-qiwJ [125.194.52.6])
2023/03/19(日) 19:35:09.37ID:vtMigryt0 >>755
コメントの書式があったって書式から逸脱する文字列を入れてパースエラー出す未来しか見えんわ。
コメントの書式があったって書式から逸脱する文字列を入れてパースエラー出す未来しか見えんわ。
759デフォルトの名無しさん (ワッチョイ 2f5f-6AqJ [14.8.104.32])
2023/03/19(日) 19:46:06.22ID:GXvqERSA0 たぶんIEを前提とした目の前にあるコードを読み解いて作り直すより設計書用意したほうが早い
あるいはAIと二人三脚
あるいはAIと二人三脚
760751 (ワッチョイ d755-a1qf [220.97.196.212])
2023/03/19(日) 19:54:47.83ID:/GeuLHtL0 みなさまありがとうございます
IEモードは1,2度調べて、いつまでこのモードがあるか分からないからと止めたのですが、
やはり時間稼ぎも考えるとこれしかなさそうです。
その間に根本的な解決策を探したいと思います。
なぜか年明けから会社のDX担当にされました。
と言いましたが、実はそれは嘘です。
年末にかけて社員が半分以上辞めて、残った人の中で一番詳しそうだったのが僕だったのです。
実は、サーバーサイドをいじらないといけないのだということは、薄々気づいていました。
でも、今動き続けているサーバーを触れる人が誰もいないのです。
僕も、SQLというものがある、という程度の知識しかないので、触る気にもなりません。
とりあえず夏のボーナスまで引っ張って、無理そうだったら自分も転職します。
今動いているものをうっかり壊したら、止められなくなりそうなので慎重にがんばります。
ありがとうございました。
IEモードは1,2度調べて、いつまでこのモードがあるか分からないからと止めたのですが、
やはり時間稼ぎも考えるとこれしかなさそうです。
その間に根本的な解決策を探したいと思います。
なぜか年明けから会社のDX担当にされました。
と言いましたが、実はそれは嘘です。
年末にかけて社員が半分以上辞めて、残った人の中で一番詳しそうだったのが僕だったのです。
実は、サーバーサイドをいじらないといけないのだということは、薄々気づいていました。
でも、今動き続けているサーバーを触れる人が誰もいないのです。
僕も、SQLというものがある、という程度の知識しかないので、触る気にもなりません。
とりあえず夏のボーナスまで引っ張って、無理そうだったら自分も転職します。
今動いているものをうっかり壊したら、止められなくなりそうなので慎重にがんばります。
ありがとうございました。
761デフォルトの名無しさん (スプッッ Sd62-Gkow [1.75.215.110])
2023/03/19(日) 19:55:19.68ID:xryn/wmcd762デフォルトの名無しさん (ワッチョイ 2279-1FFK [27.132.129.202])
2023/03/19(日) 20:23:01.76ID:M92RK9ru0 何が理由かは置いといて技術を含めた社員がごっそり半数も辞めてる状況だとその会社から賞与もまともには出ないだろう
Edgeへの移行時期としてもかなり遅れてるし有給消化しつつ転職活動に専念した方がいいね
Edgeへの移行時期としてもかなり遅れてるし有給消化しつつ転職活動に専念した方がいいね
763デフォルトの名無しさん (ワッチョイ 2279-1FFK [27.132.129.202])
2023/03/19(日) 20:33:33.23ID:M92RK9ru0764デフォルトの名無しさん (スップ Sd42-Gkow [49.97.109.220])
2023/03/19(日) 22:37:02.99ID:SC8SOdGAd >>763
パーサーにケチつけてるよりはその方が建設的でしょうよ
パーサーにケチつけてるよりはその方が建設的でしょうよ
765デフォルトの名無しさん (アウアウウー Sa9b-jnF6 [106.133.163.48])
2023/03/20(月) 03:23:46.29ID:iV2jn8x9a >>738
VSCode の拡張機能では、
open in browser では、ローカルファイルアクセスになる。
この場合、CORS など、ブラウザの色々な制限がある
file:///C:/Users/Owner/Documents/test/index.html
一方、Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい
http://127.0.0.1:5500/test/index.html
>>751
そういうのは、Excel, VBA, Access とかじゃないの?
ベンチャー企業やプロのバックエンドは、Ruby on Rails だけど
VSCode の拡張機能では、
open in browser では、ローカルファイルアクセスになる。
この場合、CORS など、ブラウザの色々な制限がある
file:///C:/Users/Owner/Documents/test/index.html
一方、Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい
http://127.0.0.1:5500/test/index.html
>>751
そういうのは、Excel, VBA, Access とかじゃないの?
ベンチャー企業やプロのバックエンドは、Ruby on Rails だけど
766デフォルトの名無しさん (アウアウウー Sa9b-jnF6 [106.133.163.48])
2023/03/20(月) 04:02:42.23ID:iV2jn8x9a >>743
Promise.all/allSettled とか?
Promise.all/allSettled とか?
767デフォルトの名無しさん (ワッチョイ a3ad-a1qf [210.250.191.46])
2023/03/20(月) 19:47:12.99ID:PTBUy+ct0 chromeの拡張機能で、「ngWord.json」内のデータを「background.js」経由で「content_script.js」に格納しようとしていたのですが、上手くいきません。コードでおかしな点等あれば、ご教授頂けないでしょうか。
【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
// content_script.jsにデータを送信
chrome.runtime.sendMessage({ngWords: data});
});
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords); // 受信したデータを表示
}
});
【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
// content_script.jsにデータを送信
chrome.runtime.sendMessage({ngWords: data});
});
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords); // 受信したデータを表示
}
});
768デフォルトの名無しさん (ワッチョイ c603-MaqH [153.222.136.198])
2023/03/20(月) 19:56:51.89ID:hUotJVz90 >>767
バックグラウンドからタブに送信するならchrome.tabs.sendMessageじゃないかな?
バックグラウンドからタブに送信するならchrome.tabs.sendMessageじゃないかな?
769デフォルトの名無しさん (ワッチョイ a3ad-a1qf [210.250.191.46])
2023/03/20(月) 20:37:35.10ID:PTBUy+ct0 >>768
「タブ」というのは、「content_script.js」のことでしょうか?
だとすると「chrome.tabs.sendMessage(tabId: content_script.js, ngWords: data)のように書く感じでしょうか。
「タブ」というのは、「content_script.js」のことでしょうか?
だとすると「chrome.tabs.sendMessage(tabId: content_script.js, ngWords: data)のように書く感じでしょうか。
770デフォルトの名無しさん (テテンテンテン MM4e-7n5R [133.106.242.180])
2023/03/20(月) 20:53:08.72ID:mlA7fjwPM 雑な方法としてはアクティブなタブに送ればいいんちゃう?
771デフォルトの名無しさん (ワッチョイ c603-MaqH [153.222.136.198])
2023/03/20(月) 21:36:27.87ID:hUotJVz90 >>769
そうです。background から content_script に送信する場合はchrome.tabs.sndMessage だったと思いますよ
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sndMessage(tabs[0].id,{
ngWordsg:data
})
}})
というような感じで
そうです。background から content_script に送信する場合はchrome.tabs.sndMessage だったと思いますよ
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sndMessage(tabs[0].id,{
ngWordsg:data
})
}})
というような感じで
772デフォルトの名無しさん (ワッチョイ f761-ItkS [124.86.236.22])
2023/03/20(月) 21:40:33.20ID:xjtq7KFo0 最初にコンテンツスクリプト側から何かメッセージ送れば
バックグラウンド側のchrome.runtime.onmessage.addListenerのsender.tab.idでタブID取れるっしょ
バックグラウンド側のchrome.runtime.onmessage.addListenerのsender.tab.idでタブID取れるっしょ
773デフォルトの名無しさん (ワッチョイ c603-MaqH [153.222.136.198])
2023/03/20(月) 21:49:32.93ID:hUotJVz90 それならtab.id必要なくてsendResponseで返せるんじゃないかな?
774デフォルトの名無しさん (ワッチョイ a3ad-a1qf [210.250.191.46])
2023/03/20(月) 21:53:15.40ID:PTBUy+ct0 【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sendMessage(tabs[0].id,{ngWords:data})
});
};
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords);
}
});
このように修正しましたが、上手く取得できないようです。
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sendMessage(tabs[0].id,{ngWords:data})
});
};
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords);
}
});
このように修正しましたが、上手く取得できないようです。
775デフォルトの名無しさん (ワッチョイ c603-MaqH [153.222.136.198])
2023/03/20(月) 22:00:26.17ID:hUotJVz90 そもそもngWord.jsonの中身とれてますか?ローカルファイルならweb_accessible_resources書いてchrome.extension.getURLで取るんじゃないでしょうか?
776デフォルトの名無しさん (ワッチョイ f761-ItkS [124.86.236.22])
2023/03/20(月) 22:04:38.80ID:xjtq7KFo0 もしかしてスクリプト本当にそれだけなの?
だとしたらcontent_script.js実行される前にbackground.js終わってそう
だとしたらcontent_script.js実行される前にbackground.js終わってそう
777デフォルトの名無しさん (ワッチョイ a3ad-a1qf [210.250.191.46])
2023/03/20(月) 22:24:56.04ID:PTBUy+ct0 申し訳ありません、私の知識不足で、よく分かりません。もう一度格闘して、改めて質問させて頂きます。ご教授下さり、ありがとうございます。
778デフォルトの名無しさん (ワッチョイ c603-MaqH [153.222.136.198])
2023/03/20(月) 23:58:23.18ID:hUotJVz90 >>777
めっちゃ適当なこと言ってましたわ
web_accessible_resourcesとchrome.extention.getURLは関係ないっぽいです
まずcontent_scriptが実行されるタイミングでbackgroundからタブにデータを送れるはずなくて
かといってcontent _scriptからメッセージ送ってbackgroundでfetchしたデータを送ろうとしてもセキュリティー的になのか送れない
なのでbackgroundでfetchしたjsonをchrome.storage.local.setで保存してcontent _scriptからchrome.storage.local.getで読み込むが正解っぽいです
暇だったんで...
めっちゃ適当なこと言ってましたわ
web_accessible_resourcesとchrome.extention.getURLは関係ないっぽいです
まずcontent_scriptが実行されるタイミングでbackgroundからタブにデータを送れるはずなくて
かといってcontent _scriptからメッセージ送ってbackgroundでfetchしたデータを送ろうとしてもセキュリティー的になのか送れない
なのでbackgroundでfetchしたjsonをchrome.storage.local.setで保存してcontent _scriptからchrome.storage.local.getで読み込むが正解っぽいです
暇だったんで...
779デフォルトの名無しさん (アウアウウー Sa9b-jnF6 [106.146.108.71])
2023/03/21(火) 04:01:46.37ID:rEPYZ+tza 漏れはプロジェクトを作って、index.ts に、TypeScript で以下を書いて、
npm/yarn, webpack, babel でビルドすれば、
import で、JSON ファイルやLodash も読み込めるけど
import WordData from "./word_data_tmp.json";
console.log( WordData.length )
const ary = [ ...Array( 5 ).keys( ) ]
// => [0, 1, ....,4]
import shuffle from 'lodash.shuffle';
console.log( shuffle( ary ) );
// => シャッフルされる
npm/yarn, webpack, babel でビルドすれば、
import で、JSON ファイルやLodash も読み込めるけど
import WordData from "./word_data_tmp.json";
console.log( WordData.length )
const ary = [ ...Array( 5 ).keys( ) ]
// => [0, 1, ....,4]
import shuffle from 'lodash.shuffle';
console.log( shuffle( ary ) );
// => シャッフルされる
780デフォルトの名無しさん (ブーイモ MMbf-LIH3 [49.239.65.144])
2023/03/25(土) 14:02:02.15ID:MQIuadNDM Next.jsでAPI Routesを使わないのは一般的でしょうか?
781デフォルトの名無しさん (ワッチョイ cb01-KNGW [60.87.173.172])
2023/03/25(土) 18:19:14.13ID:1/y/Yy4J0 「一般的」のような主観的なものてはなく、客観的な定義が必要なのでは
782デフォルトの名無しさん (ワッチョイ eb5f-DdLV [14.8.104.32])
2023/03/28(火) 20:12:53.97ID:RtCr5Rz10 プロミスって何?
あとfetchってasync、await使うのと.then使うのでどっちがいいの?
あとfetchってasync、await使うのと.then使うのでどっちがいいの?
783デフォルトの名無しさん (ワッチョイ 1ff0-wSlO [211.19.68.36])
2023/03/29(水) 11:27:02.70ID:NxiPtBQP0784デフォルトの名無しさん (スップ Sdbf-I21X [1.72.0.185])
2023/03/29(水) 12:55:23.79ID:y04hNuo/d 消費者金融機関だよ
785デフォルトの名無しさん (ワッチョイ eb5f-DdLV [14.8.104.32])
2023/03/29(水) 13:11:20.35ID:6965UHWi0 >>784
絶対に許せないのでxhrにしますね
絶対に許せないのでxhrにしますね
786デフォルトの名無しさん (ワッチョイ 1f8b-3uzD [211.5.157.105])
2023/03/31(金) 02:32:51.01ID:VdncSfH00 メイン画面でボタンをクリックすると
別ウィンドウが起動し、ニュースサイトを表示するプログラムを組んでいます。
別ウィンドウが起動した時に
そのウィンドウが閉じられたのか、開かれたままであるのかを
メイン画面で判定するにはどういうコードを書けばよいでしょうか?
別ウィンドウでサイトが開かれている間は
1、2、3・・・とカウントし、閉じられると0を
メイン画面にjQueryでレンダリングしようとしています。
別ウィンドウが起動し、ニュースサイトを表示するプログラムを組んでいます。
別ウィンドウが起動した時に
そのウィンドウが閉じられたのか、開かれたままであるのかを
メイン画面で判定するにはどういうコードを書けばよいでしょうか?
別ウィンドウでサイトが開かれている間は
1、2、3・・・とカウントし、閉じられると0を
メイン画面にjQueryでレンダリングしようとしています。
787デフォルトの名無しさん (ワッチョイ 3bbd-OuhE [122.133.74.178])
2023/03/31(金) 03:09:38.31ID:29iJjOEC0 >>786
window.closed はどう?
window.closed はどう?
788デフォルトの名無しさん (ワッチョイ 1f8b-3uzD [211.5.157.105])
2023/03/31(金) 11:32:39.06ID:VdncSfH00789デフォルトの名無しさん (ワッチョイ 6910-bhMa [180.59.92.6])
2023/04/23(日) 22:40:30.72ID:k6QZkjYI0 先日(1週間くらい前)まで動いていたジャバスクリプトが動かなくなった。
ブラウザの不具合を疑って firefox、edge、さらに ie11 まで持ち出したらどれも動かない。
ウインドウズのセキュリティの締め上げかなと思って
スマホ(アンドロイド)で確認したがこっちも動いていない。
押し入れから昔のアイポッドタッチ(iOS9)を持ち出したが、やっぱ動かない。
こんなことってある?
アイポッドタッチなんてスクリプトが動いていたころとなに一つ変わっていないのに
なんでこの前は動いたのに今日は動かないんだ?
1年前のバックアップと差分比較してファイルが壊れていないことは確認した。
ちなみに自分がジャバスクリプトを作成するにあたって参考にしたスクリプトは
いまも普通に動いている。
ブラウザの不具合を疑って firefox、edge、さらに ie11 まで持ち出したらどれも動かない。
ウインドウズのセキュリティの締め上げかなと思って
スマホ(アンドロイド)で確認したがこっちも動いていない。
押し入れから昔のアイポッドタッチ(iOS9)を持ち出したが、やっぱ動かない。
こんなことってある?
アイポッドタッチなんてスクリプトが動いていたころとなに一つ変わっていないのに
なんでこの前は動いたのに今日は動かないんだ?
1年前のバックアップと差分比較してファイルが壊れていないことは確認した。
ちなみに自分がジャバスクリプトを作成するにあたって参考にしたスクリプトは
いまも普通に動いている。
790デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
2023/04/24(月) 07:00:31.38ID:z1nNn0o4H エラーも出てないのか?
まったく反応してないのならhtmlで読んでないんじゃね?
まったく反応してないのならhtmlで読んでないんじゃね?
791デフォルトの名無しさん (スプッッ Sd73-8Xzj [1.75.215.168])
2023/04/24(月) 08:37:00.30ID:Z0B9bFh/d 動いてた夢を見たんだ
792デフォルトの名無しさん (ワッチョイ a95f-LCeF [14.11.8.0 [上級国民]])
2023/04/24(月) 09:21:53.70ID:U4o0cUkO0793デフォルトの名無しさん (ワッチョイ 2bbd-L85M [49.129.243.228])
2023/04/24(月) 12:05:07.84ID:VtgoOt7B0 https の証明書が古い
794デフォルトの名無しさん (ワッチョイ 6910-bhMa [180.59.92.6])
2023/04/24(月) 13:08:00.47ID:MpRTlb310 >>792
エラーログを見たらあっさり解決しました。
夜更けに一人で大騒ぎしてごめんなさい orz
いまブラウザの開発者ツールでジャバスクリプトのエラーが見られるんだね。
びっくりした。
原因はHTMLの削除した部分にスクリプトで動かす部分があって
動かすべきものがないから次の処理に行けずエラーになっていました。
スクリプトばかり見ていてHTMLは盲点でした・・・。
エラーログを見たらあっさり解決しました。
夜更けに一人で大騒ぎしてごめんなさい orz
いまブラウザの開発者ツールでジャバスクリプトのエラーが見られるんだね。
びっくりした。
原因はHTMLの削除した部分にスクリプトで動かす部分があって
動かすべきものがないから次の処理に行けずエラーになっていました。
スクリプトばかり見ていてHTMLは盲点でした・・・。
795デフォルトの名無しさん (ワッチョイ 91bd-L85M [122.133.75.49])
2023/04/24(月) 13:15:26.56ID:3ESYAe520 開発者ツール超便利だよね
796デフォルトの名無しさん (オッペケ Src5-mXUZ [126.33.81.44])
2023/04/24(月) 13:22:29.25ID:sSUQNn8cr まあそういうオチだろうなとは
アドバイスを求めるならhtmlを修正したことは伝えるようにしてほしいところ
アドバイスを求めるならhtmlを修正したことは伝えるようにしてほしいところ
797デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
2023/04/25(火) 18:51:33.50ID:/Hd1NuvtH 解決したようでなによりなにより
798デフォルトの名無しさん (ワッチョイ eb7d-RykB [1.33.235.4])
2023/04/26(水) 19:26:29.99ID:lfd6T/fN0 http://abehiroshi.la.coocan.jp/
この阿部さんのHPの左のフレームから「舞台出演」を取得したいんだけど、
const frame = await page.$('frame[name="left"]');
const contentFrame = await frame.contentFrame();
こんな感じでcontentFrameを取得するところまでは上手く行くんだけど、
const aElement = await contentFrame.$('body table.today tr:nth-child(8) td:nth-child(3) p a');
次の要素を取得する段階になるとnullになってしいます
どうすれば阿部さんの舞台出演を取得できますか?
この阿部さんのHPの左のフレームから「舞台出演」を取得したいんだけど、
const frame = await page.$('frame[name="left"]');
const contentFrame = await frame.contentFrame();
こんな感じでcontentFrameを取得するところまでは上手く行くんだけど、
const aElement = await contentFrame.$('body table.today tr:nth-child(8) td:nth-child(3) p a');
次の要素を取得する段階になるとnullになってしいます
どうすれば阿部さんの舞台出演を取得できますか?
799デフォルトの名無しさん (ワッチョイ d961-99Et [220.107.169.163])
2023/04/26(水) 20:39:08.46ID:UfBGheQ30 >>798
.todayなんてclass付いてないぞい
.todayなんてclass付いてないぞい
800デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
2023/04/26(水) 22:57:11.72ID:Q5IzIMlUH それってJS?
801デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
2023/04/26(水) 23:08:17.75ID:Q5IzIMlUH そもそもnullを取得してるってことは所望のオブジェクトが取得できていないってことよん?
802デフォルトの名無しさん (エムゾネ FF33-Nhf9 [49.106.174.76])
2023/04/27(木) 13:47:05.09ID:jYECG79eF >>798
それ、ChromeのDevツールとかで、Elementの検索にセレクター入力してちゃんとヒットする?
それ、ChromeのDevツールとかで、Elementの検索にセレクター入力してちゃんとヒットする?
803デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
2023/04/29(土) 00:34:06.33ID:FZLDUbkY0 ['apple', 'パイナップル', 'pineapple (パイナップル)', 'りんご', 'pineapple']
を
['apple', 'パイナップル | pineapple', 'りんご']
に別名ふくめて重複削除して整形したいんですがスマートな方法ないですか
を
['apple', 'パイナップル | pineapple', 'りんご']
に別名ふくめて重複削除して整形したいんですがスマートな方法ないですか
804デフォルトの名無しさん (ワッチョイ 23bd-MgCS [125.197.237.23])
2023/04/29(土) 01:41:53.10ID:bskwYySl0805デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
2023/04/29(土) 01:58:50.79ID:FZLDUbkY0806デフォルトの名無しさん (ワッチョイ 23bd-MgCS [125.197.237.23])
2023/04/29(土) 02:08:42.66ID:bskwYySl0807デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
2023/04/29(土) 02:20:05.97ID:FZLDUbkY0 >>806
あります
あります
808デフォルトの名無しさん (ワッチョイ 03bd-MgCS [133.209.119.164])
2023/04/29(土) 05:52:34.96ID:q0/EY4lO0 >>807
ちょっと面白そうだったので作ってみたけど、あんまりいい出来にはならなかった。
わざわざ見せるようなものじゃないんだけど、一応貼っとく。
アプローチとしては、単品アイテムまたは別名で括られた同一アイテム毎に配列実体を持たせて、重複排除しながらその実体に放り込んで最後に文字列化する。
複数の別名定義で 2つ以上の名前を括ったり、名前の登場順で連結するようにした。
https://i.imgur.com/tY8Yg78.gif
ちょっと面白そうだったので作ってみたけど、あんまりいい出来にはならなかった。
わざわざ見せるようなものじゃないんだけど、一応貼っとく。
アプローチとしては、単品アイテムまたは別名で括られた同一アイテム毎に配列実体を持たせて、重複排除しながらその実体に放り込んで最後に文字列化する。
複数の別名定義で 2つ以上の名前を括ったり、名前の登場順で連結するようにした。
https://i.imgur.com/tY8Yg78.gif
809デフォルトの名無しさん (ワッチョイ 1bbd-MgCS [119.240.43.251])
2023/04/29(土) 06:04:20.63ID:ZqMIj65v0 あわわ、26-32行目は整理できた
const new-content = [];
alias_ref[item] = alias_content.length;
const new-content = [];
alias_ref[item] = alias_content.length;
810デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
2023/04/29(土) 20:12:37.30ID:wJzxOo1h0 JavaScriptでタイマー処理をしています。
指定した秒数(ここでは10秒)経過したらタイマーを停止する様にしていますが
タイマーが止まりません。助けてください、、、
$(document).ready(function(){
$("#id_div_test").click(function () {
setInterval(TestFunction , 1000);
});
});
var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(TestFunction);
}
}
指定した秒数(ここでは10秒)経過したらタイマーを停止する様にしていますが
タイマーが止まりません。助けてください、、、
$(document).ready(function(){
$("#id_div_test").click(function () {
setInterval(TestFunction , 1000);
});
});
var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(TestFunction);
}
}
811502 (ワッチョイ d501-nY3o [36.240.121.112])
2023/04/29(土) 20:34:34.21ID:ulzy/WI80812デフォルトの名無しさん (ブーイモ MM49-3F9Y [202.214.125.164])
2023/04/29(土) 20:36:30.58ID:WiY5v75xM clearIntervalの引数に入れるのはsetIntervalから帰ってくるnumber
型エラーでハマるのアホらしいしts使うか無理なら//@ts-checkをファイルの先頭に書いとけ
型エラーでハマるのアホらしいしts使うか無理なら//@ts-checkをファイルの先頭に書いとけ
813デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
2023/04/29(土) 20:54:08.29ID:wJzxOo1h0 >>812
わかりません。。。どう書けば良いでしょうか?
わかりません。。。どう書けば良いでしょうか?
814デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
2023/04/30(日) 00:03:19.23ID:x92s4/Ng0 >>812
できました!
できました!
815デフォルトの名無しさん (ワッチョイ 5b7c-01SL [122.212.18.110])
2023/05/07(日) 14:48:48.64ID:NS1NVPz40 >>810
こういうのはそのまんまChatGPTに聞けばヒントなり、回答、修正案なんかも返してくれ
る。
----
この問題は、`clearInterval`に渡す引数が誤っているために発生しています。`setInterval`に渡したのは `TestFunction`関数ですが、`clearInterval`に渡すのは `setInterval`が返すタイマーIDです。このタイマーIDは `setInterval`を呼び出すと返されます。
以下は修正されたコード例です。
$(document).ready(function(){
$("#id_div_test").click(function () {
var timerId = setInterval(TestFunction , 1000);
// タイマーIDを保持するために変数に代入する
});
});
var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(timerId); // 正しいタイマーIDを渡す
}
}
ここでは、`timerId`変数を`setInterval`の戻り値として宣言し、`clearInterval`に渡すようにしました。これにより、タイマーが正常に停止するはずです。
こういうのはそのまんまChatGPTに聞けばヒントなり、回答、修正案なんかも返してくれ
る。
----
この問題は、`clearInterval`に渡す引数が誤っているために発生しています。`setInterval`に渡したのは `TestFunction`関数ですが、`clearInterval`に渡すのは `setInterval`が返すタイマーIDです。このタイマーIDは `setInterval`を呼び出すと返されます。
以下は修正されたコード例です。
$(document).ready(function(){
$("#id_div_test").click(function () {
var timerId = setInterval(TestFunction , 1000);
// タイマーIDを保持するために変数に代入する
});
});
var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(timerId); // 正しいタイマーIDを渡す
}
}
ここでは、`timerId`変数を`setInterval`の戻り値として宣言し、`clearInterval`に渡すようにしました。これにより、タイマーが正常に停止するはずです。
816デフォルトの名無しさん (オイコラミネオ MMc7-3VlF [150.66.117.153])
2023/05/08(月) 05:12:47.92ID:AmPaXWnYM >>815
ここいらんやんけ…
ここいらんやんけ…
817デフォルトの名無しさん (ワッチョイ 52bd-F1Es [133.209.119.64])
2023/05/08(月) 09:31:16.79ID:nWGvwrRY0 >>815
setIntetval してるスコープの timerId を clearInterval するスコープから参照できる?
setIntetval してるスコープの timerId を clearInterval するスコープから参照できる?
818デフォルトの名無しさん (ワッチョイ 5b7c-01SL [122.212.18.110])
2023/05/08(月) 19:39:25.41ID:0kSPeCjv0 エラーが出たらまた聞けば直してくれる
あとほ聞き方の問題だね
あとほ聞き方の問題だね
819デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
2023/05/08(月) 22:29:23.94ID:BI0XZhvO0820デフォルトの名無しさん (オイコラミネオ MMc7-3VlF [150.66.117.113])
2023/05/08(月) 23:30:02.71ID:ieW4qdsxM 条件によってスクリプトを途中で止めさせたいんだけど三項演算子じゃreturnするしないを分けるのは無理?
if exitFlag return false
if exitFlag return false
821デフォルトの名無しさん (ワッチョイ e2bd-F1Es [221.171.102.45])
2023/05/08(月) 23:46:59.68ID:PuDhFqQc0 >>820
多分無理だと思うけど、なんで if じゃいけないの?
多分無理だと思うけど、なんで if じゃいけないの?
822デフォルトの名無しさん (オイコラミネオ MMc7-3VlF [150.66.117.113])
2023/05/08(月) 23:51:00.55ID:ieW4qdsxM >>821
三項演算子の中で使ってるからなんか気持ち悪い
三項演算子の中で使ってるからなんか気持ち悪い
823デフォルトの名無しさん (ワッチョイ e25c-KeI6 [203.139.52.200])
2023/05/09(火) 00:52:34.88ID:eLWpr74i0 f = (flag) => flag ? false : true;
console.log(f(true));
console.log(f(false));
console.log(f(true));
console.log(f(false));
824デフォルトの名無しさん (スッップ Sd42-01SL [49.98.137.246])
2023/05/09(火) 00:52:45.73ID:RQydgiqHd >>819
ChatGPTをプログラム用途で使ったこと無いなら一度つかってみると良いよ。
ググる手間がかなり少なくなる
もちろん、間違い返答の可能性もあるからそこら辺はうまく扱う必要があるけどね。
あとGitHub Copilotはもっとヤバいよ。プログラマーなら一度は使うべき
ChatGPTをプログラム用途で使ったこと無いなら一度つかってみると良いよ。
ググる手間がかなり少なくなる
もちろん、間違い返答の可能性もあるからそこら辺はうまく扱う必要があるけどね。
あとGitHub Copilotはもっとヤバいよ。プログラマーなら一度は使うべき
825デフォルトの名無しさん (ワッチョイ e2bd-F1Es [221.171.102.45])
2023/05/09(火) 01:40:34.46ID:r9kkpYgp0 OSS のソース読むときにも ChatGPT は便利だよ。
内部関数名とか聞いても何するものか教えてくれる。
この間 OpenSSL のソース読んでて助けられた。
暗号のコードなんて読んでもよくわからないしw
内部関数名とか聞いても何するものか教えてくれる。
この間 OpenSSL のソース読んでて助けられた。
暗号のコードなんて読んでもよくわからないしw
826デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
2023/05/09(火) 07:51:33.95ID:y5YEea020827デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
2023/05/09(火) 10:14:34.85ID:y5YEea020 ChatGPTでsqlでハマった点を質問してみたんだけど
ヤバイな。一瞬で分かり易く解説してくれた。
どんなプログラムを組んでるんだ。凄すぎる。
ヤバイな。一瞬で分かり易く解説してくれた。
どんなプログラムを組んでるんだ。凄すぎる。
828デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
2023/05/09(火) 14:59:12.62ID:y5YEea020 chatGPTえぐいんですけど。
829デフォルトの名無しさん (ワッチョイ ef1f-ZkZz [39.110.0.110])
2023/05/18(木) 17:50:03.04ID:An6NATd90 javascriptでctrl+Wでブラウザタブが落ちるのを無効にする方法はありますか?
830デフォルトの名無しさん (JP 0Heb-owa4 [126.249.157.89])
2023/05/23(火) 06:51:40.61ID:tIBpGAYNH それはJSの設定?Winの設定?
831デフォルトの名無しさん (アウアウウー Sab7-tdi0 [106.130.126.201])
2023/05/23(火) 20:39:57.19ID:85f2/18wa 最近勉強してvarの何でもありな傍若無人さに気が付いた
例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入されるからエラーにならず混乱の素、
ブロックスコープ内で使うとその生成を無視するから混乱の素
なのでプロなのにES6以降の環境で未だにvar使ってる人って新人にも劣ると思った
ES6以降でEcmaから非推奨と言われてるのに未だにvar使わなければいけない理由ってある?
今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入されるからエラーにならず混乱の素、
ブロックスコープ内で使うとその生成を無視するから混乱の素
なのでプロなのにES6以降の環境で未だにvar使ってる人って新人にも劣ると思った
ES6以降でEcmaから非推奨と言われてるのに未だにvar使わなければいけない理由ってある?
今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
832デフォルトの名無しさん (ワッチョイ fa5c-FIIW [203.139.52.200])
2023/05/23(火) 20:57:14.94ID:PscArQu/0 キモ
833デフォルトの名無しさん (ブーイモ MM16-F7IQ [133.159.150.75])
2023/05/23(火) 22:34:28.22ID:y7+F4Fx6M >>831
>例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入される
これいろいろ間違ってる
>未だにvar使わなければいけない理由ってある?
REPLで繰り返しコードブロックを実行したい場合なんかにvar使う
あとはブラウザ以外の環境でES3しか動かない環境とかね
>今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
良いと思うけど君もそっち側に片足突っ込んでるから気をつけて
>例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入される
これいろいろ間違ってる
>未だにvar使わなければいけない理由ってある?
REPLで繰り返しコードブロックを実行したい場合なんかにvar使う
あとはブラウザ以外の環境でES3しか動かない環境とかね
>今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
良いと思うけど君もそっち側に片足突っ込んでるから気をつけて
834デフォルトの名無しさん (ワッチョイ 9af0-FIIW [211.19.68.36])
2023/05/24(水) 10:07:05.19ID:qaFXRxUx0 スコープの基本だね
レキシカルなのかパラメーターなのか
DOMをいじるとみんな参照になるし変数大切ね
レキシカルなのかパラメーターなのか
DOMをいじるとみんな参照になるし変数大切ね
835デフォルトの名無しさん (ワッチョイ 23a7-xpLh [118.14.167.59])
2023/05/24(水) 10:45:52.94ID:R9+x876F0 匿名イベントを削除する方法って無い?
ググりまくっても全く見当たらんから仕方ないのでElement.prototype.addEventListenerフックしてフィルタしてるんだけど非常に遠回りな事してる気がしてならない
ググりまくっても全く見当たらんから仕方ないのでElement.prototype.addEventListenerフックしてフィルタしてるんだけど非常に遠回りな事してる気がしてならない
836デフォルトの名無しさん (ブーイモ MM86-F7IQ [163.49.208.121])
2023/05/24(水) 11:04:01.62ID:CrZEaXEyM >>835
イベントリスナーへの参照を保持してないと
removeEventListenerは使えない
あとはAbortSignalを使う方法がある
MDNのaddEventListener辺りに全部書いてる
イベントリスナーへの参照を保持してないと
removeEventListenerは使えない
あとはAbortSignalを使う方法がある
MDNのaddEventListener辺りに全部書いてる
837デフォルトの名無しさん (ワッチョイ 2b5f-i/qU [14.12.8.65])
2023/05/25(木) 06:53:07.70ID:djzVD0JU0 くそ素人で申し訳ない
ブックマークレットでCookieを編集する時に有効期限も同時に編集したいのだけれど
どうしたらいいのだろうか
元々は
javascript:document.cookie=%22ipb_member_id=〇〇%22;document.cookie=%22ipb_pass_hash=〇〇%22;
って感じなのだけれど1日くらいしたらすぐ消えてしまう
ブックマークレットでCookieを編集する時に有効期限も同時に編集したいのだけれど
どうしたらいいのだろうか
元々は
javascript:document.cookie=%22ipb_member_id=〇〇%22;document.cookie=%22ipb_pass_hash=〇〇%22;
って感じなのだけれど1日くらいしたらすぐ消えてしまう
838デフォルトの名無しさん (スップ Sd5a-9ehv [49.96.239.55])
2023/05/25(木) 11:10:49.64ID:vvIauVZOd どっかのRFCに載ってるはず
839デフォルトの名無しさん (ササクッテロラ Sp8b-tLvz [126.182.17.102])
2023/05/27(土) 14:04:26.57ID:MkhutBump >>837
そいつは有効期限も一緒に設定しなきゃならんな。
javascript:(function(){
var date = new Date();
date.setDate(date.getDate() + 30); // 30日後に設定
document.cookie = "ipb_member_id=〇〇; expires=" + date.toUTCString() + "; path=/";
document.cookie = "ipb_pass_hash=〇〇; expires=" + date.toUTCString() + "; path=/";
})();
こんな感じでやってみ。
これでipb_member_idとipb_pass_hashが
30日間有効になるぜ。
ただし、ブラウザの設定やCookieの設定によってはJavaScriptから触れないこともあるから、
その辺は自己責任でな。
そいつは有効期限も一緒に設定しなきゃならんな。
javascript:(function(){
var date = new Date();
date.setDate(date.getDate() + 30); // 30日後に設定
document.cookie = "ipb_member_id=〇〇; expires=" + date.toUTCString() + "; path=/";
document.cookie = "ipb_pass_hash=〇〇; expires=" + date.toUTCString() + "; path=/";
})();
こんな感じでやってみ。
これでipb_member_idとipb_pass_hashが
30日間有効になるぜ。
ただし、ブラウザの設定やCookieの設定によってはJavaScriptから触れないこともあるから、
その辺は自己責任でな。
840デフォルトの名無しさん (ワッチョイ 375f-mp2X [106.72.33.97])
2023/05/28(日) 15:24:03.43ID:n14WZ+eY0 documentのinnerHTMLやtextContentの書き換えをしたとき、ブラウザのDOMの計算(?)や再描画(?)は変更があった部分のみか、ページ全体で行われるののどちらでしょうか?
841デフォルトの名無しさん (ワッチョイ 975f-D91p [14.12.8.65])
2023/05/28(日) 23:28:10.35ID:8mVMxOyu0 >>839
ありがとうまじ助かった
ありがとうまじ助かった
842デフォルトの名無しさん (ワッチョイ 975f-f/x0 [14.8.104.32])
2023/05/29(月) 06:35:55.98ID:eVNfBOW80 CookieってPHPみたいなサーバーサイドから設定するのとJSから設定するのどっちが良いんかね?
同僚から受け継いだシステムはPHPでやってたが
同僚から受け継いだシステムはPHPでやってたが
843デフォルトの名無しさん (ワッチョイ 9f00-taKI [221.118.182.138 [上級国民]])
2023/05/29(月) 07:03:02.74ID:nuFuFtG60 HttpOnlyの存在考えるとサーバーサイド一択じゃね?
844デフォルトの名無しさん (ワッチョイ ffbb-dfVX [217.178.27.244])
2023/05/29(月) 08:05:53.64ID:7kZHwtIo0 ステートレスな通信を補助するものだから、処理の起点側でつけると良い
ただ、一般的にはサーバサイドになると思うよ
ただ、一般的にはサーバサイドになると思うよ
845デフォルトの名無しさん (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]])
2023/06/19(月) 13:57:37.11ID:iYcFBKEZ0 if ((a == b && c != d) || (e == f && g != h)){
alert ("正解");
}
こういうコードの書き方は出来ますか?
二重括弧の使い方は正しいでしょうか?
alert ("正解");
}
こういうコードの書き方は出来ますか?
二重括弧の使い方は正しいでしょうか?
846デフォルトの名無しさん (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]])
2023/06/19(月) 14:42:31.77ID:iYcFBKEZ0 ちょっと調べてたんですが、こうでしょうか?
if (((a == b) && (c != d)) || ((e == f) && (g != h))){
alert ("正解");
}
「a == bとc != dの条件が両方ともtrue」か「e == fとg != hの条件が両方ともtrue」なら"正解"と警告を表示したいのですが…
三重括弧なんてあります?
if (((a == b) && (c != d)) || ((e == f) && (g != h))){
alert ("正解");
}
「a == bとc != dの条件が両方ともtrue」か「e == fとg != hの条件が両方ともtrue」なら"正解"と警告を表示したいのですが…
三重括弧なんてあります?
847デフォルトの名無しさん (ワッチョイ ff7b-0fSR [153.185.178.93])
2023/06/19(月) 14:49:42.42ID:G503Uwj70 >>845で大丈夫やろ。
なんで試さんの?
なんで試さんの?
848デフォルトの名無しさん (ワッチョイ ff61-gPkm [153.171.212.140])
2023/06/19(月) 14:54:44.66ID:Glrukv1f0 演算子優先度の理解が追い付いて無いなら好きなだけ括弧使えばいい
849デフォルトの名無しさん (オッペケ Sr33-vDmN [126.157.241.160])
2023/06/19(月) 14:58:41.52ID:3rS08iXar 何重カッコでもいけるけど演算子やカッコが増えると可読性が落ちて条件式を読み解くのが辛くなる
コードは長くなっても条件式をいくつかに分割して変数に入れた方が読みやすくなるよ
const x = (a == b) && (c != d)
const y = (e == f) && (g != h)
if(x || y){
alert ("正解");
}
とか
コードは長くなっても条件式をいくつかに分割して変数に入れた方が読みやすくなるよ
const x = (a == b) && (c != d)
const y = (e == f) && (g != h)
if(x || y){
alert ("正解");
}
とか
850デフォルトの名無しさん (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]])
2023/06/19(月) 15:02:17.21ID:iYcFBKEZ0 皆さん、ありがとうございます
変数に入れるのがいいですね
やってみます
変数に入れるのがいいですね
やってみます
851デフォルトの名無しさん (アウアウウー Sa23-QBJ2 [106.130.41.210])
2023/06/19(月) 23:22:27.82ID:xNSaH23va イテレータ、Map、Setがややこしくて😩なんだけど実務で使う?
一応理解したけどカスタムイテレータ作ってそれをオブジェクトに追加してfor...ofなんて無理だな
プログラマーならバリバリ使うのかな?それとも知識として仕組み知っとくだけ?
一応理解したけどカスタムイテレータ作ってそれをオブジェクトに追加してfor...ofなんて無理だな
プログラマーならバリバリ使うのかな?それとも知識として仕組み知っとくだけ?
852デフォルトの名無しさん (オッペケ Sr33-vDmN [126.205.219.139])
2023/06/20(火) 13:18:59.52ID:es0ShzRur Mapはキーと値の組み合わせのコレクション
Setは重複のない値のコレクション
どちらも実務で出番はある
イテレータは中身を1個ずつ取り出せるものの総称
カスタムイテレータに関してはmdnもおすすめのジェネレータ関数を覚えておけばいいかと
バリバリではないにしてもここぞというときに役に立つ
Setは重複のない値のコレクション
どちらも実務で出番はある
イテレータは中身を1個ずつ取り出せるものの総称
カスタムイテレータに関してはmdnもおすすめのジェネレータ関数を覚えておけばいいかと
バリバリではないにしてもここぞというときに役に立つ
853デフォルトの名無しさん (ワッチョイ ffda-ZcId [223.216.178.53])
2023/06/21(水) 18:20:14.61ID:He5qrAkL0 tableタグのtrをjqueryかjavascriptでアニメーションアコーディオンがうまくアニメーションしないんだけど
slideToggleで開発ツールではheightの数字は変化しているんだけど・・
もしかしてtrにheightという概念が無いから?
<tr class=name><td>名前1</td></tr>
<tr class=detail><td>中身1</td></tr>
<tr class=name><td>名前2</td></tr>
<tr class=detail><td>中身2</td></tr>
・・・
slideToggleで開発ツールではheightの数字は変化しているんだけど・・
もしかしてtrにheightという概念が無いから?
<tr class=name><td>名前1</td></tr>
<tr class=detail><td>中身1</td></tr>
<tr class=name><td>名前2</td></tr>
<tr class=detail><td>中身2</td></tr>
・・・
854デフォルトの名無しさん (ワッチョイ 7d4b-Hjce [110.2.215.28 [上級国民]])
2023/06/26(月) 12:08:05.73ID:QXVTwCFE0 変数って定義する前はundefinedが入ってるんでしょうか?
855デフォルトの名無しさん (ワッチョイ 1501-WolJ [60.109.218.97])
2023/06/26(月) 20:02:32.96ID:nZR6QJ/D0856デフォルトの名無しさん (ワッチョイ 7d4b-Hjce [110.2.215.28 [上級国民]])
2023/06/26(月) 21:13:06.03ID:QXVTwCFE0 >>855
ありがとうございます。
ありがとうございます。
857デフォルトの名無しさん (アウアウウー Sab9-cUyJ [106.130.49.224])
2023/06/29(木) 21:35:42.23ID:I06beN9ya Promiseメソッドなんなの独自ルール多すぎでしょ。もはや別言語に感じる。これよく使用される?
858デフォルトの名無しさん (ワッチョイ 1a00-KjOb [221.118.182.138 [上級国民]])
2023/06/29(木) 22:34:31.96ID:mZg1DRHQ0 Promise周りは最初は取っつきにくいけど、凄く使いやすく作られてるし、物凄くよく使うよ。
859デフォルトの名無しさん (ワッチョイ 1d5f-momQ [14.8.104.32])
2023/06/29(木) 23:09:38.14ID:OBXN/r9b0 async awaitでしかfetchをかけない自分と、thenでしかfetchを書けない前任者のせめぎあい
xhrはなぜか知らんがもう時代じゃないらしいし
xhrはなぜか知らんがもう時代じゃないらしいし
860デフォルトの名無しさん (アウアウウー Sab9-Br7/ [106.128.36.203])
2023/06/30(金) 10:14:20.96ID:Lj29KtNna 的外れな質問だったら申し訳ありません…
クラスAが長くなってしまったこと(1500行くらい)、類似クラスBとある程度共通化できそうな部分があったので関数Cとして
別ファイルに切りだそうと思いました。
その際、関数CからAの複数のメンバ変数/メソッド(Bも同じ名前の変数/メソッドを持っている)を利用したいのですが、
一つ一つ引数で渡していくと記述が煩雑だし、仕様も変わる可能性があります。
そこで、Aのインスタンスから関数Cにthisを引数として渡すようにして、関数Cからは仮引数this.メンバ変数 などのようにして自由にAのメンバにアクセスできるようにしました。
以上のやり方で、動作はしているようですが、なんか良くないやり方の様な気もしています。
上記のやり方は一般的な方法でしょうか。何かデメリットはありますでしょうか。
クラスAが長くなってしまったこと(1500行くらい)、類似クラスBとある程度共通化できそうな部分があったので関数Cとして
別ファイルに切りだそうと思いました。
その際、関数CからAの複数のメンバ変数/メソッド(Bも同じ名前の変数/メソッドを持っている)を利用したいのですが、
一つ一つ引数で渡していくと記述が煩雑だし、仕様も変わる可能性があります。
そこで、Aのインスタンスから関数Cにthisを引数として渡すようにして、関数Cからは仮引数this.メンバ変数 などのようにして自由にAのメンバにアクセスできるようにしました。
以上のやり方で、動作はしているようですが、なんか良くないやり方の様な気もしています。
上記のやり方は一般的な方法でしょうか。何かデメリットはありますでしょうか。
861デフォルトの名無しさん (ワッチョイ 7691-pVx5 [153.223.3.108])
2023/06/30(金) 10:55:58.80ID:qu6f9mWQ0 クラスAたBの同名の変数と関数をBaseクラスにしてAとBに継承すれば同名の変数関数を持ってることが保証できてうっかり名前変えてしまったとかのバグ防げるんじゃない?インターフェースみたいに
それから引数じゃなくてbind使えば関数C内でthisを自然な感じで使えるとか
それから引数じゃなくてbind使えば関数C内でthisを自然な感じで使えるとか
862デフォルトの名無しさん (アウアウウー Sab9-Br7/ [106.128.39.112])
2023/06/30(金) 13:05:23.88ID:2BLecjKja 有り難うございます。
デメリットとしては後でA~Cをいじった時にバグの温床になりやすいこと、くらいの認識で良いんですかね。
基底クラスを継承するかたちにすることも考えたいと思います。
確かにbind/callを使った方が、動作は同じでよりシンプルな気がしてきました。
デメリットとしては後でA~Cをいじった時にバグの温床になりやすいこと、くらいの認識で良いんですかね。
基底クラスを継承するかたちにすることも考えたいと思います。
確かにbind/callを使った方が、動作は同じでよりシンプルな気がしてきました。
863デフォルトの名無しさん (アウアウウー Sa47-NFBa [106.146.70.58])
2023/07/01(土) 04:46:01.59ID:nMEzWNF9a is_a, has_a
継承か包含か、古典的な質問
継承か包含か、古典的な質問
864デフォルトの名無しさん (アウアウウー Sa47-ctHD [106.155.8.134])
2023/07/01(土) 19:38:17.78ID:hPyQUT1Ya javascript:
if((result = prompt("input formula string","")) == "") alert("no formula string"); else alert(eval(result));
if((result = prompt("input formula string","")) == "") alert("no formula string"); else alert(eval(result));
865デフォルトの名無しさん (ワッチョイ 5a00-PRVu [221.118.182.138 [上級国民]])
2023/07/01(土) 22:48:30.73ID:WfKHfAvE0 なんつー邪悪なコード
866デフォルトの名無しさん (ワッチョイ 5b4b-nuDV [110.2.215.28 [上級国民]])
2023/07/05(水) 21:30:37.79ID:74hfvDDi0 (function(){
~
})();
こういう書き方をしてるコードがあったんですけど、これは実行も含めた関数の書き方でしょうか?
最初の(と最後の)()の意味がわかりません
~
})();
こういう書き方をしてるコードがあったんですけど、これは実行も含めた関数の書き方でしょうか?
最初の(と最後の)()の意味がわかりません
867デフォルトの名無しさん (ワッチョイ e301-cWjJ [60.109.218.97])
2023/07/06(木) 00:31:51.01ID:IKcM4kIN0868デフォルトの名無しさん (ワッチョイ 5b4b-nuDV [110.2.215.28 [上級国民]])
2023/07/06(木) 01:40:00.57ID:vc4JCbkY0869デフォルトの名無しさん (ワッチョイ 7679-p0MK [175.105.104.184])
2023/07/07(金) 13:17:53.80ID:tybFBPle0 なるべく自分で考えたキモイ名前は晒したくないからな?
870デフォルトの名無しさん (ワッチョイ a15f-eaRz [14.13.136.34])
2023/07/08(土) 18:01:12.76ID:0tWDp4eO0 今ホームページを制作しているのですが教えて頂きたいです。
下記内容のコードの書き方がわかりません。
5枚の画像があるのですが、全部では無く一旦一枚目のみ表示させたいです。
次に各画像を説明する文字があります。その文字にマウスカーソルを合わせると、その文字にあった画像に2枚目3枚目と切り替わるようにしたいと思っています。
初心者すぎるので例としてコードを作って頂ければ見ながら調整したく思っています。
どなたかお教え頂けませんでしょうか。
下記内容のコードの書き方がわかりません。
5枚の画像があるのですが、全部では無く一旦一枚目のみ表示させたいです。
次に各画像を説明する文字があります。その文字にマウスカーソルを合わせると、その文字にあった画像に2枚目3枚目と切り替わるようにしたいと思っています。
初心者すぎるので例としてコードを作って頂ければ見ながら調整したく思っています。
どなたかお教え頂けませんでしょうか。
871デフォルトの名無しさん (スプッッ Sd73-mu37 [1.75.238.73])
2023/07/08(土) 20:53:43.61ID:S1M2Nutrd >>870
それはもう質問ではない
それはもう質問ではない
872デフォルトの名無しさん (ワッチョイ a15f-vDrU [14.8.104.32])
2023/07/08(土) 21:24:42.99ID:DhofVjWT0 ChatGPTに聴け
873デフォルトの名無しさん (ワッチョイ d101-Ud/M [60.105.201.125])
2023/07/08(土) 23:32:58.73ID:EFUbRXYX0874デフォルトの名無しさん (アウアウウー Sa55-knyK [106.146.116.188])
2023/07/09(日) 01:18:13.12ID:YP8p84HTa よくある、スライダーでしょ?
jQuery でもあるでしょ
Bootstrap のCarousel (カルーセル)
https://getbootstrap.jp/docs/5.0/components/carousel/
jQuery でもあるでしょ
Bootstrap のCarousel (カルーセル)
https://getbootstrap.jp/docs/5.0/components/carousel/
875デフォルトの名無しさん (ワッチョイ a15f-eaRz [14.13.136.34])
2023/07/09(日) 01:44:11.98ID://wYUerL0 なんか色々ルールがあるんですね
諦めて勉強します
ありがとうございます
諦めて勉強します
ありがとうございます
876874 (アウアウウー Sa55-knyK [106.146.114.68])
2023/07/09(日) 19:52:50.68ID:gl6FDMI+a jQuery slider
Bootstrap Carousel などで検索すれば、一杯ある
一杯あるけど、難しいから自作する人はいない。
皆、jQueryUI やBootstrap のCarousel などの既製品を使う
Bootstrap Carousel などで検索すれば、一杯ある
一杯あるけど、難しいから自作する人はいない。
皆、jQueryUI やBootstrap のCarousel などの既製品を使う
877デフォルトの名無しさん (ワッチョイ 9300-Yt8B [221.118.182.138 [上級国民]])
2023/07/09(日) 21:16:30.84ID:VzLiONyC0 え、そんな難しい要素無いよ
878デフォルトの名無しさん (スップ Sd9f-asTj [49.97.111.88])
2023/07/17(月) 23:23:58.12ID:XzfBWjood フォームフィールドが定義されたPDFファイルがすでにあって、ブラウザ上のJavascriptでWebフォームに入力されたテキストをPDF側のフィールドに反映させてダウンロードすることができるpdfライブラリってあまりすか?
使い方のイメージとしては、たとえばPDF上に名前を入力する箇所がいくつかあるけど、ユーザーは単にweb上で普通のinputフォームを入力してsubmitすると名前が入力済みのPDFファイルをダウンロードできる、という感じです。
pdfmake等いくつかライブラリは見たのですが、白紙ベースでPDF作る例しか見あたらなくて(テンプレートは画像背景で切り替え等)、直接PDFフォームを扱えるものは無いかなと。
使い方のイメージとしては、たとえばPDF上に名前を入力する箇所がいくつかあるけど、ユーザーは単にweb上で普通のinputフォームを入力してsubmitすると名前が入力済みのPDFファイルをダウンロードできる、という感じです。
pdfmake等いくつかライブラリは見たのですが、白紙ベースでPDF作る例しか見あたらなくて(テンプレートは画像背景で切り替え等)、直接PDFフォームを扱えるものは無いかなと。
879デフォルトの名無しさん (アウアウウー Sac5-HZc/ [106.130.137.152])
2023/07/29(土) 00:54:23.66ID:s0ko+FdFa プログラミング全く知らない状態からやっとJavaScript一通り学びました
かなり難しかったです。でもJavaScriptは比較的簡単な言語なんですよね?
ES6以降のJavaScriptでもやっぱり簡単なんですか?
それとES6で大規模アップデート合った時は絶望しましたか?
勉強していて苦しんだのがスコープ、this、反復処理の背景(iteratorの動き、yieldは何をしてるか)、非同期処理(Promise、then、async)、その他様々なメソッド、静的メソッド、、、
これら全てES6から導入されましたよね?絶望しませんでしたか?
例えば私がもしES5までのJavaScriptに慣れ親しんでいてES6のアップデートに触れたら絶対絶望してました。概要見ても「?????」となってたはずです
プログラミングに向いてる人はこんな大規模アップデートがあるとワクワクする人なのでしょうか?
絶望せず、「何ができるようになったんだろう!凄い!こんな事やあんな事が出来る!」みたいな人も居ましたか?
かなり難しかったです。でもJavaScriptは比較的簡単な言語なんですよね?
ES6以降のJavaScriptでもやっぱり簡単なんですか?
それとES6で大規模アップデート合った時は絶望しましたか?
勉強していて苦しんだのがスコープ、this、反復処理の背景(iteratorの動き、yieldは何をしてるか)、非同期処理(Promise、then、async)、その他様々なメソッド、静的メソッド、、、
これら全てES6から導入されましたよね?絶望しませんでしたか?
例えば私がもしES5までのJavaScriptに慣れ親しんでいてES6のアップデートに触れたら絶対絶望してました。概要見ても「?????」となってたはずです
プログラミングに向いてる人はこんな大規模アップデートがあるとワクワクする人なのでしょうか?
絶望せず、「何ができるようになったんだろう!凄い!こんな事やあんな事が出来る!」みたいな人も居ましたか?
880デフォルトの名無しさん (ワッチョイ c200-pYoK [221.118.182.138 [上級国民]])
2023/07/29(土) 08:26:35.15ID:wB1gRUiQ0 ES5までは貧弱だったのでそりゃもう大歓喜よ。
それと現代のJavaScript(を使いこなすの)はもはや簡単な部類じゃないように思う。
それと現代のJavaScript(を使いこなすの)はもはや簡単な部類じゃないように思う。
881デフォルトの名無しさん (オッペケ Sr91-xmUq [126.254.133.95])
2023/07/29(土) 09:45:27.72ID:ZQ+RMRi1r 苦しみとか絶望とか>>879は言語の習得を学校の勉強と同じようなものとしか捉えてないフシがある
日本史の勉強範囲が大政奉還までだと思ったら第二次大戦までだった!みたいな感覚
新しく覚えたことは実際のプログラミングで活かせるんだという意識が全く感じられない
日本史の勉強範囲が大政奉還までだと思ったら第二次大戦までだった!みたいな感覚
新しく覚えたことは実際のプログラミングで活かせるんだという意識が全く感じられない
882デフォルトの名無しさん (アウアウウー Sac5-HZc/ [106.130.201.25])
2023/07/29(土) 14:21:53.16ID:LQ1ElLyya883デフォルトの名無しさん (アウアウウー Sac5-HZc/ [106.130.201.25])
2023/07/29(土) 14:27:58.50ID:LQ1ElLyya try,catch,finally文の存在異議が分からなかったけど、今さっき急にasync/awaitのエラーハンドリングに向いてるのに気が付きました
つまりthen,catchのPromiseチェーンをより楽に書けるのに今さっき気が付きました。こんな感じで上手くいかないですね
つまりthen,catchのPromiseチェーンをより楽に書けるのに今さっき気が付きました。こんな感じで上手くいかないですね
884デフォルトの名無しさん (ワッチョイ c200-pYoK [221.118.182.138 [上級国民]])
2023/07/29(土) 15:03:53.70ID:wB1gRUiQ0 .then().catch()の方が綺麗に書けて(副作用的な意味で)好きだなぁ
885デフォルトの名無しさん (ワッチョイ c6bd-g4Mn [119.240.43.146])
2023/07/30(日) 02:24:04.00ID:oecUblNe0 >>879
言語として簡単かっていうとどうだろうね。
Webブラウザがあれば動かせる上にデバッグ環境まで付いてるから、誰でもすぐ始められるし、作ったものをどこででも動かしてもらえるという手軽さはあると思うけど。
言語として簡単かっていうとどうだろうね。
Webブラウザがあれば動かせる上にデバッグ環境まで付いてるから、誰でもすぐ始められるし、作ったものをどこででも動かしてもらえるという手軽さはあると思うけど。
886デフォルトの名無しさん (ワッチョイ 095f-kJnY [14.8.104.32])
2023/07/30(日) 14:24:24.68ID:av5XIWe10 自分はプロトタイプ型オブジェクト指向から入ったから気にならないけどクラス型でプログラム書いてた人は違和感凄いんだろうな
あとクロスブラウザ対応しなきゃいけなかった人達もJSはしんどかったんだろうなと想像
あとクロスブラウザ対応しなきゃいけなかった人達もJSはしんどかったんだろうなと想像
887デフォルトの名無しさん (ワッチョイ e94b-C8We [110.2.215.28 [上級国民]])
2023/08/04(金) 01:16:43.56ID:LzfYm8xL0 rd41 = "";
alert (rd41);
これで「rd41は未定義です」ってエラーは出ますか?
alert(rd41);
これだけだと「rd41は未定義です」ってエラーが出ますよね
実際のコードはalertでは無いのですが、rd41に無を代入して何も表示させたくないのです
rd41 = null;
だと、nullと表示されてしまいます
alert (rd41);
これで「rd41は未定義です」ってエラーは出ますか?
alert(rd41);
これだけだと「rd41は未定義です」ってエラーが出ますよね
実際のコードはalertでは無いのですが、rd41に無を代入して何も表示させたくないのです
rd41 = null;
だと、nullと表示されてしまいます
888デフォルトの名無しさん (ワッチョイ e94b-C8We [110.2.215.28 [上級国民]])
2023/08/04(金) 01:36:14.69ID:LzfYm8xL0 chatGPTに質問したら答えが返ってきた
https://i.imgur.com/5NbJI6w.jpg
https://i.imgur.com/5NbJI6w.jpg
889デフォルトの名無しさん (ワッチョイ febd-FWk2 [49.129.241.111])
2023/08/04(金) 09:00:08.06ID:2wk44tWe0 >>887
delete を調べてみるとどうだろう。
やりたいことによってはブロックスコープで足りるかも。
個人的にはブロックスコープを活用して、変数を小まめに狭い範囲に閉じ込める書き方をおすすめしたい。
delete を調べてみるとどうだろう。
やりたいことによってはブロックスコープで足りるかも。
個人的にはブロックスコープを活用して、変数を小まめに狭い範囲に閉じ込める書き方をおすすめしたい。
890デフォルトの名無しさん (ワッチョイ a101-CknR [60.89.4.138])
2023/08/04(金) 09:14:51.09ID:TEvOuQNU0 >>887
ECMAScriptに「未定義」というエラーはない
Strict Modeで実行すれば、両コードともにReferenceErrorになるだろう
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Strict_mode
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError
ECMAScriptに「未定義」というエラーはない
Strict Modeで実行すれば、両コードともにReferenceErrorになるだろう
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Strict_mode
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError
891デフォルトの名無しさん (オッペケ Sr91-q/g9 [126.254.212.243])
2023/08/04(金) 09:37:58.66ID:EZ9l15Zsr892デフォルトの名無しさん (ワッチョイ f233-yhDR [101.141.60.18])
2023/08/14(月) 23:07:53.97ID:QNJSoVjn0 時報みたいなのを作成中でそのhtmlのページさえ開いておけば
9時、12時、18時(プリセットとかは無く固定)に特定のwavサウンドファイルがaudioElement.play() で再生される用にしています
(タブが非アクティブだとなんか動かない時があったのでwindow.openで表示させてます)
chromeのポリシーみたいなのでユーザーが明示的なアクションをしないと音声の自動再生はされないみたいで
それの良い回避策ってありますか?
実用性考えると携帯のアラームが百倍使いやすいけど
自分用にチープなのを作って遊んでるんだけど解決策が思いつかなくて・・・
9時、12時、18時(プリセットとかは無く固定)に特定のwavサウンドファイルがaudioElement.play() で再生される用にしています
(タブが非アクティブだとなんか動かない時があったのでwindow.openで表示させてます)
chromeのポリシーみたいなのでユーザーが明示的なアクションをしないと音声の自動再生はされないみたいで
それの良い回避策ってありますか?
実用性考えると携帯のアラームが百倍使いやすいけど
自分用にチープなのを作って遊んでるんだけど解決策が思いつかなくて・・・
893デフォルトの名無しさん (ワッチョイ 1f4b-uBRt [110.2.215.28 [上級国民]])
2023/08/15(火) 01:53:58.77ID:Efj8IW440894デフォルトの名無しさん (ワッチョイ 7e63-SF+K [153.218.139.115])
2023/08/21(月) 00:13:21.70ID:v7lFaH3H0 【環境】Windows 11, Chrome最新版
【何をしたのか】PHPで動的に出力されたテキストに replace (new RegExp)
【エラーメッセージ】コンソールには何も出ません
【期待する結果】ページ内に複数生成される動的クラス内テキストを置換したい
【サンプルコード】
<p class="tx-body">おはようございます*2023.08.15</p><span clas="tx-date">0000</span>
<p class="tx-body">ごきげんよう*2023.08.20</p><span clas="tx-date">0000</span>
・
・
tx-dateクラスの中身をtx-bodyの*以降の文字列に置き換えたく、以下を<body>の後半に書きましたが期待する置換変化が起きません、エラーも出ません、
根本的なところわかっていないのだと思うので恐縮ですがお手上げ状態です
window.addEventListener('load', function() {
const ItemList = document.getElementsByClassName("tx-body");
const ItemDate = document.getElementsByClassName("x-date");
for(i=0; i<ItemList.length; i++) {
var tBody = ItemList.item(i).textContent;
var tDate = ItemDate.item(i).textContent;
var replaceDate = tBody .split("*")[1];
tDate = tDate.replace(new RegExp(replaceDate,'g'),'');
}
})
以上ご指導よろしくおねがします
【何をしたのか】PHPで動的に出力されたテキストに replace (new RegExp)
【エラーメッセージ】コンソールには何も出ません
【期待する結果】ページ内に複数生成される動的クラス内テキストを置換したい
【サンプルコード】
<p class="tx-body">おはようございます*2023.08.15</p><span clas="tx-date">0000</span>
<p class="tx-body">ごきげんよう*2023.08.20</p><span clas="tx-date">0000</span>
・
・
tx-dateクラスの中身をtx-bodyの*以降の文字列に置き換えたく、以下を<body>の後半に書きましたが期待する置換変化が起きません、エラーも出ません、
根本的なところわかっていないのだと思うので恐縮ですがお手上げ状態です
window.addEventListener('load', function() {
const ItemList = document.getElementsByClassName("tx-body");
const ItemDate = document.getElementsByClassName("x-date");
for(i=0; i<ItemList.length; i++) {
var tBody = ItemList.item(i).textContent;
var tDate = ItemDate.item(i).textContent;
var replaceDate = tBody .split("*")[1];
tDate = tDate.replace(new RegExp(replaceDate,'g'),'');
}
})
以上ご指導よろしくおねがします
895デフォルトの名無しさん (スッップ Sdca-jTH6 [49.98.168.137])
2023/08/21(月) 11:40:28.26ID:cB09UaOod >>894
まずconsole.log()や開発者ツールを使って自分の書いたコードがどこまで想定通りに動いてるか確認してみよう
まずconsole.log()や開発者ツールを使って自分の書いたコードがどこまで想定通りに動いてるか確認してみよう
896デフォルトの名無しさん (ワッチョイ 534b-ubuk [110.2.215.28 [上級国民]])
2023/08/21(月) 11:51:22.81ID:7Ts4WfMN0 >>894
コードを見る限り、置換を行うためのコードは一見正しく見えますが、複数の潜在的な問題が考えられます。まず、コード内のいくつかのポイントをチェックしてみましょう。
1. **クラス名のスペル**: `tx-date` クラスが正しく `x-date` クラスになっているか確認してください。
2. **期待する置換変化の確認**: 期待する置換変化がどのようなものか確認してみてください。コード内で `tDate` の内容を `console.log()` を使って出力し、実際の値が正しいか確認できます。
3. **変数 `replaceDate` の設定**: `tBody.split("*")[1]` の部分で、正しい位置に `*` が存在しているか確認してください。`split()` メソッドは対象の文字列を指定の文字で区切って配列にしますが、もし `*` が存在しない場合、期待通りの結果が得られない可能性があります。
4. **置換操作の適用**: `tDate` に対して行った置換操作が、実際のDOM要素に反映されていない可能性があります。`tDate` の内容を変更した後、対応するDOM要素の内容を更新するコードが不足しているようです。
これらのチェックポイントを確認した上で、コードを修正するか、デバッグすることをお勧めします。また、具体的なサンプルHTMLコードや置換の例を提供していただければ、より具体的なアドバイスを提供できるかもしれません。
コードを見る限り、置換を行うためのコードは一見正しく見えますが、複数の潜在的な問題が考えられます。まず、コード内のいくつかのポイントをチェックしてみましょう。
1. **クラス名のスペル**: `tx-date` クラスが正しく `x-date` クラスになっているか確認してください。
2. **期待する置換変化の確認**: 期待する置換変化がどのようなものか確認してみてください。コード内で `tDate` の内容を `console.log()` を使って出力し、実際の値が正しいか確認できます。
3. **変数 `replaceDate` の設定**: `tBody.split("*")[1]` の部分で、正しい位置に `*` が存在しているか確認してください。`split()` メソッドは対象の文字列を指定の文字で区切って配列にしますが、もし `*` が存在しない場合、期待通りの結果が得られない可能性があります。
4. **置換操作の適用**: `tDate` に対して行った置換操作が、実際のDOM要素に反映されていない可能性があります。`tDate` の内容を変更した後、対応するDOM要素の内容を更新するコードが不足しているようです。
これらのチェックポイントを確認した上で、コードを修正するか、デバッグすることをお勧めします。また、具体的なサンプルHTMLコードや置換の例を提供していただければ、より具体的なアドバイスを提供できるかもしれません。
897デフォルトの名無しさん (スッップ Sdca-jTH6 [49.98.168.137])
2023/08/21(月) 12:25:10.86ID:cB09UaOod このワッチョイ **4bは質問スレにchatGPTの回答貼るだけのボットみたいなもんだからスルー推奨
NG入れといてもいい
NG入れといてもいい
898デフォルトの名無しさん (アウアウウー Sa7f-7wIC [106.133.165.90])
2023/08/22(火) 23:04:06.56ID:rPfWctd8a 2か所とも、clas="tx-date" になっている!
class でしょ
class でしょ
899898 (アウアウウー Sa7f-7wIC [106.133.165.90])
2023/08/22(火) 23:12:31.83ID:rPfWctd8a >const ItemDate = document.getElementsByClassName("x-date");
x-date は、tx-date じゃないの?
x-date は、tx-date じゃないの?
900898 (アウアウウー Sa7f-7wIC [106.133.165.90])
2023/08/23(水) 00:10:28.94ID:B78POXf5a 一旦、要素 tDate_elem を取得しておいてから、
その textContent に値を設定する。
つまり更新
const tBody = ItemList.item(i).textContent;
const tDate_elem = ItemDate.item(i) // 要素
const tDate = tDate_elem.textContent;
console.log( tDate ); //=> 0000
const replaceDate = tBody.split("*")[1];
console.log( replaceDate ); //=> 2023.08.15
tDate_elem.textContent = replaceDate; // 設定
表示
おはようございます*2023.08.15
2023.08.15
ごきげんよう*2023.08.20
2023.08.20
その textContent に値を設定する。
つまり更新
const tBody = ItemList.item(i).textContent;
const tDate_elem = ItemDate.item(i) // 要素
const tDate = tDate_elem.textContent;
console.log( tDate ); //=> 0000
const replaceDate = tBody.split("*")[1];
console.log( replaceDate ); //=> 2023.08.15
tDate_elem.textContent = replaceDate; // 設定
表示
おはようございます*2023.08.15
2023.08.15
ごきげんよう*2023.08.20
2023.08.20
901デフォルトの名無しさん (スプッッ Sd6a-jTH6 [1.75.209.193])
2023/08/23(水) 10:39:07.30ID:oZ78uDd8d902898 (アウアウウー Sa7f-7wIC [106.146.101.215])
2023/08/23(水) 19:53:27.23ID:ktllvUDta jQuery なら、もっと簡単
$( function ( ) {
$('.tx-body').each(function (index, elem) {
const tx_body = $(elem);
console.log(index + ': ' + tx_body.text());
const replaceDate = tx_body.text().split("*")[1];
console.log(replaceDate);
// tx_body 要素の次の兄弟で、tx-date クラスがある要素。絞り込み
const tx_date = tx_body.next('.tx-date');
console.log(index + ': ' + tx_date.text());
console.log('tx_date.length: ' + tx_date.length); // 0 or 1
// 該当する要素があれば設定する。つまり更新
if (tx_date.length === 1) {
tx_date.text(replaceDate);
}
});
} );
$( function ( ) {
$('.tx-body').each(function (index, elem) {
const tx_body = $(elem);
console.log(index + ': ' + tx_body.text());
const replaceDate = tx_body.text().split("*")[1];
console.log(replaceDate);
// tx_body 要素の次の兄弟で、tx-date クラスがある要素。絞り込み
const tx_date = tx_body.next('.tx-date');
console.log(index + ': ' + tx_date.text());
console.log('tx_date.length: ' + tx_date.length); // 0 or 1
// 該当する要素があれば設定する。つまり更新
if (tx_date.length === 1) {
tx_date.text(replaceDate);
}
});
} );
903デフォルトの名無しさん (アウアウエー Sa22-NwC7 [111.239.174.98])
2023/08/25(金) 21:08:52.47ID:+90wXQAMa chrome拡張どう作ったらいいのでしょう?
こんな感じではリダイレクトが連続してしまってだめでした
urlsのフィルターの仕方、もしくはリダイレクトをせずにそのURLにアクセスする方法が分かれば解決できるとは思うのですが・・・
//aaa.com/xxxx/ へのアクセスを aaa.com/abc/xxx/ へ変換したい (以下は動作しない)
chrome.webRequest.onBeforeRequest.addListener(
function(details)
{
if (details.url.match(/abc/))
{
return {}; //←ここを書き換える方法が分かればいける
}
else
{
details.url = details.url.replace(/aaa.com/g,"aaa.com/abc");
return {redirectUrl: details.url };
}
},
{
urls: [ "*://aaa.com/*/" ], //←ここを書き換える方法が分かればいける
},
["blocking"]
);
こんな感じではリダイレクトが連続してしまってだめでした
urlsのフィルターの仕方、もしくはリダイレクトをせずにそのURLにアクセスする方法が分かれば解決できるとは思うのですが・・・
//aaa.com/xxxx/ へのアクセスを aaa.com/abc/xxx/ へ変換したい (以下は動作しない)
chrome.webRequest.onBeforeRequest.addListener(
function(details)
{
if (details.url.match(/abc/))
{
return {}; //←ここを書き換える方法が分かればいける
}
else
{
details.url = details.url.replace(/aaa.com/g,"aaa.com/abc");
return {redirectUrl: details.url };
}
},
{
urls: [ "*://aaa.com/*/" ], //←ここを書き換える方法が分かればいける
},
["blocking"]
);
904デフォルトの名無しさん (アウアウウー Sa47-rTQJ [106.146.72.134])
2023/08/26(土) 04:11:22.52ID:wsJDYSi/a 「chrome.webRequest.onBeforeRequest」で検索!
webRequest
https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/webRequest
webRequest
https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/webRequest
905デフォルトの名無しさん (アウアウエー Sa5f-/No0 [111.239.174.98])
2023/08/26(土) 12:48:58.33ID:mvAl1l0Ba そこ見てどうすればいいのか分からないからここに来た・・・
906デフォルトの名無しさん (スッップ Sd9f-oH/7 [49.98.169.249])
2023/08/26(土) 17:41:19.65ID:/LQp1jGld return detail.documentUrl
とか?
とか?
907デフォルトの名無しさん (アウアウエー Sa5f-/No0 [111.239.174.98])
2023/08/26(土) 18:56:03.08ID:mvAl1l0Ba return detail.documentUrl;
return {redirectUrl: detail.documentUrl};
どちらもダメ。リダイレクトのURLを返すことになるから、リダイレクトの無限ループに入っちゃう
それなら、リダイレクト止めればいいじゃんって思うんだけど
return {cancel: true};
のようにするとナビゲーション自体が止まってアクセスできなくなっちゃう
return {redirectUrl: detail.documentUrl};
どちらもダメ。リダイレクトのURLを返すことになるから、リダイレクトの無限ループに入っちゃう
それなら、リダイレクト止めればいいじゃんって思うんだけど
return {cancel: true};
のようにするとナビゲーション自体が止まってアクセスできなくなっちゃう
908デフォルトの名無しさん (ワッチョイ cf8a-cMf3 [153.207.237.45])
2023/08/26(土) 19:46:44.48ID:HE/rWC1F0 空のオブジェクト返せばいいんじゃないの?
こんなの見て参考にしては?
https://gitlab.com/ClearURLs/ClearUrls/-/blob/master/clearurls.js?ref_type=heads
こんなの見て参考にしては?
https://gitlab.com/ClearURLs/ClearUrls/-/blob/master/clearurls.js?ref_type=heads
909デフォルトの名無しさん (ワッチョイ e361-NWkk [180.15.228.252])
2023/08/26(土) 21:15:33.19ID:AeqeuiS+0 無限ループしてるって事は条件分岐失敗してるんじゃないの?
console.logデバッグでもしてみたら?
console.logデバッグでもしてみたら?
910デフォルトの名無しさん (オッペケ Sre7-bab6 [126.212.162.196])
2023/08/27(日) 12:33:38.16ID:QiCv/PxZr911デフォルトの名無しさん (ワッチョイ cf63-n242 [153.218.137.10])
2023/09/03(日) 21:37:03.60ID:0BSqvC2P0 サイト内にフォームが設置してあるページが複数あります
お問い合わせ、新規登録、ログイン、パスワードリマインド、などです
一時的に inputタグを入力不可にしたのですが
querySelectorAll("input,button").forEach( e => e.disabled = true );
複数あるページのうちお問合せだけは入力できるように、
現在は下記の効率の悪い記述になっています、、
document.querySelectorAll("#contact input, #contact button").forEach( e => e.disabled = false);
それぞれのページの<body>に idを付与していてそれで判別しているのですが
<body id="contact">
<body id="login">
<body id="remainder">
もっとスマートにお問い合わせページだけ入力できる
ヒントをお願いできませんでしょうか?
お問い合わせ、新規登録、ログイン、パスワードリマインド、などです
一時的に inputタグを入力不可にしたのですが
querySelectorAll("input,button").forEach( e => e.disabled = true );
複数あるページのうちお問合せだけは入力できるように、
現在は下記の効率の悪い記述になっています、、
document.querySelectorAll("#contact input, #contact button").forEach( e => e.disabled = false);
それぞれのページの<body>に idを付与していてそれで判別しているのですが
<body id="contact">
<body id="login">
<body id="remainder">
もっとスマートにお問い合わせページだけ入力できる
ヒントをお願いできませんでしょうか?
912デフォルトの名無しさん (ワッチョイ 4327-g4sH [164.70.253.210])
2023/09/03(日) 21:48:21.38ID:qR1Ry2o90 【環境】windows10 chrome 最新版
【何をしたのか】開発ツールコンソール上でサンプルコードを実行すると
条件文が undefined にもかかわらず if 文内 console.log(1) が実行される
【エラーメッセージ】なし
【期待する結果】 なぜこうなるのか理由が知りたいです
【サンプルコード】
console.log(localStorage && (localStorage.getItem('deck')));
if(localStorage && (localStorage.getItem('deck'))) console.log(1)
if(undefined) console.log(2)
【何をしたのか】開発ツールコンソール上でサンプルコードを実行すると
条件文が undefined にもかかわらず if 文内 console.log(1) が実行される
【エラーメッセージ】なし
【期待する結果】 なぜこうなるのか理由が知りたいです
【サンプルコード】
console.log(localStorage && (localStorage.getItem('deck')));
if(localStorage && (localStorage.getItem('deck'))) console.log(1)
if(undefined) console.log(2)
913デフォルトの名無しさん (ワッチョイ 8361-yzHn [180.15.227.160])
2023/09/03(日) 23:01:09.12ID:zsKKxMoe0 >>912
console.log(localStorage && (localStorage.getItem('deck')));
の結果は本当にundefined?、undefinedの上の行に何か表示されてるよね?
console.log(localStorage && (localStorage.getItem('deck')));
の結果は本当にundefined?、undefinedの上の行に何か表示されてるよね?
914デフォルトの名無しさん (ブーイモ MM7f-sgzH [133.159.150.82])
2023/09/03(日) 23:17:01.93ID:II4MkDPZM915デフォルトの名無しさん (ブーイモ MM7f-sgzH [133.159.150.82])
2023/09/03(日) 23:33:36.04ID:II4MkDPZM >>912
下記のログ出力はどうなる?
console.log(localStorage.getItem('deck') !== undefined ? 'バカめ!!よく確認しろ!!' : 'undefined です');
下記のログ出力はどうなる?
console.log(localStorage.getItem('deck') !== undefined ? 'バカめ!!よく確認しろ!!' : 'undefined です');
916デフォルトの名無しさん (ワッチョイ 4327-g4sH [164.70.253.210])
2023/09/04(月) 13:53:40.48ID:R0PWdUab0917デフォルトの名無しさん (ブーイモ MM7f-gLHL [133.159.151.54])
2023/09/04(月) 14:44:17.50ID:0gdMzEOZM getItemは該当キーに対する値がなければundefinedではなくnullを返すのでlocalStorageが存在していれば
console.log(localStorage && (localStorage.getItem('deck')));は
null
undefined
と出力される
undefinedの上が空行になってるならdeckに対する値が入ってる
それが空文字ならfalsyなのでconsole.log(1)は実行されない
truthyな不可視文字(例えば改行コード)が入っていればconsole.log(1)も実行される
inspectやencodeURIで中身に何が入ってるか確かめればはっきりさる
console.log(localStorage && (localStorage.getItem('deck')));は
null
undefined
と出力される
undefinedの上が空行になってるならdeckに対する値が入ってる
それが空文字ならfalsyなのでconsole.log(1)は実行されない
truthyな不可視文字(例えば改行コード)が入っていればconsole.log(1)も実行される
inspectやencodeURIで中身に何が入ってるか確かめればはっきりさる
918デフォルトの名無しさん (ブーイモ MM7f-gLHL [133.159.151.232])
2023/09/04(月) 14:45:10.48ID:I1Zu7zQTM はっきりさる!
919デフォルトの名無しさん (ワッチョイ 4327-g4sH [164.70.253.210])
2023/09/04(月) 15:37:52.51ID:R0PWdUab0 あー わかりました
"undefined" っていう文字列がすでに入っちゃってたみたいです
丁寧に回答いただいてありがとうございました!
"undefined" っていう文字列がすでに入っちゃってたみたいです
丁寧に回答いただいてありがとうございました!
920デフォルトの名無しさん (ワッチョイ cf63-0HOd [153.218.137.10])
2023/09/04(月) 15:59:10.40ID:KQbfSHx50 ウキキ🐒
input セレクタで解決しましたカッコイイ記述ありがとうございます
input セレクタで解決しましたカッコイイ記述ありがとうございます
921デフォルトの名無しさん (オッペケ Sr07-JKlf [126.255.138.111])
2023/09/05(火) 12:01:10.43ID:y2XoXHZcr >【何をしたのか】開発ツールコンソール上でサンプルコードを実行すると
>条件文が undefined にもかかわらず if 文内 console.log(1) が実行される
不可解な挙動に遭遇したとき、自分が何か勘違いしてないかまずそこを疑ってみようという教訓
あとtruthyやfalsyな値の取り扱いは慎重に
>条件文が undefined にもかかわらず if 文内 console.log(1) が実行される
不可解な挙動に遭遇したとき、自分が何か勘違いしてないかまずそこを疑ってみようという教訓
あとtruthyやfalsyな値の取り扱いは慎重に
922デフォルトの名無しさん (ワッチョイ 2901-pIYl [60.114.101.121])
2023/09/28(木) 14:42:04.81ID:Pzc86hhG0 ほんまに、助かったで!
923デフォルトの名無しさん (ワッチョイ 454b-wchx [110.2.215.28])
2023/10/04(水) 23:59:59.93ID:77DZdeZo0 if(rd41.value){
dofn()
}
これが正しく実行されないのですが(暴走するというか、意味不明な実行結果が現れます)、if文の中で関数の呼び出しは出来ないのでしょうか?
もしそうなら、このコードを正しく動作するように書き換えることは出来ますか?
dofn()
}
これが正しく実行されないのですが(暴走するというか、意味不明な実行結果が現れます)、if文の中で関数の呼び出しは出来ないのでしょうか?
もしそうなら、このコードを正しく動作するように書き換えることは出来ますか?
924923 (ワッチョイ 454b-wchx [110.2.215.28])
2023/10/05(木) 02:54:19.96ID:pCa3KI6i0 普通に動作しました
すみません
すみません
925デフォルトの名無しさん (ワッチョイ 9f05-cJ9m [116.94.11.103])
2023/10/16(月) 00:30:39.82ID:tJl0Ngd50 質問です
下記のURLは音楽サイトJangoの再生ページURLです
https://www.jango.com/stations/400536192/tunein
https://www.jango.com/stations/397649609/tunein
https://www.jango.com/stations/272072365/tunein
これらのページをブラウザで開いた時に出てくる水色のメッセージ
パネルをJavaScriptで閉じる方法を教えてください
Jango plays unlimited music for free and with no commercials.
というメッセージの右隣にある[×]マークをクリックしたいのですが
document.getElementsByClassName("MuiAlert-action")[0].click()
では上手くクリックすることができませんでした
下記のURLは音楽サイトJangoの再生ページURLです
https://www.jango.com/stations/400536192/tunein
https://www.jango.com/stations/397649609/tunein
https://www.jango.com/stations/272072365/tunein
これらのページをブラウザで開いた時に出てくる水色のメッセージ
パネルをJavaScriptで閉じる方法を教えてください
Jango plays unlimited music for free and with no commercials.
というメッセージの右隣にある[×]マークをクリックしたいのですが
document.getElementsByClassName("MuiAlert-action")[0].click()
では上手くクリックすることができませんでした
926デフォルトの名無しさん (ワッチョイ 2e76-tQak [247.119.160.34])
2023/10/16(月) 00:54:14.00ID:SqBXoLFp0 document.querySelectorAll(“.MuiDialog-container,.MuiBackdrop-root”).forEach(e => e.remove())
927デフォルトの名無しさん (ワッチョイ 9f05-cJ9m [116.94.11.103])
2023/10/16(月) 08:33:51.49ID:tJl0Ngd50928デフォルトの名無しさん (ワッチョイ e25c-CexO [211.121.28.151])
2023/10/16(月) 09:38:31.66ID:9MW6cr+O0 document.querySelector(".MuiSnackbar-anchorOriginTopCenter").remove()
929デフォルトの名無しさん (ワッチョイ 9f05-cJ9m [116.94.11.103])
2023/10/16(月) 10:55:49.91ID:tJl0Ngd50 >>928
すいません、それもダメみたいです
すいません、それもダメみたいです
930デフォルトの名無しさん (ワッチョイ 9f05-cJ9m [116.94.11.103])
2023/10/16(月) 11:01:33.63ID:tJl0Ngd50 ブラウザ上の全然関係ない場所をクリックして自己解決しました
document.elementFromPoint(1, 1).click()
根本的な問題から逃げたようで悔しいですけどw
document.elementFromPoint(1, 1).click()
根本的な問題から逃げたようで悔しいですけどw
931デフォルトの名無しさん (ワッチョイ c705-4hWW [210.203.192.54])
2023/10/24(火) 20:00:13.55ID:xAzUmtPF0932デフォルトの名無しさん (ワッチョイ 877c-JmE3 [122.212.18.110])
2023/10/25(水) 13:36:08.76ID:JRNrMb5/0 名前付き引数としてプロパティをもつオブジェクトを引数にする場合のJSDocの書き方ってどう書くのが正しいのでしょうか?
ネットで調べて以下の画像のように書くと、VSCodeで関数の説明で表示される時にプロパティ側の日本後説明部分が表示されません。
http://imgur.com/xhSQcMc.png
構文のほうには型は反映されてるので読み込めてはいるようなのですが…
ネットで調べて以下の画像のように書くと、VSCodeで関数の説明で表示される時にプロパティ側の日本後説明部分が表示されません。
http://imgur.com/xhSQcMc.png
構文のほうには型は反映されてるので読み込めてはいるようなのですが…
933デフォルトの名無しさん (ワッチョイ 5fc2-vcKV [133.155.195.156])
2023/10/26(木) 10:06:04.96ID:QIG+kzYs0 source = ['いぬ=ドッグ', 'ぬこ=猫咪', 'キャット=にゃんこ', 'ねこ=キャット', 'わんこ=小狗', '老鼠=ねずみ', '小狗=ドッグ', 'マウス=ねずみ', '猫咪=キャット']
これを
result = [['いぬ', 'ドッグ', 'わんこ', '小狗'],
['ぬこ', '猫咪', 'キャット', 'にゃんこ', 'ねこ'],
['老鼠', 'ねずみ', 'マウス']]
これに集計するにはどうしたらいいですか
これを
result = [['いぬ', 'ドッグ', 'わんこ', '小狗'],
['ぬこ', '猫咪', 'キャット', 'にゃんこ', 'ねこ'],
['老鼠', 'ねずみ', 'マウス']]
これに集計するにはどうしたらいいですか
934デフォルトの名無しさん (ワッチョイ e701-2gMB [60.89.160.133])
2023/10/26(木) 12:52:26.88ID:jSMDhhI40935デフォルトの名無しさん (ワッチョイ e701-2gMB [60.89.160.133])
2023/10/26(木) 12:52:36.47ID:jSMDhhI40936デフォルトの名無しさん (ワッチョイ a710-7pXc [180.12.82.129])
2023/10/26(木) 13:05:50.11ID:m2KCtDyt0 canvasでarc関数でx:100,y:100の位置に青で塗りつぶした半径3の円を描いたんですが
これと同じ位置に同じ半径で同じ色で塗りつぶした円を描くと四角形ぽくなってちょっと大きくなって表示されます。
背景を塗りつぶして1回目に描いた円を一度消去してから2回目の円を描いても同じでした。
文字の場合でも同じ位置に同じ文字を重ね書きすると太くなっちゃいました。
どうすればちゃんと同じ位置に同じ物を描いても太くならないようにできますか?
これと同じ位置に同じ半径で同じ色で塗りつぶした円を描くと四角形ぽくなってちょっと大きくなって表示されます。
背景を塗りつぶして1回目に描いた円を一度消去してから2回目の円を描いても同じでした。
文字の場合でも同じ位置に同じ文字を重ね書きすると太くなっちゃいました。
どうすればちゃんと同じ位置に同じ物を描いても太くならないようにできますか?
937デフォルトの名無しさん (ワッチョイ c791-DWPP [242.12.24.181])
2023/10/26(木) 22:17:18.42ID:npbiXWKI0 >>933
それは質問ではなくて丸投げと言います
それは質問ではなくて丸投げと言います
938デフォルトの名無しさん (ワッチョイ fff0-f0DH [241.193.34.196])
2023/10/27(金) 08:04:19.82ID:93zv19AS0939デフォルトの名無しさん (ワッチョイ 639d-XI6K [109.236.1.125])
2023/11/13(月) 18:52:10.34ID:qEXCkkFf0 alertのテキストをコピペする方法とかってご存知ありませんか?
どなたか知恵をお貸しください
どなたか知恵をお貸しください
940デフォルトの名無しさん (ワッチョイ 23a1-iTu+ [253.3.76.126])
2023/11/13(月) 22:10:22.42ID:FIfUHr+c0 質問したいなら詳しく書こうね
941デフォルトの名無しさん (ワッチョイ 454b-S+Kv [110.2.215.28])
2023/11/14(火) 02:43:20.79ID:MYkZh+2q0 >>939
alertのテキストをコピーするには、通常はウェブページ上でalertが表示されている状態で、テキストを選択して右クリックし、"Copy"や"コピー"を選択する方法があります。ただし、ウェブサイトのalertはJavaScriptで生成されるもので、そのテキストを直接コピーする方法は制限されていることがあります。可能であれば、そのテキストを手入力でコピーすることができます。
alertのテキストをコピーするには、通常はウェブページ上でalertが表示されている状態で、テキストを選択して右クリックし、"Copy"や"コピー"を選択する方法があります。ただし、ウェブサイトのalertはJavaScriptで生成されるもので、そのテキストを直接コピーする方法は制限されていることがあります。可能であれば、そのテキストを手入力でコピーすることができます。
942デフォルトの名無しさん (ワッチョイ c5f9-EFnx [244.158.6.121])
2023/11/14(火) 19:07:48.92ID:WEqhXBJy0 検索すれば?
コピーを防ぐ方法は、幾つかある
ブラウザのF12 ボタンの開発者ツールで調べるとか
コピーを防ぐ方法は、幾つかある
ブラウザのF12 ボタンの開発者ツールで調べるとか
943デフォルトの名無しさん (ワッチョイ 5501-meuW [60.118.120.235])
2023/11/14(火) 20:45:30.47ID:Mc/CoQSw0944デフォルトの名無しさん (JP 0H89-BcU5 [104.234.140.171])
2023/11/15(水) 11:30:55.95ID:FHoogchzH >>936
亀だけど
fill()が複数回呼ばれると円が太るみたい
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
でなく、
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
でやると円が太らなかったよ
亀だけど
fill()が複数回呼ばれると円が太るみたい
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
でなく、
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.arc(100, 100, 3, 0, Math.PI * 2);
ctx.fill();
でやると円が太らなかったよ
945デフォルトの名無しさん (ワッチョイ e374-n7Dx [211.124.81.22])
2023/11/15(水) 12:39:52.38ID:D0hDoGTF0 亀が2chに書き込みにやってきた
946デフォルトの名無しさん (ワッチョイ 451d-XI6K [180.178.89.53])
2023/11/17(金) 20:41:48.61ID:oUDu0vRd0 console.log()のlogってどういう意味ですか?
printとかputじゃなくてlogで出力って珍しいですね
printとかputじゃなくてlogで出力って珍しいですね
947デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/18(土) 14:13:31.53ID:mHEv1Kbm0 consoleオブジェクトのログ情報を出力するためのlogメソッド…
948デフォルトの名無しさん (アウアウウー Saa1-UHOz [106.180.4.201])
2023/11/18(土) 16:58:25.29ID:rXJKESWNa blogのlog
949デフォルトの名無しさん (ワッチョイ 0d5f-uy16 [14.8.71.128])
2023/11/18(土) 18:26:17.47ID:vb+682X10 彼岸島の名産品
950946 (ワッチョイ 4d1d-f5/H [180.178.89.53])
2023/11/18(土) 23:53:58.59ID:rj8Lk8BJ0951デフォルトの名無しさん (ワッチョイ e300-5mk2 [2400:2200:7f1:bf91:*])
2023/11/19(日) 10:42:09.47ID:HAfvoabg0 いえいえ
952デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47])
2023/11/20(月) 16:19:56.96ID:q8v/AXQl0 const arr =Array(3).fill([]);
arr[1].push(0);
console.log(arr);
この場合arrは[[], [0],[]]になっていることを期待するのですが実際には[[0], [0], [0]]となっています
まったく納得いかないのですがなぜですか
arr[1].push(0);
console.log(arr);
この場合arrは[[], [0],[]]になっていることを期待するのですが実際には[[0], [0], [0]]となっています
まったく納得いかないのですがなぜですか
953デフォルトの名無しさん (ワッチョイ 83f6-YW6P [2400:2200:6f1:ae40:*])
2023/11/20(月) 16:41:25.42ID:LC62eXy40 >>952
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#value
>配列を埋める値。もし value がオブジェクトであれば、配列のそれぞれの要素はそのオブジェクトを参照します。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#value
>配列を埋める値。もし value がオブジェクトであれば、配列のそれぞれの要素はそのオブジェクトを参照します。
954デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47])
2023/11/20(月) 16:49:32.78ID:q8v/AXQl0955デフォルトの名無しさん (ワッチョイ eb79-5mk2 [2400:2200:7f6:ca17:*])
2023/11/21(火) 08:31:09.87ID:reAksYQu0 いえいえ
956デフォルトの名無しさん (ワッチョイ 4d1d-TQK0 [180.178.89.53 [上級国民]])
2023/11/21(火) 23:06:08.47ID:Hk8WzggI0 変数宣言の際に、letよりconstを積極的に使うべき、とされているのはなぜでしょうか?
後で値を変えられるletの方が便利だと思うのですが
後で値を変えられるletの方が便利だと思うのですが
957デフォルトの名無しさん (ワッチョイ 0d5f-yKFx [14.8.104.32])
2023/11/22(水) 00:26:41.03ID:nlRha+4K0 JSにかかわらず変数は使ってる道中に値変換したり変数使いまわしてるとエラーの種になりやすいし、それを防止するのが大きいかな
配列やオブジェクトの値はconstでも変えられるし
昔はそういうごちゃごちゃ動く変数のトレースするのもプログラム組むやつの能力ってされてたなぁ
配列やオブジェクトの値はconstでも変えられるし
昔はそういうごちゃごちゃ動く変数のトレースするのもプログラム組むやつの能力ってされてたなぁ
958デフォルトの名無しさん (ワッチョイ e32f-e1iw [2400:2410:34a1:6700:*])
2023/11/22(水) 03:01:31.39ID:KDSVu4Ne0 コードを上から読んでいく時にconstだとこの値は後から変わることがないと決めつけて読むことができる
letだとどこかで書き換えられるのに注意しながら読まないといけない
letだとどこかで書き換えられるのに注意しながら読まないといけない
959デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 10:49:23.49ID:5A+ZhXZi0 可読性の部分が大きいよね
varで変数定義しているクソコードなんかリファクタリングしたくないだろ?
varで変数定義しているクソコードなんかリファクタリングしたくないだろ?
960デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 11:06:59.29ID:5A+ZhXZi0 constで最初から定義した後にそれが動的な値だった場合タイプエラーを起こしてからletに書き換える事はあるけど最初からletで定義しちゃうと後々constに書き換えた場合もしそれが動的な値ならプログラムそのものが動かなくなって新たなるバグを生むでしょう?
最初は縛りを強くしておいて後から緩めるはあるけど逆はないですよ
最初は縛りを強くしておいて後から緩めるはあるけど逆はないですよ
961デフォルトの名無しさん (ワッチョイ 35d5-SdNv [2404:7a82:3de0:3500:*])
2023/11/22(水) 15:03:20.05ID:hF+LjdVs0 条件によって const の値を変えられるようになるといいんだけどな。
簡単なのなら参考演算子でやれるけど。
簡単なのなら参考演算子でやれるけど。
962デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 20:15:59.75ID:5A+ZhXZi0 >>961
よくわからないけどそれってconst使う意味あるの?
よくわからないけどそれってconst使う意味あるの?
963デフォルトの名無しさん (ワッチョイ 2539-YW6P [2400:2200:6f2:ad2b:*])
2023/11/22(水) 20:54:04.80ID:FIiKhTS50 察するに初期代入時に場合によって違う値を入れたいということだろう
三項演算子を出してるし
三項演算子を出してるし
964956 (ワッチョイ 4d1d-f5/H [180.178.89.53])
2023/11/22(水) 21:26:20.43ID:VeafCB/q0 答えてくれた方々ありがとうございました
積極的にconstを使っていきたいと思います
積極的にconstを使っていきたいと思います
965デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/22(水) 21:54:03.90ID:7CtxEw9g0 >>962
うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を const に入れたいとか、この条件がもっと複雑になった感じとか。
あるいは、何かの基準座標を const に入れたいけどその値は一発では求まらないとか。
単にこれだけなら中間的な変数を使って値を求めて、最後に const に代入するって手もあるだろうけど、中間的な変数はスコープから追い出したいのにできないよね。
const x;
{
let a, b, c;
:
x = a + b * c;
}
みたいにできれば a b c はスコープから追い出せるけど、実際は
let a, b, c;
:
const x = a + b * c;
ってやらざるを得なくて、x が存在するスコープから a b c を追い出せない。
この計算を function に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。
うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を const に入れたいとか、この条件がもっと複雑になった感じとか。
あるいは、何かの基準座標を const に入れたいけどその値は一発では求まらないとか。
単にこれだけなら中間的な変数を使って値を求めて、最後に const に代入するって手もあるだろうけど、中間的な変数はスコープから追い出したいのにできないよね。
const x;
{
let a, b, c;
:
x = a + b * c;
}
みたいにできれば a b c はスコープから追い出せるけど、実際は
let a, b, c;
:
const x = a + b * c;
ってやらざるを得なくて、x が存在するスコープから a b c を追い出せない。
この計算を function に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。
966デフォルトの名無しさん (ワッチョイ 250c-YW6P [2400:2200:6d0:af1d:*])
2023/11/22(水) 22:23:44.12ID:lZKHNjwl0 調べてみると苦肉の策で↓みたいな書き方が紹介されてたけど可読性考えるとどうだろうね
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
967デフォルトの名無しさん (ワッチョイ e3c2-fy5B [2001:240:2467:98ce:*])
2023/11/22(水) 22:52:37.25ID:8gAUwwkj0 関数に切り出さない意味がわからない
968デフォルトの名無しさん (ワッチョイ 6bcf-ekUX [153.206.41.110])
2023/11/23(木) 00:25:34.14ID:9np+Rtrn0 欲しいのはただのブロックなのに関数として書かなければならないというのが余計なことをやらされている感はある。
969デフォルトの名無しさん (ワッチョイ cd3b-8MWH [2409:251:9020:2100:*])
2023/11/23(木) 01:53:09.12ID:pAGXWPD10 var使え
970デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/23(木) 15:16:53.54ID:d47OCYFA0 >>966
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
971デフォルトの名無しさん (ワッチョイ 2d12-YW6P [2400:2200:6f7:92d9:*])
2023/11/23(木) 15:39:42.20ID:98Thj8w70 >>970
その場合はタプルで受け取るようにすれば問題ないよ
const [x, y] = (() => {
let a, b, c;
:
return [a + b * c, a * b + c];
})();
その場合はタプルで受け取るようにすれば問題ないよ
const [x, y] = (() => {
let a, b, c;
:
return [a + b * c, a * b + c];
})();
972デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/23(木) 15:58:06.00ID:d47OCYFA0973デフォルトの名無しさん (ワッチョイ 551d-1fOb [180.178.89.53])
2023/11/29(水) 23:49:26.08ID:oO9dmq1+0 const num = 1;
とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している
という理解でよろしいでしょうか?
(numという名前でラベリングされたメモリ領域には、1そのものではなく
数値オブジェクトへの参照値が入っている?)
とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している
という理解でよろしいでしょうか?
(numという名前でラベリングされたメモリ領域には、1そのものではなく
数値オブジェクトへの参照値が入っている?)
974デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10])
2023/11/30(木) 04:02:01.17ID:uIFlL3tD0975973 (ワッチョイ 551d-1fOb [180.178.89.53])
2023/11/30(木) 22:41:28.93ID:l5hD/Y3Y0976デフォルトの名無しさん (ワッチョイ cb01-0ikQ [2001:240:2461:5256:*])
2023/11/30(木) 22:57:08.84ID:mSFTiyup0977デフォルトの名無しさん (ワッチョイ 25f0-5Z4W [220.146.53.208])
2023/11/30(木) 23:13:04.35ID:5k4SwxyG0978デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10])
2023/12/01(金) 01:54:56.09ID:Bo4sqMI/0979975 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/02(土) 04:48:25.07ID:3pMMmiCv0980デフォルトの名無しさん (ワッチョイ 99ca-egvc [2400:2200:6f3:92ab:*])
2023/12/02(土) 10:49:58.14ID:qpNh64Np0 >>977は気にしなくていいよ
英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう
あと日本語のページがないか調べるぐらいはしよう
https://developer.mozilla.org/ja/docs/Glossary/Primitive
英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう
あと日本語のページがないか調べるぐらいはしよう
https://developer.mozilla.org/ja/docs/Glossary/Primitive
981デフォルトの名無しさん (ワッチョイ 91ca-j/4L [122.132.80.240])
2023/12/02(土) 11:43:24.98ID:/unkk9Eq0 >>979
そもそもそんなことを気にしてどうするの?
何がしたくての質問?
ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
そもそもそんなことを気にしてどうするの?
何がしたくての質問?
ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
982979 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/03(日) 12:45:58.94ID:FUDcVj1n0983デフォルトの名無しさん (ワッチョイ c1b6-egvc [2400:2200:6d6:9e9c:*])
2023/12/03(日) 13:08:07.26ID:tV1DejKO0 >>975の質問なんかは明らかに自分のスキルや理解力に不相応なことを知ろうとしてない?
それを知ろうとするのはもっと力を付けてからがいいと思う
それを知ろうとするのはもっと力を付けてからがいいと思う
984デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.118.124.10])
2023/12/03(日) 14:24:30.66ID:GsReymgf0 >>982
実装を知る以前に仕様は理解してる?
「仕様書のここをどうやって実装しているか、を知りたい」なら誰かしら答えるかもしれないが、そのようなレベルにも見えない
仕様を理解せずして、実装を理解するのは無理
実装を知る以前に仕様は理解してる?
「仕様書のここをどうやって実装しているか、を知りたい」なら誰かしら答えるかもしれないが、そのようなレベルにも見えない
仕様を理解せずして、実装を理解するのは無理
985デフォルトの名無しさん (オイコラミネオ MM95-j/4L [150.66.80.109])
2023/12/03(日) 17:15:18.22ID:TpyXoIhbM986982 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/04(月) 23:09:24.91ID:GWbm6wp00987デフォルトの名無しさん (ワッチョイ a95f-i/h+ [14.8.104.32])
2023/12/04(月) 23:27:59.49ID:lRGkzbxI0 そのレベルを気にする人はもうフレームワーク作るレベルだろう
988デフォルトの名無しさん (アウアウウー Sa9d-/D3x [106.146.123.7])
2023/12/05(火) 20:06:09.74ID:gtr9NjJza >>982
あ、ややこしい書き方してすまん
単にuint64_tが値の参照でオブジェクトの場合はポインタが入ってて
整数の場合はそのまま使ってると言うことを言いたかっただけ
typedef uint64_t JsValue;
JsValueが「値」を指す参照
JsValue obj = createObject(); // Object
JsValue smi = createSmi(); // Small Integer
こうすることでオブジェクトも数値も同じように扱える
V8もJSCも全部これ
あ、ややこしい書き方してすまん
単にuint64_tが値の参照でオブジェクトの場合はポインタが入ってて
整数の場合はそのまま使ってると言うことを言いたかっただけ
typedef uint64_t JsValue;
JsValueが「値」を指す参照
JsValue obj = createObject(); // Object
JsValue smi = createSmi(); // Small Integer
こうすることでオブジェクトも数値も同じように扱える
V8もJSCも全部これ
989982,986 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/05(火) 23:32:22.63ID:c1y4Tvg20990デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.120.204.187])
2023/12/06(水) 00:21:20.37ID:HaZOzd170 >>986
入門書を読んで間もないレベルなら、口が避けても「仕様を理解した」とは言えない
実装を覚えるのは仕様書を読めるようになった後だろう
https://262.ecma-international.org/14.0/
入門書を読んで間もないレベルなら、口が避けても「仕様を理解した」とは言えない
実装を覚えるのは仕様書を読めるようになった後だろう
https://262.ecma-international.org/14.0/
991デフォルトの名無しさん (ワッチョイ 4b6e-yLTa [240a:61:11a:237d:*])
2023/12/09(土) 10:39:43.45ID:npLWblUF0 素人な質問で申し訳有りません。
下記のスクリプトで何故か関数丸々出力されてしまうのです。
テキストでは改行が多すぎる為、投稿出来ないため画像で申し訳有りません。
下のグレーのフォントが出力結果です。
出力指定していないので、何も出力されないはずなのですが…。
https://i.imgur.com/tJnx1oK.jpg
下記のスクリプトで何故か関数丸々出力されてしまうのです。
テキストでは改行が多すぎる為、投稿出来ないため画像で申し訳有りません。
下のグレーのフォントが出力結果です。
出力指定していないので、何も出力されないはずなのですが…。
https://i.imgur.com/tJnx1oK.jpg
992デフォルトの名無しさん (ワッチョイ 4501-zRS8 [60.106.64.223])
2023/12/09(土) 11:31:37.42ID:In8GNdRi0993デフォルトの名無しさん (ワッチョイ 2302-tASO [27.94.242.45])
2023/12/09(土) 14:27:43.55ID:iYG1bkmj0994デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.170.203])
2023/12/09(土) 15:46:37.17ID:W9usxQKOr /や:が入ってるのを明示してるのはコメントとして意味があるだろう
995デフォルトの名無しさん (ワッチョイ 1b56-m+YX [2400:4176:2846:5b00:*])
2023/12/09(土) 16:39:16.69ID:0uXDsiHr0 classのインスタンスで#プライベートメソッドにアクセスする方法ってないんでしょうか?
996986 (ワッチョイ b51d-g9yR [180.178.89.53])
2023/12/09(土) 17:13:36.47ID:YETt4fHv0997デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.232.20])
2023/12/09(土) 17:46:24.03ID:Mnb70srnr998デフォルトの名無しさん (ワッチョイ 5510-yLTa [222.230.65.145])
2023/12/10(日) 11:19:27.25ID:ngtmyS7f0999デフォルトの名無しさん (ワッチョイ 35cb-tek/ [2400:2200:6f2:ada4:*])
2023/12/10(日) 11:47:16.59ID:v6fUhk/701000デフォルトの名無しさん (ワッチョイ 8f18-Xgad [2001:268:98e3:8067:*])
2023/12/16(土) 00:37:24.71ID:xiFcB2tC0 テスト
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 495日 8時間 39分 45秒
新しいスレッドを立ててください。
life time: 495日 8時間 39分 45秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 結局松本人志ノーダメージじゃん
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 今朝も阿佐ヶ谷に住みたくて咽び泣いてる😭
