JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
+ JavaScript の質問用スレッド vol.124 +
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 8a52-hQZx [61.87.108.223])
2021/11/10(水) 15:24:24.80ID:jxD2VXPG02デフォルトの名無しさん (ワッチョイ 7f52-hQZx [61.87.108.223])
2021/11/10(水) 15:26:36.49ID:jxD2VXPG0 ■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
■テンプレ案
https://fiddle.jshell.net/6018r9tu/1/show/light/
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
■テンプレ案
https://fiddle.jshell.net/6018r9tu/1/show/light/
3デフォルトの名無しさん (ブーイモ MM0f-8Kye [163.49.205.32])
2021/11/10(水) 15:46:52.81ID:qwlO4mThM 前スレ998の質問だけど
一般的にはc2が返してるような関数のことをクロージャと呼ぶことが多いが
JavaScriptの関数は全部クロージャなのでc2自体もクロージャ
一般的にはc2が返してるような関数のことをクロージャと呼ぶことが多いが
JavaScriptの関数は全部クロージャなのでc2自体もクロージャ
4デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243])
2021/11/10(水) 16:02:48.18ID:ABhSQgxq0 なるほど
5デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/10(水) 17:50:22.23ID:KxrU4/8D06デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/10(水) 18:59:16.59ID:l7XWnHd40 過去スレみれねー
7デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/11(木) 11:19:40.42ID:FWyFKZol0 前スレで誤字があったので訂正と
クロージャーに関してわかりやすく説明しときます
closerは誤りでclouserでした
クロージャーに関してわかりやすく説明しときます
closerは誤りでclouserでした
8デフォルトの名無しさん (ブーイモ MM83-WKYw [210.138.176.182])
2021/11/11(木) 11:24:24.80ID:vTNkP19HM 末尾セミコロンはどうしたらいいですか?
9デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/11(木) 11:47:50.28ID:FWyFKZol0 【クロージャー】
クロージャーはJSの関数に下記の仕組みを持たせるための要素のセットです
・関数内部をクローズにする(外部から直接アクセスできない)
・関数からは外部のプロパティにアクセスできる
この仕組みを作るものがクロージャーです
クロージャーの要素は、おおざっぱに関数自身、関数内情報、関数外部を参照するポインタで、
この要素のセットをクロージャーと呼びます
【外部ポインタの働きと内部情報の動きの確認】
<サンプルコード>
function f1(){ let c=0;return c++; }
function f2(){ let c=0;return ()=>{let s=0;return [c++,s++];} }
let f3=f2() ;
1 f1() ;f1() ;console.log(f1());
2 f2()();f2()();console.log(f2()());
3 f3() ;f3() ;console.log(f3());
<結果出力>
1 c:0
2 c:0 s:0
3 c:2 s:0
ここで外部への参照ポインタをouterとします
f1のクロージャーは、{関数f1 return c}{変数c}{outer(global}
f2のクロージャーは、{関数f2 return function}{変数c}{outer(global}
f2のアローの場合、 {無名 return [c,s]}{変数s}{outer(f2)}
クロージャーはJSの関数に下記の仕組みを持たせるための要素のセットです
・関数内部をクローズにする(外部から直接アクセスできない)
・関数からは外部のプロパティにアクセスできる
この仕組みを作るものがクロージャーです
クロージャーの要素は、おおざっぱに関数自身、関数内情報、関数外部を参照するポインタで、
この要素のセットをクロージャーと呼びます
【外部ポインタの働きと内部情報の動きの確認】
<サンプルコード>
function f1(){ let c=0;return c++; }
function f2(){ let c=0;return ()=>{let s=0;return [c++,s++];} }
let f3=f2() ;
1 f1() ;f1() ;console.log(f1());
2 f2()();f2()();console.log(f2()());
3 f3() ;f3() ;console.log(f3());
<結果出力>
1 c:0
2 c:0 s:0
3 c:2 s:0
ここで外部への参照ポインタをouterとします
f1のクロージャーは、{関数f1 return c}{変数c}{outer(global}
f2のクロージャーは、{関数f2 return function}{変数c}{outer(global}
f2のアローの場合、 {無名 return [c,s]}{変数s}{outer(f2)}
10デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/11(木) 11:48:17.36ID:FWyFKZol0 コード1では、f1を2回呼びますが、関数呼び出し1回につき、1つの(別々の)クロージャーが生成されます
同じ変数名のcであっても、別物のcとなります
ですから、cはインクリメントされずに0となります
コード2ではf2から戻されるアロー関数を複数回呼び出しますが
関数の呼び出し1回につき、別々のクロージャーが生成されますので
上記と同じようにcは0になります
コード3では、f2から戻されるアロー関数を変数f3に代入し、それを複数回呼び出します
呼び出しのたびに別々のクロージャーが生成されますが
外部への参照は、outer(f2)なので、同じcを参照していますので
複数回呼び出すとcをインクリメントします
一方でアロー関数内の変数sは、コード1や2の説明と同じでインクリメントされません
同じ変数名のcであっても、別物のcとなります
ですから、cはインクリメントされずに0となります
コード2ではf2から戻されるアロー関数を複数回呼び出しますが
関数の呼び出し1回につき、別々のクロージャーが生成されますので
上記と同じようにcは0になります
コード3では、f2から戻されるアロー関数を変数f3に代入し、それを複数回呼び出します
呼び出しのたびに別々のクロージャーが生成されますが
外部への参照は、outer(f2)なので、同じcを参照していますので
複数回呼び出すとcをインクリメントします
一方でアロー関数内の変数sは、コード1や2の説明と同じでインクリメントされません
11デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/11(木) 11:48:37.71ID:FWyFKZol0 【関数はクロージャーか?】
クロージャーは関数ではありませんし
関数はクロージャーではありません
関数内をクローズにし、外部参照を持たせる、という仕組みをつくるための
関数、内部情報、外部参照ポインタのセットがクロージャーです
【言語は多数者が正しい】
f2で戻される無名関数をクロージャーと呼ぶ人がいるのは
クロージャーの説明のために多用されていることで
無名関数をクロージャーと誤解してしまったり
f1が外部からクローズ状態なので、f1がクロージャーなんだと
そう理解してる人が多かったりしています
クロージャーという言語の用法に関して
何が正しいのかは、それぞれの立場を主張する人数によって
決定することが正しいのかもしれません
以上で訂正とまとめを終わります
クロージャーは関数ではありませんし
関数はクロージャーではありません
関数内をクローズにし、外部参照を持たせる、という仕組みをつくるための
関数、内部情報、外部参照ポインタのセットがクロージャーです
【言語は多数者が正しい】
f2で戻される無名関数をクロージャーと呼ぶ人がいるのは
クロージャーの説明のために多用されていることで
無名関数をクロージャーと誤解してしまったり
f1が外部からクローズ状態なので、f1がクロージャーなんだと
そう理解してる人が多かったりしています
クロージャーという言語の用法に関して
何が正しいのかは、それぞれの立場を主張する人数によって
決定することが正しいのかもしれません
以上で訂正とまとめを終わります
12デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/11(木) 12:08:29.83ID:FWyFKZol0 >>8
javascript.infoでは
[ ]の前にセミコロンは想定していないため、前段と次段のコードが連続することが説明されてます
console.log(1)
[...'string'].forEach(console.log)
は
console.log(1)[...'string'].forEach(console.log)
と同じ扱いで、1を出力したのち、エラーになります
[]を使うときに思い出してください
javascript.infoでは
[ ]の前にセミコロンは想定していないため、前段と次段のコードが連続することが説明されてます
console.log(1)
[...'string'].forEach(console.log)
は
console.log(1)[...'string'].forEach(console.log)
と同じ扱いで、1を出力したのち、エラーになります
[]を使うときに思い出してください
13デフォルトの名無しさん (ワッチョイ 5f01-Q360 [126.145.174.156])
2021/11/11(木) 13:44:12.02ID:PJUcZthZ0 >>7
closureでは?
closureでは?
14デフォルトの名無しさん (ワッチョイ ffdb-H2rd [217.178.96.78])
2021/11/11(木) 14:51:22.63ID:69bvz9620 スジャータ
15デフォルトの名無しさん (ブーイモ MM0f-8Kye [163.49.200.151])
2021/11/11(木) 16:11:30.72ID:+2WcRgNnM クロージャーに「関数内部をクローズにする」なんて意味はないよ
16デフォルトの名無しさん (ワッチョイ 7ff0-+Epa [61.205.223.183])
2021/11/11(木) 16:24:36.04ID:YbaQuGpg0 JSのクロージャーってどういう意味なの?
17デフォルトの名無しさん (ワッチョイ 7ff0-+Epa [61.205.223.183])
2021/11/11(木) 16:26:10.03ID:YbaQuGpg0 9の長い長い説明はまったくもって的外れ?
18デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/11(木) 18:44:36.77ID:a2zl13Hx0 ふーん、なるほどねぇ
19デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/11(木) 19:03:41.76ID:a2zl13Hx0 ||クロージャーは、組み合わされた(囲まれた)関数と、
||その周囲の状態(レキシカル環境)への参照の組み合わせです。
||言い換えれば、クロージャは内側の関数から外側の関数スコープへのアクセスを提供します。
||(MDN)
「関数の内から関数の外を参照できる、参照権限(参照できる状態(仕組み))」ということだろ!!!
これできめ!
||その周囲の状態(レキシカル環境)への参照の組み合わせです。
||言い換えれば、クロージャは内側の関数から外側の関数スコープへのアクセスを提供します。
||(MDN)
「関数の内から関数の外を参照できる、参照権限(参照できる状態(仕組み))」ということだろ!!!
これできめ!
20デフォルトの名無しさん (ワッチョイ 5f01-lK5T [126.242.217.11])
2021/11/11(木) 19:41:41.77ID:CFwD9UgS0 クロージャは関数閉包のこと
関数の中に関数が内包された状態を指す
外側の関数をエンクロージャと呼ぶが、クロージャ=関数ではない
関数の中に関数が内包された状態を指す
外側の関数をエンクロージャと呼ぶが、クロージャ=関数ではない
21デフォルトの名無しさん (ワッチョイ ff2d-+Epa [121.102.71.88])
2021/11/11(木) 20:24:37.12ID:eeb4OqXn0 現在のスコープに変数が見つからなければ、どんどん外のスコープに変数を探しに行って
最終的にwindowまで探しに行ってくれる機能のことをクロージャと呼ぶ
かな?
最終的にwindowまで探しに行ってくれる機能のことをクロージャと呼ぶ
かな?
22デフォルトの名無しさん (ワッチョイ 5f01-lK5T [126.242.217.11])
2021/11/11(木) 20:29:10.77ID:CFwD9UgS023デフォルトの名無しさん (ワッチョイ ffb0-QVGU [153.219.213.62])
2021/11/11(木) 21:31:01.83ID:P2a3zHOn0 Promiseの状態(pending/fullfilled/rejected)って外から取得できないんだっけ?
探しても方法が見つからな。
探しても方法が見つからな。
24デフォルトの名無しさん (ブーイモ MM4f-8Kye [133.159.152.241])
2021/11/11(木) 22:17:06.64ID:9vb0JKHxM MDNの訳が微妙すぎると思ったら原文も同じだった
A closure is the combination of a function with references to its surrounding state.
か
A closure is a function bundled together with references to its surrounding state.
のどっちかにしたかったんだろう
A closure is the combination of a function with references to its surrounding state.
か
A closure is a function bundled together with references to its surrounding state.
のどっちかにしたかったんだろう
25デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/11(木) 22:18:41.74ID:a2zl13Hx026デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/11(木) 22:22:39.31ID:a2zl13Hx0 >>24
JSの設計のあいまいさを感じられるな
JSの設計のあいまいさを感じられるな
27デフォルトの名無しさん (ブーイモ MM4f-8Kye [133.159.150.0])
2021/11/11(木) 22:44:02.25ID:/xlmv84EM28デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/12(金) 07:15:12.60ID:JgN/83EX0 それを読んでも統一見解が得られづらいからこうなってるってわかる?
29デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/12(金) 07:25:05.37ID:JgN/83EX0 でもまぁ一連のやり取りで
環境レコードや外部参照チェーンやスコープの復習ができたということで
この部分に関しては、脱素人になったわけだ、おめでとー
環境レコードや外部参照チェーンやスコープの復習ができたということで
この部分に関しては、脱素人になったわけだ、おめでとー
30デフォルトの名無しさん (ワッチョイ bd10-HV3m [180.12.82.129])
2021/11/14(日) 19:04:13.43ID:y8V9oC250 canvasでcontext.lineWidth=1;にして直線を描いても幅が1にならなくて2ピクセル分の太さになってしまいます
どうすれば幅1の直線が描けますか?
どうすれば幅1の直線が描けますか?
31デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.243.242.148])
2021/11/14(日) 19:57:25.52ID:oSBO5A5Z0 >>25
言語仕様に言及するのなら、「ECMAScriptにクロージャは存在しない」が正解
> グローバル内に宣言された関数も、囲まれた関数なんだよ
そんな仕様はない
クロージャなんて概念は忘れて、変数、スコープ、関数の仕組みを覚える方が正しい理解に繋がる
言語仕様に言及するのなら、「ECMAScriptにクロージャは存在しない」が正解
> グローバル内に宣言された関数も、囲まれた関数なんだよ
そんな仕様はない
クロージャなんて概念は忘れて、変数、スコープ、関数の仕組みを覚える方が正しい理解に繋がる
32デフォルトの名無しさん (ワッチョイ f661-lRA9 [153.160.97.54])
2021/11/14(日) 20:00:15.95ID:g8AzdeEc033デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.243.242.148])
2021/11/14(日) 20:54:05.86ID:oSBO5A5Z0 >>28
クロージャで統一見解といえるのは「クロージャ=関数が入れ子になった状態」だけ
そこに機能的価値を見いだそうとするなら「クロージャという名の機能は存在しない」だ
機能的には別の機能で実装されていて、
関数を入れ子にした結果、それらの機能が便利な状況を作り出しているに過ぎない
学習目的なら「クロージャ」は忘れた方がいい
クロージャで統一見解といえるのは「クロージャ=関数が入れ子になった状態」だけ
そこに機能的価値を見いだそうとするなら「クロージャという名の機能は存在しない」だ
機能的には別の機能で実装されていて、
関数を入れ子にした結果、それらの機能が便利な状況を作り出しているに過ぎない
学習目的なら「クロージャ」は忘れた方がいい
34デフォルトの名無しさん (ブーイモ MM8e-o9bf [133.159.149.178])
2021/11/14(日) 21:16:07.13ID:Ec4oDlx8M 関数が入れ子かどうかなんて関係ないよ
理解してない人たち同士で"統一見解"を求めようとするからドツボに嵌ってる
理解してない人たち同士で"統一見解"を求めようとするからドツボに嵌ってる
35デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.243.242.148])
2021/11/14(日) 21:27:55.45ID:oSBO5A5Z0 >>34
仕様にない単語に、統一見解を求めるのが間違いなんだろうな
仕様にない単語に、統一見解を求めるのが間違いなんだろうな
36デフォルトの名無しさん (ワッチョイ f6b0-WW/G [153.219.213.62])
2021/11/14(日) 21:47:51.05ID:ybz8bu8o0 とはいえ「クロージャ=関数が入れ子になった状態」って定義は明らかに間違いだろう。
37デフォルトの名無しさん (ブーイモ MM5e-o9bf [163.49.204.253])
2021/11/14(日) 21:57:27.13ID:pXm3Ey2jM ECMAの仕様にはAbstruct Closure Specification Typeが定義されてるし、関数定義周りでclosureって言葉は繰り返し出てくるよ
まあでも仕様型みたいな大半の人が知らなくても困らないような詳細知識よりも
クロージャとは一般的にどういうものを指すのかという基礎的知識を身につけたほうがいい
まあでも仕様型みたいな大半の人が知らなくても困らないような詳細知識よりも
クロージャとは一般的にどういうものを指すのかという基礎的知識を身につけたほうがいい
38デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.243.242.148])
2021/11/14(日) 23:10:09.15ID:oSBO5A5Z039デフォルトの名無しさん (ワッチョイ da02-wd7R [59.129.58.203])
2021/11/15(月) 00:30:22.12ID:gtEjBgCa0 ワロスw
40デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/15(月) 07:13:10.30ID:slHpwqED0 JSのクロージャーは
関数内のプロパティに、外部から直接アクセスできないが
関数内から外部への参照はチェーンしているという状態をいう
外部Lexicalへの参照を持たない関数型は
関数ではあるけどクロージャーにならない
入り子になっていても
もうクロージャはこれで終わり
クロージャーに貴重な人生を奪われるなよ?
関数内のプロパティに、外部から直接アクセスできないが
関数内から外部への参照はチェーンしているという状態をいう
外部Lexicalへの参照を持たない関数型は
関数ではあるけどクロージャーにならない
入り子になっていても
もうクロージャはこれで終わり
クロージャーに貴重な人生を奪われるなよ?
4140 (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/15(月) 07:21:28.04ID:slHpwqED0 状態ではなく仕組みがいいな
クロージャーはオブジェクトセットという表現が適してる例が散見されるみたいだし
必要なオブジェクトセットを使ってnativeでクロージャーを実現してるんだから
クロージャーは仕組み!これできめ!
クロージャーはオブジェクトセットという表現が適してる例が散見されるみたいだし
必要なオブジェクトセットを使ってnativeでクロージャーを実現してるんだから
クロージャーは仕組み!これできめ!
42デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/15(月) 07:45:40.57ID:slHpwqED0 >>37
var a=0;
let b=1;
let c='C';
function func(){
let c=2;
return [a,b,c];
}
func.a='A';
console.log(
[window.a,window.b,window.c],
[a,b,c],
func(),
[func().a,func().b,func().c],
[func.a,func.b,func.c]
);
この出力を理解するにはクロージャーの仕組みの理解は必要でない?
var a=0;
let b=1;
let c='C';
function func(){
let c=2;
return [a,b,c];
}
func.a='A';
console.log(
[window.a,window.b,window.c],
[a,b,c],
func(),
[func().a,func().b,func().c],
[func.a,func.b,func.c]
);
この出力を理解するにはクロージャーの仕組みの理解は必要でない?
43デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.161.181.74])
2021/11/15(月) 19:30:23.51ID:rDFc2Y3T044デフォルトの名無しさん (ワッチョイ eec3-lRA9 [159.28.152.184])
2021/11/15(月) 21:15:21.66ID:eCFTqC9o0 すいません、下記のようにボタンを押した時の処理をあらかじめ一つずつJSで書いて書いてるんですが、
ボタンの種類と数が莫大な量になるとJSを書くのが大変になってきました
逆にクリックされた任意のボタンオブジェクトを変数に入れる方法ってあったりしますでしょうか
(ボタンがクリックされる→クリックされたボタンのclassやvalueやtextを調べて目的の処理、という順番に変更したい)
下記が現状のコードです
・html
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnB" value="固有の番号">ボタンBタイプ</button>
・js
const BtnA = document.getElementsByClassName('BtnA');
for(i=0;BtnA.length>i;i++){
BtnA[i].addEventListener('click', () =>{
//ここに押された時の処理を書く
});
}
const BtnB = document.getElementsByClassName('BtnB');
以下BtnAのコードとほぼ同様
ボタンの種類と数が莫大な量になるとJSを書くのが大変になってきました
逆にクリックされた任意のボタンオブジェクトを変数に入れる方法ってあったりしますでしょうか
(ボタンがクリックされる→クリックされたボタンのclassやvalueやtextを調べて目的の処理、という順番に変更したい)
下記が現状のコードです
・html
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnB" value="固有の番号">ボタンBタイプ</button>
・js
const BtnA = document.getElementsByClassName('BtnA');
for(i=0;BtnA.length>i;i++){
BtnA[i].addEventListener('click', () =>{
//ここに押された時の処理を書く
});
}
const BtnB = document.getElementsByClassName('BtnB');
以下BtnAのコードとほぼ同様
45デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/15(月) 22:27:30.97ID:slHpwqED0 >>44
クラス数×value数×text種類数だけ処理数があるってことですか?
クラス数×value数×text種類数だけ処理数があるってことですか?
46デフォルトの名無しさん (ワッチョイ f62c-FDGb [153.136.94.40])
2021/11/15(月) 22:58:29.48ID:OfX77+Sf0 class="BtnA BtnAll"
class="BtnB BtnAll"
みたいに、BtnAll で、すべてのボタンの処理をまとめれば?
JavaScript のスレは、この板ではなく、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急的に立てられたものだから
class="BtnB BtnAll"
みたいに、BtnAll で、すべてのボタンの処理をまとめれば?
JavaScript のスレは、この板ではなく、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急的に立てられたものだから
47デフォルトの名無しさん (ワッチョイ eec3-lRA9 [159.28.152.184])
2021/11/16(火) 00:43:22.12ID:Ca8LCMpZ048デフォルトの名無しさん (ワッチョイ 4d01-gBK2 [126.161.181.74])
2021/11/16(火) 07:19:53.13ID:L8BSEbG1049デフォルトの名無しさん (ワッチョイ 5af0-lRA9 [219.121.80.140])
2021/11/16(火) 13:14:21.44ID:x6nbCzKN0 >>44
処理数が多すぎて管理効率が悪くなってるってことかな?
ボタン数×(value数-1)×(str数-2)の数の処理があって
保守管理しづらいというのなら下記の考え方はどうでしょう?
変数buttonにはボタンオブジェクト
変数getFuncにはクリックイベント処理を固有番号で紐づける
変数buttonをfor of で回して、固有番号で分岐して、リスナーを設定する
button=document.getelementsbytagname('button')
getFunc={
固有番号:function(){}
固有番号:function(){},,,}
for(let i of button){
switch(i.value){
case '固有番号':i.addEventlistener('click',getFunc[固有番号]);break;
処理数が多すぎて管理効率が悪くなってるってことかな?
ボタン数×(value数-1)×(str数-2)の数の処理があって
保守管理しづらいというのなら下記の考え方はどうでしょう?
変数buttonにはボタンオブジェクト
変数getFuncにはクリックイベント処理を固有番号で紐づける
変数buttonをfor of で回して、固有番号で分岐して、リスナーを設定する
button=document.getelementsbytagname('button')
getFunc={
固有番号:function(){}
固有番号:function(){},,,}
for(let i of button){
switch(i.value){
case '固有番号':i.addEventlistener('click',getFunc[固有番号]);break;
50デフォルトの名無しさん (ワッチョイ 5af0-lRA9 [219.121.80.140])
2021/11/16(火) 13:26:34.28ID:x6nbCzKN0 >>44
上の説明だとわかりづらいかな
let getButton=function(){button=document.getElementsByTagName('button');}
// valueの固有番号毎に処理を設定
let addEvent=function(){
for(let i of button){
switch (i.value){
case '101':i.addEventListener('click',addFunc[101]);break;}}}
let button;
// 関数をまとめ置く
let addFunc={
101:function(){console.log(this.value)},
102:function(){console.log(this.className)},}
上の説明だとわかりづらいかな
let getButton=function(){button=document.getElementsByTagName('button');}
// valueの固有番号毎に処理を設定
let addEvent=function(){
for(let i of button){
switch (i.value){
case '101':i.addEventListener('click',addFunc[101]);break;}}}
let button;
// 関数をまとめ置く
let addFunc={
101:function(){console.log(this.value)},
102:function(){console.log(this.className)},}
51デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/16(火) 19:57:25.19ID:ES2RXggH0 switchの中をObject.keys().forEach()でまわして
addFunc[+i.value]で作り直したらすっきりしそう
いじりたくなるコードだけど可読性を考えたらこれはこれなのか
addFunc[+i.value]で作り直したらすっきりしそう
いじりたくなるコードだけど可読性を考えたらこれはこれなのか
52デフォルトの名無しさん (ワッチョイ eecb-wd7R [223.132.4.34])
2021/11/16(火) 22:10:30.79ID:iK58PKMQ0 リアクトでのスマホアプリ開発なんですが、エミュレータは何がお勧めですか?
というのも実機を持っていません。
また、実機を使う場合はアンドロイド5などは使い物になりますか?
古い機種に合わせて作っても、上位互換性のないソフトになるんでしょうか?
というのも実機を持っていません。
また、実機を使う場合はアンドロイド5などは使い物になりますか?
古い機種に合わせて作っても、上位互換性のないソフトになるんでしょうか?
53デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/17(水) 07:47:58.17ID:/ZY56h0o0 >>52
「React andoridアプリ開発 エミュレータ」で検索どうぞ
「api16 開発 不具合 or 互換性」で検索どうぞ
これがベストっていう答えがないから
開発者が自分で試行錯誤して答えを出す問題かな
互換性の問題は作るものによっても違うからね
jellyならそんな問題ないとおもうけど
「React andoridアプリ開発 エミュレータ」で検索どうぞ
「api16 開発 不具合 or 互換性」で検索どうぞ
これがベストっていう答えがないから
開発者が自分で試行錯誤して答えを出す問題かな
互換性の問題は作るものによっても違うからね
jellyならそんな問題ないとおもうけど
54デフォルトの名無しさん (ワッチョイ eecb-wd7R [223.132.4.34])
2021/11/17(水) 10:05:17.45ID:syddc80l0 >>53
jellyッテの調べてみますです
jellyッテの調べてみますです
55デフォルトの名無しさん (ワッチョイ eecb-wd7R [223.132.4.34])
2021/11/17(水) 14:33:19.47ID:syddc80l056デフォルトの名無しさん (テテンテンテン MM8e-IL+H [133.106.50.1])
2021/11/17(水) 17:43:10.56ID:+3kxan1mM androidの話はandroid開発スレで聞いてくれ
多分実機なしは無謀、5は古すぎでFA
多分実機なしは無謀、5は古すぎでFA
57デフォルトの名無しさん (ワッチョイ eecb-wd7R [223.132.4.34])
2021/11/18(木) 06:50:53.17ID:TN6Tj1JF0 >>56
了解す
了解す
58デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/18(木) 07:17:54.57ID:DvlppRWo0 そんなことはない
android5で使えるアプリが目的なんだから
android5で作成するのがベスト
reactNativeエンジンがどうエンコードして
androidで動かしてるのか分らんので
今のreactでandroid5のどの機能を使えるのか
全然わからんけどな
android5で使えるアプリが目的なんだから
android5で作成するのがベスト
reactNativeエンジンがどうエンコードして
androidで動かしてるのか分らんので
今のreactでandroid5のどの機能を使えるのか
全然わからんけどな
59デフォルトの名無しさん (アウアウクー MM75-/vwC [36.11.224.2 [上級国民]])
2021/11/18(木) 07:27:37.77ID:dAtvmzd9M60デフォルトの名無しさん (ワッチョイ 6e46-wd7R [111.98.111.65])
2021/11/18(木) 19:32:55.35ID:DvlppRWo0 API21からなんだな
61デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/19(金) 12:50:28.04ID:zuBm2fI80 文字列化した数式を計算させるにはどうやればいいんですか?
test("x*x+10",2);
function test(suushiki_str,x){
var y = suushiki_str(この場合x*x+10)でx=2を代入;
retuen(y)
}
こういうのがやりたいんだけど
test("x*x+10",2);
function test(suushiki_str,x){
var y = suushiki_str(この場合x*x+10)でx=2を代入;
retuen(y)
}
こういうのがやりたいんだけど
62デフォルトの名無しさん (ワッチョイ 0e2d-9IQd [121.102.71.88])
2021/11/19(金) 12:55:11.51ID:CS9Fe95O0 function test(suushiki_str,x){
return eval(suushiki_str)
}
return eval(suushiki_str)
}
63デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/19(金) 13:17:09.00ID:zuBm2fI80 >>62
ありがとー
ありがとー
64デフォルトの名無しさん (ブーイモ MM26-1svM [163.49.209.232])
2021/11/19(金) 13:41:30.73ID:5MAibbygM 何がしたいのか分からないけど、設計自体が間違ってる気がするけどなあ
65デフォルトの名無しさん (ワッチョイ 6301-wksM [60.74.72.59])
2021/11/19(金) 21:34:02.13ID:FkG8ODwP0 eval is evil
evalをそのまま使う事はまずないな
evalをそのまま使う事はまずないな
66デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 07:02:21.23ID:0rDRyz8e0 evalを使えとなw
67デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 07:04:06.68ID:0rDRyz8e0 evalが生きていること自体、JSが未成熟の証
68デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 07:46:31.86ID:0rDRyz8e0 >>61
evalは非推奨だから
function test(fun,x){
return fun(x);
}
test(function(x){return x*x+10},5);
としときましょう
evalは非推奨だから
function test(fun,x){
return fun(x);
}
test(function(x){return x*x+10},5);
としときましょう
69デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/20(土) 18:55:29.17ID:BgP9vp1q0 evalって外部から入力させなければ使っても問題ないんじゃないの?
70デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 18:57:47.86ID:0rDRyz8e0 使いたければつかったらいいよ
71デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 19:05:52.91ID:Gd107dzfr やっぱjavascriptできるとなんでも作れるな
めちゃくちゃ便利だわ
めちゃくちゃ便利だわ
72デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 19:54:48.88ID:0rDRyz8e0 ブラウザ限定だし
HTMLと一緒でメンテナンスとか関係なければな
もしJSで金融システムみたいな厳格なシステム作ろうとしたら
開発者はみんな気がくるってしまうんじゃないかな
HTMLと一緒でメンテナンスとか関係なければな
もしJSで金融システムみたいな厳格なシステム作ろうとしたら
開発者はみんな気がくるってしまうんじゃないかな
73デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 19:57:24.06ID:Gd107dzfr マジでjavascriptだけでめちゃくちゃ儲けてる
使いこなせばガチで素晴らしい
使いこなせばガチで素晴らしい
74デフォルトの名無しさん (ワッチョイ 372f-IS5D [218.220.251.107])
2021/11/20(土) 20:02:17.98ID:4VXr5Xxs0 仕事で使ってるサイトをJavascriptで自動化できませんか?
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
75デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 20:22:43.02ID:0rDRyz8e0 >>74
データーの保存はどこを想定してますか?
データーの保存はどこを想定してますか?
76デフォルトの名無しさん (ワッチョイ 035c-+VBe [220.212.121.177])
2021/11/20(土) 20:24:55.79ID:b48agA+u0 seleniumでいいじゃん
77デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 20:46:00.92ID:Gd107dzfr 認証しないシステムなんて攻撃か踏み台にされるとか考えないのか
78デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/20(土) 21:05:08.87ID:t4XZd1270 定型をポチポチ入力してボタン押すのがダルい程度ならブックマークレットでいいだろ
79デフォルトの名無しさん (ワッチョイ 4e2c-iAR7 [153.136.94.40])
2021/11/21(日) 08:08:40.09ID:zYUtuXs90 >>74
ブラウザを自動操作なら、iMacros は?
例えば漏れは、Ruby のselenium-webdriver で、
ブラウザを自動操作して、ヤフーにログインしてる
ユーザー名を入力して、ボタンを押す。
パスワードを入力して、ボタンを押すとか
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click # ボタンを押す
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click # ボタンを押す
ブラウザを自動操作なら、iMacros は?
例えば漏れは、Ruby のselenium-webdriver で、
ブラウザを自動操作して、ヤフーにログインしてる
ユーザー名を入力して、ボタンを押す。
パスワードを入力して、ボタンを押すとか
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click # ボタンを押す
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click # ボタンを押す
80デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/21(日) 18:31:02.25ID:8Vc5P3wO0 >>768
それだと数式を""で囲んで文字列にすると計算できない
それだと数式を""で囲んで文字列にすると計算できない
81デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/21(日) 18:31:35.22ID:8Vc5P3wO0 >>68だ
82デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/21(日) 19:15:18.38ID:s72Bw1rA0 classが非推奨になるのはいつですか?
83デフォルトの名無しさん (ワッチョイ 6301-wksM [60.74.72.59])
2021/11/21(日) 19:23:58.62ID:6CiZCeOJ0 >>82
その予定はない
その予定はない
84デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/21(日) 21:16:08.25ID:CIU/fTVN085デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/21(日) 21:19:33.19ID:QvzeRvg10 >>61
function test(suushiki_str, x){
var f = Function('x', 'return ' + suushiki_str);
return f(x);
}
test('x * x + 10' ,2);
//=> 14
function test(suushiki_str, x){
var f = Function('x', 'return ' + suushiki_str);
return f(x);
}
test('x * x + 10' ,2);
//=> 14
86デフォルトの名無しさん (オッペケ Srbb-eA7U [126.205.247.161])
2021/11/21(日) 22:55:28.72ID:EhgufZNWr javascriptが使えるとやりたいことが簡単にできる
87デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 11:19:44.15ID:svQfIHqM0 >>86
JavaScript最強伝説。
JavaScript最強伝説。
88デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/22(月) 14:30:42.59ID:zL7mhfu3r ブラウザで動く
LambdaやGoogle Functionsで動く
デスクトップアプリも作れる
OfficeWeb版やGASでも動く
インフラ構築不要で最強すぎるだろ
LambdaやGoogle Functionsで動く
デスクトップアプリも作れる
OfficeWeb版やGASでも動く
インフラ構築不要で最強すぎるだろ
89デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 16:46:08.87ID:svQfIHqM090デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/22(月) 16:48:25.46ID:zL7mhfu3r91デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 17:43:25.62ID:+p8qnn8E0 すいません、下記のように読み込んだshiftJISのcsvファイルを
正規表現を使って置換しようとしてるのですがうまくいきません
文字コードの問題なのか指定したマッチパターン意外の色んな文字が勝手に置換されてしまいます
const requestCSV = new XMLHttpRequest();
requestCSV.overrideMimeType('text/plain; charset=Shift_JIS');//csvの文字コードがshiftJSであることは変更できない
requestCSV.addEventListener('load', (event) => {
const orgCSV = event.target.responseText;
tempKey="["+key+"]";//keyは変数を使う必要があります
keyName = new RegExp(tempKey, "g");//複数マッチさせる必要があります
result=orgCSV.replace(keyName, "ほげ");
}
正規表現オブジェクトを使わずにreplaceさせると問題なく動くのですが、
マッチパターンを変数にしたいのと、複数回以上にマッチさせるため g をつけるため、
正規表現オブジェクトを使わざるを得ない状態です。
どなたかアドバイスお願いできますでしょうか
正規表現を使って置換しようとしてるのですがうまくいきません
文字コードの問題なのか指定したマッチパターン意外の色んな文字が勝手に置換されてしまいます
const requestCSV = new XMLHttpRequest();
requestCSV.overrideMimeType('text/plain; charset=Shift_JIS');//csvの文字コードがshiftJSであることは変更できない
requestCSV.addEventListener('load', (event) => {
const orgCSV = event.target.responseText;
tempKey="["+key+"]";//keyは変数を使う必要があります
keyName = new RegExp(tempKey, "g");//複数マッチさせる必要があります
result=orgCSV.replace(keyName, "ほげ");
}
正規表現オブジェクトを使わずにreplaceさせると問題なく動くのですが、
マッチパターンを変数にしたいのと、複数回以上にマッチさせるため g をつけるため、
正規表現オブジェクトを使わざるを得ない状態です。
どなたかアドバイスお願いできますでしょうか
92デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 17:45:45.05ID:svQfIHqM0 >>90
Javaの方が分かりやすかった。
Javaの方が分かりやすかった。
93デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 18:41:55.55ID:kseOISZ70 Javaと比べたらJavaScriptのほうが文法複雑じゃないと思うが…
TypeScriptと混同してない?
TypeScriptと混同してない?
94デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 18:43:22.51ID:kseOISZ70 それかDOM APIをJavaScriptの文法に含むと勘違いしてるとか
95デフォルトの名無しさん (ブーイモ MM26-IS5D [163.49.208.33])
2021/11/22(月) 18:50:50.35ID:jaRoUi/NM Javaのほうが圧倒的にすっきりしている。
ほんとに両言語をちゃんと勉強したことあるか?
アルツハイマーでもこれくらい分かる。
ほんとに両言語をちゃんと勉強したことあるか?
アルツハイマーでもこれくらい分かる。
96デフォルトの名無しさん (ワッチョイ 4e61-9IQd [153.160.97.54])
2021/11/22(月) 18:53:04.86ID:yUT2zM6b0 >>91
keyを[]で囲む必要なし
keyを[]で囲む必要なし
97デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 18:54:55.94ID:LGR+CB3F0 >>94
古いJSとの互換性を取ろうとすると
古い文法も理解しないとならないからな
オブジェクトの生成も多種多様
JSの細かいところまで理解しようとすると
javaやpythonとかのほうが整理されていてわかりやすい
let obj var objのLexicalの違いや
let obj={}
let fun=function(){}
function fun(){}
class cs extends fun{}
class cs{
__proto__=a;
}
obj.constructor.prorotype=obj
newObjext ,Object.create
こんなのシンプルなわけがない
と92はいいたんだと思う
古いJSとの互換性を取ろうとすると
古い文法も理解しないとならないからな
オブジェクトの生成も多種多様
JSの細かいところまで理解しようとすると
javaやpythonとかのほうが整理されていてわかりやすい
let obj var objのLexicalの違いや
let obj={}
let fun=function(){}
function fun(){}
class cs extends fun{}
class cs{
__proto__=a;
}
obj.constructor.prorotype=obj
newObjext ,Object.create
こんなのシンプルなわけがない
と92はいいたんだと思う
98デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 19:05:02.79ID:+p8qnn8E099デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 19:40:22.23ID:kseOISZ70 Java
class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
JavaScript
console.log("Hello World!");
hello worldからしてこれだからな
あなたの「シンプル」の定義を見せてもらえないと…
class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
JavaScript
console.log("Hello World!");
hello worldからしてこれだからな
あなたの「シンプル」の定義を見せてもらえないと…
100デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 20:19:16.63ID:LGR+CB3F0 >>99
JSのクラスは疑似クラス
他言語のClassと同じように扱えるように
functionを疑似的にclass表現できるようにしてるだけ
Javaと異なりJSはconstructorを有するオブジェクトの生成方法が沢山ある
それすら理解できずに、99の問いとは、、、もっとJSを勉強しようぜ
Javaのほうが圧倒的に整理され覚える文法が少ない
つか、JavaとJS、両方ともそこそこ使えたら
99みたいなこと言えないだろw
JSのクラスは疑似クラス
他言語のClassと同じように扱えるように
functionを疑似的にclass表現できるようにしてるだけ
Javaと異なりJSはconstructorを有するオブジェクトの生成方法が沢山ある
それすら理解できずに、99の問いとは、、、もっとJSを勉強しようぜ
Javaのほうが圧倒的に整理され覚える文法が少ない
つか、JavaとJS、両方ともそこそこ使えたら
99みたいなこと言えないだろw
101デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 20:26:36.75ID:LGR+CB3F0 >>99
もうちょっと言わせてもらえば
Javaは変数エラーをチェックしやすい言語設計
JSは変数エラーを無限に生成し得る言語設計
JSはマークアップを動的に処理することから発生し
高度な言語設計にしても互換性の問題から
古い文法を生かしているので、とても複雑怪奇になっている
そう表現したらわかるかな?
もうちょっと言わせてもらえば
Javaは変数エラーをチェックしやすい言語設計
JSは変数エラーを無限に生成し得る言語設計
JSはマークアップを動的に処理することから発生し
高度な言語設計にしても互換性の問題から
古い文法を生かしているので、とても複雑怪奇になっている
そう表現したらわかるかな?
102デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.36.42])
2021/11/22(月) 20:44:07.24ID:LDcgDFlhM 変数エラーとは
103デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.36.42])
2021/11/22(月) 20:52:35.36ID:LDcgDFlhM104デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 23:07:56.11ID:+p8qnn8E0 >>103
置換した具体例で言うと例えば
さっきの例で置換部分が
result=orgCSV.replace(keyName, "ほげ");
元のテキストが下記だとすると
<title>[name]</title>
結果が下記になってしまってなんじゃこりゃ…て感じですね
<titlほげ>[ほげaほげほげ]</titlほげ>
正規表現オブジェクトを使わなければ普通に成功します
result=orgCSV.replace("[name]", "ほげ"); //<title>ほげ</title>になる
しかし先述のようにマッチパターンを変数化しつつgをつけて複数置換する必要があるため難しいんです…
置換した具体例で言うと例えば
さっきの例で置換部分が
result=orgCSV.replace(keyName, "ほげ");
元のテキストが下記だとすると
<title>[name]</title>
結果が下記になってしまってなんじゃこりゃ…て感じですね
<titlほげ>[ほげaほげほげ]</titlほげ>
正規表現オブジェクトを使わなければ普通に成功します
result=orgCSV.replace("[name]", "ほげ"); //<title>ほげ</title>になる
しかし先述のようにマッチパターンを変数化しつつgをつけて複数置換する必要があるため難しいんです…
105デフォルトの名無しさん (ワッチョイ 4e61-9IQd [153.160.97.54])
2021/11/22(月) 23:44:57.26ID:yUT2zM6b0 >>104
tempKey="\\["+key+"\\]";
tempKey="\\["+key+"\\]";
106デフォルトの名無しさん (ワッチョイ 5b10-iUmB [180.12.82.129])
2021/11/22(月) 23:59:47.75ID:LPlgTaUb0 javascriptで計算の値がオーバーフロウするかどうかを調べるにはどうすればいいんですか?
例えば10000の10乗を計算しようとしてオーバーフロウするならばalertで計算できませんと
表示したいんだけど
例えば10000の10乗を計算しようとしてオーバーフロウするならばalertで計算できませんと
表示したいんだけど
107デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.74.75.203])
2021/11/23(火) 00:04:12.05ID:KUvc8h5G0 >>104
[] は文字クラス
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
更に、keyにメタキャラクタがあれば同じ事になるので、文字列全体をエスケープすべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
上記は正規表現の基本
正規表現を体系的に学習すれば、絶対に気がついたこと
急がば回れ
[] は文字クラス
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
更に、keyにメタキャラクタがあれば同じ事になるので、文字列全体をエスケープすべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
上記は正規表現の基本
正規表現を体系的に学習すれば、絶対に気がついたこと
急がば回れ
108デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.74.75.203])
2021/11/23(火) 00:07:12.09ID:KUvc8h5G0 >>106
BigIntと文字列比較
BigIntと文字列比較
109デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/23(火) 00:24:05.58ID:t+JcGiN60 >>100
なんでクラスの話に?詭弁では?
クラスベースの奴らがうるさいからclassなんて入れる羽目になったんだが。
そいつらのせいで木に竹を接ぐようなことさせられてむしろ複雑になった。
プロトタイプベースとしてシンプルでよかったのにほんと独善的でろくなことしない。
Reactでもクラスコンポーネントは廃れ99%のケースでFCになったよ。
なんでクラスの話に?詭弁では?
クラスベースの奴らがうるさいからclassなんて入れる羽目になったんだが。
そいつらのせいで木に竹を接ぐようなことさせられてむしろ複雑になった。
プロトタイプベースとしてシンプルでよかったのにほんと独善的でろくなことしない。
Reactでもクラスコンポーネントは廃れ99%のケースでFCになったよ。
110デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/23(火) 01:06:21.92ID:cKz+CerT0111デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/23(火) 01:17:09.89ID:SfFCbJaV0112デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/23(火) 07:20:19.58ID:A/hfu3xU0113デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.243.30])
2021/11/23(火) 07:33:58.18ID:MZ1To5x7M 変数エラーでググっても出てこなかったです
何処の業界用語ですか?
何処の業界用語ですか?
114デフォルトの名無しさん (ワッチョイ 4e2c-C1KD [153.136.94.40])
2021/11/23(火) 08:34:50.37ID:Ln8GWMq+0 >>104
Ruby では、Regexp.escape で、
正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した、文字列を返す
p esc_1 = Regexp.escape( "[-a]" ) #=> "\\[\\-a\\]"
reg_1 = Regexp.new( esc_1 )
p reg_1.match( "x[-a]y" ) #<MatchData "[-a]">
Ruby では、Regexp.escape で、
正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した、文字列を返す
p esc_1 = Regexp.escape( "[-a]" ) #=> "\\[\\-a\\]"
reg_1 = Regexp.new( esc_1 )
p reg_1.match( "x[-a]y" ) #<MatchData "[-a]">
115デフォルトの名無しさん (アメ MM17-8G9t [218.225.234.214])
2021/11/23(火) 09:26:25.23ID:AKV1HaX9M >>112
お笑いと言えばJavaの無名クラスだろ
なんだったのアレ
関数がファーストクラスオブジェクトじゃなかった欠陥言語の苦肉の策とは言えとんでもなくキッタネェコード
今じゃラムダ関数使ってだーれも使ってないし
最初からそうしとけばよかったのにね
ぜんぜん整理されてなかったのかな?w
お笑いと言えばJavaの無名クラスだろ
なんだったのアレ
関数がファーストクラスオブジェクトじゃなかった欠陥言語の苦肉の策とは言えとんでもなくキッタネェコード
今じゃラムダ関数使ってだーれも使ってないし
最初からそうしとけばよかったのにね
ぜんぜん整理されてなかったのかな?w
116デフォルトの名無しさん (ワッチョイ 9af0-9IQd [219.121.80.140])
2021/11/23(火) 10:33:28.85ID:9dlC3Wki0 言語の完成度はJava>JS
学びやすさもJava>JS
だからと言って優劣を表現してるわけじゃないよ
マークアップ操作言語として
JS、HTML、CSS等との新旧互換性を担保しながら
成長してきた言語だから
継ぎ接ぎ言語になっているのは仕方ないこと
JSでできることは多いし楽しい言語であることを否定してるわけじゃないんだ
でもJSが整理されてシンプルな言語であるとは言えないってだけ
学びやすさもJava>JS
だからと言って優劣を表現してるわけじゃないよ
マークアップ操作言語として
JS、HTML、CSS等との新旧互換性を担保しながら
成長してきた言語だから
継ぎ接ぎ言語になっているのは仕方ないこと
JSでできることは多いし楽しい言語であることを否定してるわけじゃないんだ
でもJSが整理されてシンプルな言語であるとは言えないってだけ
117デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/23(火) 10:45:11.29ID:jndULnQpr javascriptさえあれば何もいらん
javascriptだけでスケーラブルなシステムが作れる
javascriptだけでスケーラブルなシステムが作れる
118デフォルトの名無しさん (アメ MM17-8G9t [218.225.234.214])
2021/11/23(火) 10:52:32.71ID:AKV1HaX9M あまりにも面倒くさいため、誰もJavaでGUIを作らなくなりました。
やる気とAWT,Swingなど道具立てはあったのです。
ただJavaがクソ過ぎた。
イベントドリブンで必須のリスナー登録はこんな感じ(笑)
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clicked");
}
});
一方C#ではデリゲートで簡単に書くことができました。
Javaはデリゲートが言語機能として無いのでマネできませんでしたw
結果今では誰もJavaでクライアントGUIプログラムを書きませんがC#はバリバリ使われてますw
結局Java8でJavaScriptをパクってlambdaで以下のように書けるようにしました(ハズカシーw)
button1.addActionListener(e -> System.out.println("clicked"));
しかし時すでにお寿司、誰もJavaでGUIを作っていないのであるwww
Javaはサーバーサイドに集中して成功者?
ノンノンw
Javaが糞でめんどくさくて誰も書かなくなったから廃れた、これがシンプルな答えですw
やる気とAWT,Swingなど道具立てはあったのです。
ただJavaがクソ過ぎた。
イベントドリブンで必須のリスナー登録はこんな感じ(笑)
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clicked");
}
});
一方C#ではデリゲートで簡単に書くことができました。
Javaはデリゲートが言語機能として無いのでマネできませんでしたw
結果今では誰もJavaでクライアントGUIプログラムを書きませんがC#はバリバリ使われてますw
結局Java8でJavaScriptをパクってlambdaで以下のように書けるようにしました(ハズカシーw)
button1.addActionListener(e -> System.out.println("clicked"));
しかし時すでにお寿司、誰もJavaでGUIを作っていないのであるwww
Javaはサーバーサイドに集中して成功者?
ノンノンw
Javaが糞でめんどくさくて誰も書かなくなったから廃れた、これがシンプルな答えですw
119デフォルトの名無しさん (ワッチョイ 9af0-9IQd [219.121.80.140])
2021/11/23(火) 11:43:58.38ID:9dlC3Wki0 うん、わかった
確かにその通りです
確かにその通りです
120デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.243.168.20])
2021/11/23(火) 15:55:58.57ID:MdPJopiF0 Android StudioではまだJava言語で開発が必要だったような
121デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 15:29:53.92ID:czi6N/jr0 0から9の入ったランダムの配列に適当に選んだnという数字が最大何個並んでいるか
これはどういう方法が早いのでしょうか
気にするほどでもないのでしょうか
配列を見ていくのは遅いとか言う話も聞いたような気もします
一般的にはどういう方法を取るのでしょうか
・配列の前から順にforでnであるか、あればカウンターインクリメント、なければカウンターリセット
・joinで配列を文字列化したあとforでi文字数ぶんのnを検索文字として includesがfalseになるまでか最悪配列数まで調べる
・文字列化したあとmatchで/n+/gで一覧を出して一覧の配列をmap(e=>e.length)で文字数にしてMath.maxで調べる
これはどういう方法が早いのでしょうか
気にするほどでもないのでしょうか
配列を見ていくのは遅いとか言う話も聞いたような気もします
一般的にはどういう方法を取るのでしょうか
・配列の前から順にforでnであるか、あればカウンターインクリメント、なければカウンターリセット
・joinで配列を文字列化したあとforでi文字数ぶんのnを検索文字として includesがfalseになるまでか最悪配列数まで調べる
・文字列化したあとmatchで/n+/gで一覧を出して一覧の配列をmap(e=>e.length)で文字数にしてMath.maxで調べる
122デフォルトの名無しさん (ブーイモ MM8b-/4Ud [133.159.152.250])
2021/11/27(土) 17:26:03.23ID:YexJKObKM >>121
まずは自分で試して比べろよ
まずは自分で試して比べろよ
123デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 20:27:12.12ID:czi6N/jr0 コードはこんな感じでいいですか?
https://jsfiddle.net/rj457v0q/
windows10 firefox 64bit 94.0.2のabout:newtabのコンソールでやった結果
11374, 1970, 2920
とかそれに似たような時間なんですが
同じ環境でJSFiddle に保存した際に実行された時間が
320, 1994, 2938
と1番目が早くなって結果が真逆になっています
どういう事なんでしょうか
https://jsfiddle.net/rj457v0q/
windows10 firefox 64bit 94.0.2のabout:newtabのコンソールでやった結果
11374, 1970, 2920
とかそれに似たような時間なんですが
同じ環境でJSFiddle に保存した際に実行された時間が
320, 1994, 2938
と1番目が早くなって結果が真逆になっています
どういう事なんでしょうか
124デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 21:17:39.73ID:czi6N/jr0 IronというChromeベースのブラウザでも試したところ
FirefoxからJSFiddleを開いてそこで走らせた時間と同じような結果になりました
FirefoxからJSFiddleを開いてそこで走らせた時間と同じような結果になりました
125デフォルトの名無しさん (ワッチョイ 2110-ZQOw [180.12.82.129])
2021/11/27(土) 22:00:25.94ID:w/hwUzDX0 element.addEventListener(
"mousemove",
function(e){alert(e.offsetX);}
);
このfunction(e)の部分はfunction(aaa,e,bbb){}のように引数を複数設定することはできますか?
e以外を渡すにはグローバルしかできないんですか?
"mousemove",
function(e){alert(e.offsetX);}
);
このfunction(e)の部分はfunction(aaa,e,bbb){}のように引数を複数設定することはできますか?
e以外を渡すにはグローバルしかできないんですか?
126デフォルトの名無しさん (ワッチョイ 3332-m/w5 [133.207.66.224])
2021/11/27(土) 23:25:49.55ID:QiKYnGor0127デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 23:48:23.24ID:czi6N/jr0 >>126
ありがとうございます。
Math.maxを使わず、
配列のまま計算させたほうがいいみたいですね。
3つ目もMath.maxを使ってますが使わないようにしても、
こちらはMath.max関数の呼び出し回数が1周1回なせいか短縮されませんでした。
ありがとうございます。
Math.maxを使わず、
配列のまま計算させたほうがいいみたいですね。
3つ目もMath.maxを使ってますが使わないようにしても、
こちらはMath.max関数の呼び出し回数が1周1回なせいか短縮されませんでした。
128デフォルトの名無しさん (ブーイモ MM8b-/4Ud [133.159.151.119])
2021/11/28(日) 12:42:42.78ID:TNNdgbH5M >>123
1つめのバグっとるよ
2つめのは連続する数が大きいのでも確かめないとパフォーマンス特性が分からない
jsbench.meみたいなところで試すといい
アルゴリズムのオーダー考えれば単純ループが一番高速
1つめのバグっとるよ
2つめのは連続する数が大きいのでも確かめないとパフォーマンス特性が分からない
jsbench.meみたいなところで試すといい
アルゴリズムのオーダー考えれば単純ループが一番高速
129デフォルトの名無しさん (ワッチョイ 3332-m/w5 [133.207.66.224])
2021/11/28(日) 21:15:40.16ID:P+UGlIn90130デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/28(日) 21:21:54.23ID:PdYmCZpH0131デフォルトの名無しさん (テテンテンテン MM8b-PefI [133.106.57.30])
2021/11/28(日) 21:29:03.95ID:eSM912u0M >>125
どんな使い方をするのか想定コードを教えて
あと代入されるaaa,bbbの値はいつ確定する?
呼び出し時に確定するなら変数で置いとくしか無いし
関数定義する時点で確定してるなら引数にする必要が無い
どんな使い方をするのか想定コードを教えて
あと代入されるaaa,bbbの値はいつ確定する?
呼び出し時に確定するなら変数で置いとくしか無いし
関数定義する時点で確定してるなら引数にする必要が無い
132デフォルトの名無しさん (ワッチョイ 2110-kHZs [180.12.82.129])
2021/11/29(月) 12:33:33.13ID:nUjIBrRJ0 >>131
canvasの領域内をクリックしながらマウスを移動させたときの
canvas内のマウスの座標を得たいんだけど
mousedownでvar clickcyuu = 1;mouseupでclickcyuu=0;
mousemoveでclickcyuu===1ならばdrag_mouse_x = e.offsetX;drag_mouse_y = e.offsetY
とやりたかったのでfunction(e,clickcyuu){}としたかった
canvasの領域内をクリックしながらマウスを移動させたときの
canvas内のマウスの座標を得たいんだけど
mousedownでvar clickcyuu = 1;mouseupでclickcyuu=0;
mousemoveでclickcyuu===1ならばdrag_mouse_x = e.offsetX;drag_mouse_y = e.offsetY
とやりたかったのでfunction(e,clickcyuu){}としたかった
133デフォルトの名無しさん (テテンテンテン MM8b-PefI [133.106.249.166])
2021/11/29(月) 13:18:58.10ID:kIPjw4qWM134デフォルトの名無しさん (ワッチョイ c101-gtDo [126.243.41.97])
2021/11/29(月) 13:23:14.24ID:T3PYHNfj0135デフォルトの名無しさん (ワッチョイ 5961-MeBs [114.150.87.142])
2021/11/29(月) 15:20:06.33ID:0iOICyJy0 定期的にaddEventListener自体から引数渡したいって人出てくるけど
仮にできたとしてもaddEventListenerした時点で値が固定されることが考えから抜け落ちてるよね
>>132
引数渡したいならイベントハンドラに関数式使えば済むけど
複数のイベント仕込むなら一連の動作をこんな感じでclassかオブジェクトにした方が楽よ
https://jsfiddle.net/hgro7t5m/
仮にできたとしてもaddEventListenerした時点で値が固定されることが考えから抜け落ちてるよね
>>132
引数渡したいならイベントハンドラに関数式使えば済むけど
複数のイベント仕込むなら一連の動作をこんな感じでclassかオブジェクトにした方が楽よ
https://jsfiddle.net/hgro7t5m/
136デフォルトの名無しさん (ブーイモ MM45-/4Ud [210.138.176.81])
2021/11/29(月) 15:41:30.31ID:cAtmNTK4M クロージャ使えば普通にできるやろ
それに参照型ならaddEventListenerした後からでも値を変えられるよ
それに参照型ならaddEventListenerした後からでも値を変えられるよ
137デフォルトの名無しさん (ワッチョイ 1b46-D8AZ [111.98.111.65])
2021/11/29(月) 18:56:58.07ID:QQHq1BUR0 var か
138デフォルトの名無しさん (ワッチョイ c101-gtDo [126.243.41.97])
2021/11/29(月) 20:17:26.02ID:T3PYHNfj0139デフォルトの名無しさん (ワッチョイ efc3-wVd4 [159.28.152.184])
2021/12/04(土) 12:18:05.48ID:Zxe83BGy0 読み込みたいファイルのパスだけがわかっている場合に
reader= new FileReader();
reader.readAsText("aaa/hoge.csv") ;
みたいな感じで読み込もうと思ったんですが、
readAsTextの引数はblobだかfileオブジェクトでないとだめみたいで、
レファレンスを読んで見るも、
パスからblogだかfileオブジェクトだかを作成する方法がわかりませんでした。
ファイル読み込み自体は他の方法を使ってできるものの、
FileReaderとreadAsTextの組み合わせを使ってトライしてみたいので
どなたかアドバイスお願いできますでしょうか
reader= new FileReader();
reader.readAsText("aaa/hoge.csv") ;
みたいな感じで読み込もうと思ったんですが、
readAsTextの引数はblobだかfileオブジェクトでないとだめみたいで、
レファレンスを読んで見るも、
パスからblogだかfileオブジェクトだかを作成する方法がわかりませんでした。
ファイル読み込み自体は他の方法を使ってできるものの、
FileReaderとreadAsTextの組み合わせを使ってトライしてみたいので
どなたかアドバイスお願いできますでしょうか
140デフォルトの名無しさん (ワッチョイ 6f01-Mnqw [126.243.120.8])
2021/12/04(土) 12:36:24.21ID:6Q/yxXZX0 >>139
それが出来たら、ファイルの情報を盗み出せるようになるな
それが出来たら、ファイルの情報を盗み出せるようになるな
141デフォルトの名無しさん (ワッチョイ efc3-wVd4 [159.28.152.184])
2021/12/04(土) 12:48:45.94ID:Zxe83BGy0142デフォルトの名無しさん (テテンテンテン MM8f-FSU1 [133.106.200.234])
2021/12/04(土) 14:35:37.60ID:t4TtjIXNM むしろ他の方法とやらが気になる
143デフォルトの名無しさん (ワッチョイ 6f01-Mnqw [126.243.120.8])
2021/12/04(土) 14:36:47.65ID:6Q/yxXZX0 >>141
xhrは基本的にhttp接続しか出来ない
xhrは基本的にhttp接続しか出来ない
144デフォルトの名無しさん (ブーイモ MM87-rU9g [202.214.125.245])
2021/12/04(土) 16:15:20.01ID:4OadB/pcM145デフォルトの名無しさん (ワッチョイ 4b01-Z6Z9 [60.66.7.153])
2021/12/07(火) 11:51:05.11ID:sVKUttQ/0 ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
146デフォルトの名無しさん (ワッチョイ cf7b-2EUD [153.185.174.10])
2021/12/07(火) 11:56:58.02ID:PaA+NeG00 >>145
マルチ禁止
マルチ禁止
147デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:07:14.43ID:uyimWi/30 const test = [
{main:"A"},
{main:"B"},
{main:"C"}
]
から全てのmainをとり出した["A","B","C"]となる配列を作りたいです
forを使えば作れますが、もっと簡単に作れる便利なメソッドあったりしますか?
{main:"A"},
{main:"B"},
{main:"C"}
]
から全てのmainをとり出した["A","B","C"]となる配列を作りたいです
forを使えば作れますが、もっと簡単に作れる便利なメソッドあったりしますか?
148デフォルトの名無しさん (ワッチョイ 3f33-v359 [59.190.185.22])
2021/12/09(木) 15:32:51.58ID:gfmL2AFS0 const test = [
{main:"A"},
{main:"B"},
{main:"C"}
]
let testB = test.map(e=>e.main)
知っててコレジャナイ方法をきいてるのかもしれないけど
{main:"A"},
{main:"B"},
{main:"C"}
]
let testB = test.map(e=>e.main)
知っててコレジャナイ方法をきいてるのかもしれないけど
149デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:38:12.28ID:uyimWi/30150デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:51:07.69ID:uyimWi/30 許して下さい…
151デフォルトの名無しさん (ワッチョイ 1361-wVd4 [114.150.87.142])
2021/12/09(木) 16:09:45.62ID:CDvY1Ccm0 querySelectorAllの戻り値はArrayではなくNodeListだからね
hoge = Array.from(test).map(e => e.main);
hoge = Array.from(test).map(e => e.main);
152デフォルトの名無しさん (ブーイモ MMed-2CNx [210.138.208.223])
2021/12/10(金) 03:36:53.73ID:TbLIJEp/M hoge = Array.prototype.map.call(test,e => e.main);
とか
とか
153デフォルトの名無しさん (ワッチョイ 0bbb-4iyA [217.178.137.56])
2021/12/10(金) 20:33:15.32ID:Kd0T5CdW0 Pythonの
154デフォルトの名無しさん (ワッチョイ 0bbb-4iyA [217.178.137.56])
2021/12/10(金) 20:34:21.58ID:Kd0T5CdW0 PythonのコードですがどなたかJavascriptに直して下さい…
sorted(pts, key=clockwiseangle_and_distance)
import math
pts = [[2,3], [5,2],[4,1],[3.5,1],[1,2],[2,1],[3,1],[3,3],[4,3]]
Origin = [2, 3]
refvec = [0, 1]
def clockwiseangle_and_distance(point):
vector = [point[0]-Origin[0], point[1]-Origin[1]]
lenvector = math.hypot(vector[0], vector[1])
if lenvector == 0:
return -math.pi, 0
normalized = [vector[0]/lenvector, vector[1]/lenvector]
dotprod = normalized[0]*refvec[0] + normalized[1]*refvec[1]
diffprod = refvec[1]*normalized[0] - refvec[0]*normalized[1]
angle = math.atan2(diffprod, dotprod)
if angle < 0:
return 2*math.pi+angle, lenvector
return angle, lenvector
sorted(pts, key=clockwiseangle_and_distance)
import math
pts = [[2,3], [5,2],[4,1],[3.5,1],[1,2],[2,1],[3,1],[3,3],[4,3]]
Origin = [2, 3]
refvec = [0, 1]
def clockwiseangle_and_distance(point):
vector = [point[0]-Origin[0], point[1]-Origin[1]]
lenvector = math.hypot(vector[0], vector[1])
if lenvector == 0:
return -math.pi, 0
normalized = [vector[0]/lenvector, vector[1]/lenvector]
dotprod = normalized[0]*refvec[0] + normalized[1]*refvec[1]
diffprod = refvec[1]*normalized[0] - refvec[0]*normalized[1]
angle = math.atan2(diffprod, dotprod)
if angle < 0:
return 2*math.pi+angle, lenvector
return angle, lenvector
155デフォルトの名無しさん (ワッチョイ 7b04-YTVu [223.134.134.66])
2021/12/11(土) 11:19:38.29ID:kTfvj9Ya0 すんません
var hoge = test(); //←2個入った配列が返ってくるヤツ
var A = hoge[0];
var B = hoge[1];
って書いてます。
これもーちょっとカッコよく
var A B = test();
って感じで一行でAとBに変数に入れる方法とかあります?
var hoge = test(); //←2個入った配列が返ってくるヤツ
var A = hoge[0];
var B = hoge[1];
って書いてます。
これもーちょっとカッコよく
var A B = test();
って感じで一行でAとBに変数に入れる方法とかあります?
156デフォルトの名無しさん (ワッチョイ 1333-Ef8D [59.190.185.22])
2021/12/11(土) 11:55:24.52ID:4C+gjCbR0 var hoge = [1,9];
var [A,B] = hoge;
var [A,B] = hoge;
157デフォルトの名無しさん (ワッチョイ 7b04-YTVu [223.134.134.66])
2021/12/11(土) 11:56:54.19ID:kTfvj9Ya0158デフォルトの名無しさん (テテンテンテン MM6b-fD8e [133.106.48.27])
2021/12/12(日) 17:05:57.60ID:neOkkgxzM var obj={
key:{x:200,y:300}
}
obj.key2=500;
alert(obj.key2);
alert(obj.key.x);
上はオブジェクトで下はオブジェクトのオブジェクトです。
実行結果は上が500で下が200です。
一応動作はしますがこのような使い方は間違っていますか?
key:{x:200,y:300}
}
obj.key2=500;
alert(obj.key2);
alert(obj.key.x);
上はオブジェクトで下はオブジェクトのオブジェクトです。
実行結果は上が500で下が200です。
一応動作はしますがこのような使い方は間違っていますか?
159デフォルトの名無しさん (ワッチョイ e901-txWz [126.53.74.66])
2021/12/12(日) 18:15:54.15ID:vioicQgx0160デフォルトの名無しさん (ワッチョイ c910-BpYN [180.12.82.129])
2021/12/12(日) 18:40:13.36ID:MwcQtjtM0 >>159
文法的にはどうですか?
文法的にはどうですか?
161デフォルトの名無しさん (ワッチョイ e901-txWz [126.53.74.66])
2021/12/12(日) 19:22:12.57ID:vioicQgx0162デフォルトの名無しさん (ブーイモ MM3d-2CNx [202.214.230.79])
2021/12/12(日) 20:06:45.86ID:A9cM/MPAM 何に引っかかってるのか書かないと期待してる答えは返ってこない
特に変なところないし
特に変なところないし
163デフォルトの名無しさん (ワッチョイ c910-BpYN [180.12.82.129])
2021/12/13(月) 08:42:46.82ID:8aJMJMAP0 引数が多い場合の引数の渡し方について
function(
aaa,
bbb,
ccc,
・・・(略)
zzz
){}
って書くより
function(obj){
var aaa = obj.aaa;
var bbb = obj.bbb;
・・・・・(略)
var zzz = obj.zzz;
}
って書く方がいいんでしょうか?
どっちもメリット、デメリットはあると思うけど
function(
aaa,
bbb,
ccc,
・・・(略)
zzz
){}
って書くより
function(obj){
var aaa = obj.aaa;
var bbb = obj.bbb;
・・・・・(略)
var zzz = obj.zzz;
}
って書く方がいいんでしょうか?
どっちもメリット、デメリットはあると思うけど
164デフォルトの名無しさん (ワッチョイ e901-txWz [126.141.164.97])
2021/12/13(月) 13:06:28.94ID:CRKwXgwv0165デフォルトの名無しさん (ワッチョイ 614e-ohB/ [210.138.216.243])
2021/12/13(月) 15:27:20.29ID:+BabEBNV0 下のほうなら
const f = function({aaa, bbb, zzz}){
console.log(aaa, bbb, zzz);
}
のほうが分かりやすくないか
const o = {
aaa: 'あ',
bbb: 42,
zzz: 'ん',
};
f(o);
const f = function({aaa, bbb, zzz}){
console.log(aaa, bbb, zzz);
}
のほうが分かりやすくないか
const o = {
aaa: 'あ',
bbb: 42,
zzz: 'ん',
};
f(o);
166デフォルトの名無しさん (テテンテンテン MM6b-cqSP [133.106.48.47])
2021/12/13(月) 18:56:15.12ID:hdHWXJOsM167デフォルトの名無しさん (テテンテンテン MM6b-cqSP [133.106.48.47])
2021/12/13(月) 18:56:54.87ID:hdHWXJOsM168デフォルトの名無しさん (テテンテンテン MM6b-fD8e [133.106.52.36])
2021/12/14(火) 13:31:35.06ID:qf3fX3jjM var str="x^2 + (x+2)^2 - (x*(x-2))^3";
をMath.pow(x,2)+Math.pow((x+2),2)-
Math.pow((x*(x-2)),3)に置換するにはどうやればいいんですか?
をMath.pow(x,2)+Math.pow((x+2),2)-
Math.pow((x*(x-2)),3)に置換するにはどうやればいいんですか?
169デフォルトの名無しさん (ワッチョイ f902-8/hI [124.215.44.217])
2021/12/14(火) 15:01:16.14ID:82CERvuP0 Math.powを使わなければ簡単なんだけどね
eval(str.replace(/\^/g, '**'));
eval(str.replace(/\^/g, '**'));
170デフォルトの名無しさん (ワッチョイ 0b7b-1/S7 [153.185.174.10])
2021/12/14(火) 15:08:13.94ID:4lV7iDvz0 スペース含まない半角文字列限定。式の文字列つくるまで。
賢い人ならもうちょっとスマートに書けるかと。
var str="x^2+(x+2)^2-(x*(x-2))^3";
function func(s){
var s2=s.split('^');
var s3=s2[1].replace(/¥d+/,"");
return "Math.pow("+s2[0]+","+s2[1].replace(/[^¥d]/,"")+")"+s3;
}
var result=str.replace(/[a-z¥(¥)¥d¥*¥+¥-¥/]+¥^¥d+([¥+¥-¥*¥/]|$)/g,func);
賢い人ならもうちょっとスマートに書けるかと。
var str="x^2+(x+2)^2-(x*(x-2))^3";
function func(s){
var s2=s.split('^');
var s3=s2[1].replace(/¥d+/,"");
return "Math.pow("+s2[0]+","+s2[1].replace(/[^¥d]/,"")+")"+s3;
}
var result=str.replace(/[a-z¥(¥)¥d¥*¥+¥-¥/]+¥^¥d+([¥+¥-¥*¥/]|$)/g,func);
171デフォルトの名無しさん (ワッチョイ c910-fD8e [180.12.82.129])
2021/12/14(火) 18:05:48.23ID:ZmdmxRFm0172デフォルトの名無しさん (ワッチョイ 7bc3-4iyA [159.28.152.184])
2021/12/15(水) 19:13:45.77ID:h9C3pi7L0 いつもはreplaceやmatchを使うんだけど、
execってのがキャプチャグループだけを簡単に抜き出せて便利そうだから使ってみました
txt="AabBxxB";
pattern = /A(.*)B/;
d=pattern.exec(txt);
alert(d[1]);
期待する結果はab
でも実際はabBxxが返ってきます、後方参照ってやつですか?一番後ろのものとマッチしてしまう
これって最短距離でのマッチを取得するにはどうすれば良いんでしょうか?
execってのがキャプチャグループだけを簡単に抜き出せて便利そうだから使ってみました
txt="AabBxxB";
pattern = /A(.*)B/;
d=pattern.exec(txt);
alert(d[1]);
期待する結果はab
でも実際はabBxxが返ってきます、後方参照ってやつですか?一番後ろのものとマッチしてしまう
これって最短距離でのマッチを取得するにはどうすれば良いんでしょうか?
173デフォルトの名無しさん (ワッチョイ 535c-8/hI [211.121.86.123])
2021/12/15(水) 19:19:59.60ID:UjbkuvW00 .*?
174デフォルトの名無しさん (ワッチョイ 1333-Ef8D [59.190.4.184])
2021/12/15(水) 19:20:26.59ID:LAChl8N10 ぱっとしかみてないけど
pattern = /A(.*?)B/;
pattern = /A(.*?)B/;
175デフォルトの名無しさん (ワッチョイ 0b46-LR8T [153.161.191.103])
2021/12/15(水) 19:22:08.15ID:Z/edc8620 A([^B]*)B
176デフォルトの名無しさん (ワッチョイ 614e-ohB/ [210.138.216.243])
2021/12/15(水) 20:16:03.92ID:1LHweqXF0 ( ^)o(^ )b
177デフォルトの名無しさん (ワッチョイ 7bc3-4iyA [159.28.152.184])
2021/12/15(水) 20:34:33.03ID:h9C3pi7L0178デフォルトの名無しさん (ワッチョイ e901-txWz [126.141.136.21])
2021/12/16(木) 20:22:00.71ID:bW+aVaO40179デフォルトの名無しさん (アウアウウー Sa45-n01y [106.128.158.140])
2021/12/22(水) 17:33:35.08ID:ONJh0jXva 【環境】Windows 7 64bit, IE11
【何をしたのか】
$("form")で取得している内容が自分の考えと正しいかを確認したい
1. alert($("form")) → [object Object]と表示される
2. alert(JSON.stringify($("form"))) → IEが動作を停止しましたで強制終了
【エラーメッセージ】-
【期待する結果】
$("form")の中身が確認したいです
手段は選びません
console.log()は試していませんがshowModalDialogにて新規で開かれるウィンドウが描画されるまでに行われる処理のようで、コンソールを開く前に終わってしまうためalertで今は試しています
【サンプルコード】
$("form").attr("name");
【何をしたのか】
$("form")で取得している内容が自分の考えと正しいかを確認したい
1. alert($("form")) → [object Object]と表示される
2. alert(JSON.stringify($("form"))) → IEが動作を停止しましたで強制終了
【エラーメッセージ】-
【期待する結果】
$("form")の中身が確認したいです
手段は選びません
console.log()は試していませんがshowModalDialogにて新規で開かれるウィンドウが描画されるまでに行われる処理のようで、コンソールを開く前に終わってしまうためalertで今は試しています
【サンプルコード】
$("form").attr("name");
180デフォルトの名無しさん (アウアウウー Sa45-n01y [106.128.158.140])
2021/12/22(水) 17:43:33.97ID:ONJh0jXva181デフォルトの名無しさん (ワッチョイ 0233-xasP [59.190.4.184])
2021/12/22(水) 18:34:04.36ID:VeORz/HR0 試してみたらfirefoxだと強制終了しないね
IEは消したからわからん
IEは消したからわからん
182デフォルトの名無しさん (ワッチョイ 3901-+xN7 [126.225.77.49])
2021/12/22(水) 20:25:41.33ID:WODdA7db0 >>179
試してないconsole.logやconsole.dirでいいと思うが、まず試してみては?
コンソールはモーダルウインドウが開いてなくても関係ない
あなたがほしいのは$("form")[0]な気はするが
試してないconsole.logやconsole.dirでいいと思うが、まず試してみては?
コンソールはモーダルウインドウが開いてなくても関係ない
あなたがほしいのは$("form")[0]な気はするが
183デフォルトの名無しさん (ワッチョイ 3901-+xN7 [126.225.77.49])
2021/12/22(水) 20:33:32.43ID:WODdA7db0 モーダルウインドウ上でコンソール出力しようとせず、モーダルウインドウを開くページから参照するとか、breakpointで止めるとか、モーダルウインドウを閉じるコードを一時的にコメントアウトするとか
モーダルウインドウを使わないのが一番だが
、Win7を使ってるならインターネットに接続してないのだろうし、相当特殊な環境だな
モーダルウインドウを使わないのが一番だが
、Win7を使ってるならインターネットに接続してないのだろうし、相当特殊な環境だな
184デフォルトの名無しさん (ワッチョイ 122e-n01y [133.114.228.183])
2021/12/22(水) 22:15:47.78ID:oJlbnIXA0 >>181-183
ありがとうございます
>>182,183
お察しの通り過去に作られたIE用のシステムをEdgeに対応する必要があり、
現時点では当時の開発環境(VS2012)でデバッグ実行しています
JavaScriptに関わるのが初めてでとにかく動かして覚えようとしているところです
$("form")[0]は明日試してみます
console.logなどを試していない(諦めた)理由は、
動作として、親ウィンドウからshowModalDialogで子ウィンドウを開く
→子でデータを選択する→親に選択したデータが入力される という流れになっており、
親画面でF12のコンソールを開いておいても子が開かれるとモーダルにより親画面のコンソールも触れない
ので諦めたんですが、もしかしてピン止め外すと止まらないんですかね?
ピン止めした状態でしか動かしてなかったので明日試してみようとおもいます
>モーダルウインドウを開くページから参照するとか、
ウィンドウ間のやりとりがまだよくわからないのでその発想に至れませんでした
>breakpointで止めるとか、
showModalDialogで開いた後に処理される関数に貼ってみたんですが
張っていないshowModalDialogの行で止まって、関数の中をステップ実行できなかったんですよね…
関数の最初にdialogArgumentsを参照してifで分岐するんですが
showModalDialog以外で呼ばれるときはステップ実行できるのでそういうものなのかと諦めました
>モーダルウインドウを閉じるコードを一時的にコメントアウトするとか
その発想はなかったです
今後のデバッグに使ってみます
ひとまず、$("form")[0]とピン止めを試してみます
ありがとうございます
>>182,183
お察しの通り過去に作られたIE用のシステムをEdgeに対応する必要があり、
現時点では当時の開発環境(VS2012)でデバッグ実行しています
JavaScriptに関わるのが初めてでとにかく動かして覚えようとしているところです
$("form")[0]は明日試してみます
console.logなどを試していない(諦めた)理由は、
動作として、親ウィンドウからshowModalDialogで子ウィンドウを開く
→子でデータを選択する→親に選択したデータが入力される という流れになっており、
親画面でF12のコンソールを開いておいても子が開かれるとモーダルにより親画面のコンソールも触れない
ので諦めたんですが、もしかしてピン止め外すと止まらないんですかね?
ピン止めした状態でしか動かしてなかったので明日試してみようとおもいます
>モーダルウインドウを開くページから参照するとか、
ウィンドウ間のやりとりがまだよくわからないのでその発想に至れませんでした
>breakpointで止めるとか、
showModalDialogで開いた後に処理される関数に貼ってみたんですが
張っていないshowModalDialogの行で止まって、関数の中をステップ実行できなかったんですよね…
関数の最初にdialogArgumentsを参照してifで分岐するんですが
showModalDialog以外で呼ばれるときはステップ実行できるのでそういうものなのかと諦めました
>モーダルウインドウを閉じるコードを一時的にコメントアウトするとか
その発想はなかったです
今後のデバッグに使ってみます
ひとまず、$("form")[0]とピン止めを試してみます
185デフォルトの名無しさん (ワッチョイ 7f41-ass7 [182.168.252.41])
2021/12/27(月) 21:01:36.58ID:XB7P0UiP0 html5のcanvasについて質問です
drawImageでこの画像をcanvasに描写した後、画像の白い部分だけを赤くマスクしたいです
https://illust8.com/wp-content/uploads/2018/08/icon_mail_illust_924.png
ctx.globalCompositeOperation = 'destination-in';
や
c2.globalCompositeOperation = 'darken';
を使うとオシイのですが、どうしても黒い箇所が赤くそまってしまったり、明るい方が優先されてしまったりします
何か良い手はないでしょうか?
drawImageでこの画像をcanvasに描写した後、画像の白い部分だけを赤くマスクしたいです
https://illust8.com/wp-content/uploads/2018/08/icon_mail_illust_924.png
ctx.globalCompositeOperation = 'destination-in';
や
c2.globalCompositeOperation = 'darken';
を使うとオシイのですが、どうしても黒い箇所が赤くそまってしまったり、明るい方が優先されてしまったりします
何か良い手はないでしょうか?
186デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 10:31:30.75ID:ChI3TD7z0 今後はclassが標準になるの?
187デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 10:36:46.52ID:ChI3TD7z0 JavaScriptのクラスは、内部的にはsuperキーワードが追加された以外は以前と変わっていません。
そのため、以前できなかったことは、今でもできません。
クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。
class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。
使いたければ使えばいいんじゃない?と思います。
そのため、以前できなかったことは、今でもできません。
クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。
class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。
使いたければ使えばいいんじゃない?と思います。
188デフォルトの名無しさん (ワッチョイ 2101-BKNS [126.194.142.131])
2021/12/28(火) 12:53:44.91ID:s8DIRgNG0189デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 13:05:03.77ID:ChI3TD7z0 JavaScriptのクラスは、内部的にはsuperキーワードが追加された以外は以前と変わっていません。
そのため、以前できなかったことは、今でもできません。
クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、
誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。
class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、
勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。
そのため、以前できなかったことは、今でもできません。
クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、
誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。
class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、
勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。
190デフォルトの名無しさん (ワッチョイ d02c-nHKY [153.136.94.40])
2021/12/28(火) 13:28:00.05ID:ediH0wTa0 >>179
const form = $( 'form' )
console.log( form.length, form[ 0 ] )
HTML 内に、フォームが1つしかないなら、
form.length は1 で、form[ 0 ] でform 要素を取得できる
<form action="" id="form_1" name="form_1">
みたいに、id を付けた方が良いかも
そうすれば、これで取得できる
const form_1 = $( '#form_1' )
まあ、HTML, JavaScript, jQuery の質問は、
この板よりも、web制作管理板の方へ書き込んでください
向こうのスレが、本スレです
const form = $( 'form' )
console.log( form.length, form[ 0 ] )
HTML 内に、フォームが1つしかないなら、
form.length は1 で、form[ 0 ] でform 要素を取得できる
<form action="" id="form_1" name="form_1">
みたいに、id を付けた方が良いかも
そうすれば、これで取得できる
const form_1 = $( '#form_1' )
まあ、HTML, JavaScript, jQuery の質問は、
この板よりも、web制作管理板の方へ書き込んでください
向こうのスレが、本スレです
191デフォルトの名無しさん (ワッチョイ d02c-nHKY [153.136.94.40])
2021/12/28(火) 13:30:12.08ID:ediH0wTa0 今は、class を使う
今さら、prototype を使う人は、いない
今さら、prototype を使う人は、いない
192デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 13:50:08.36ID:ChI3TD7z0 >>191
内部構造が分かりにくい。
内部構造が分かりにくい。
193デフォルトの名無しさん (ワッチョイ 4fa0-2/Bw [110.4.221.248])
2021/12/28(火) 14:58:53.60ID:Gh6bV9aa0 ワイにとってはclassのほうが分かりやすいかな
194デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 16:37:46.66ID:ChI3TD7z0 すごい。
みんな頭いいんだな。
みんな頭いいんだな。
195デフォルトの名無しさん (アウアウアー Sa02-5lpS [27.85.206.63])
2021/12/28(火) 17:14:08.11ID:jIrgILJka まあな
196デフォルトの名無しさん (ワッチョイ edb0-BY+R [114.158.162.114])
2021/12/28(火) 18:05:32.60ID:VM83xPh40 中がprototypeだとか別に関係ないだろう。外から見てclassとして振舞うならそれでいいわけだし。
classとしての振る舞いに何か問題があるならそこは注意すべきだが。
classとしての振る舞いに何か問題があるならそこは注意すべきだが。
197デフォルトの名無しさん (ワッチョイ 0cdb-t0J7 [217.178.96.78])
2021/12/28(火) 19:24:57.81ID:ChI3TD7z0 みなさんjavascript何年目?
オレは2年。
オレは2年。
198デフォルトの名無しさん (ワッチョイ 6b01-h6Ia [122.255.141.199])
2021/12/31(金) 00:19:23.87ID:K3Q5NoN00 昼食が3億!?AppleCEOや投資の神様とのランチ権オークションがすごい
スティーブ・ジョブズが亡くなった後にAppleのCEOになったのがティム・クック氏です。
そんな彼との1時間のランチ権が今年4月から5月にかけてCharitybuzzというオークションサイトに
出品され、$515,000(約5,150万円)で落札されました!
実はクックは過去にも同様の出品をしていて、今年の出品で4回目となります。
2000年からこれまでに計17回出品されているのが、「投資の神様」とも呼ばれるウォーレン・バフェット氏
とのランチミーティング権。2003年からは、世界最大級のオークションサイト「eBay」で毎年開催される
チャリティー・オークションのひとつとして出品されています。
今年6月に出品された際には、なんと$3,456,789(約3億4,568万円)で落札されました!
スティーブ・ジョブズが亡くなった後にAppleのCEOになったのがティム・クック氏です。
そんな彼との1時間のランチ権が今年4月から5月にかけてCharitybuzzというオークションサイトに
出品され、$515,000(約5,150万円)で落札されました!
実はクックは過去にも同様の出品をしていて、今年の出品で4回目となります。
2000年からこれまでに計17回出品されているのが、「投資の神様」とも呼ばれるウォーレン・バフェット氏
とのランチミーティング権。2003年からは、世界最大級のオークションサイト「eBay」で毎年開催される
チャリティー・オークションのひとつとして出品されています。
今年6月に出品された際には、なんと$3,456,789(約3億4,568万円)で落札されました!
199デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/02(日) 11:53:11.76ID:qPLPCP6o0 fc2ブログを使用しているのですが、javascriptが動かない設定などあったりするのでしょうか?
<script type="text/javascript">alert("hoge");</script>
また、動かない原因をブラウザの検証から調べる事はできますか?
<script type="text/javascript">alert("hoge");</script>
また、動かない原因をブラウザの検証から調べる事はできますか?
200デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/02(日) 12:00:54.33ID:qPLPCP6o0 自己解決 すみませんす
201デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/03(月) 10:30:02.94ID:ciAHc7bt0 文字数の制限をしたいのですが、htmlでoverflow hiddenするのとjsでカットするのはどちらがいいんでしょうか?
ブログのトップページなんですが、本文の1部を表示させておいて、続きを読むというリンクを設置したいなと。
<div id="text">123456789</div>
<script>
let text = document.getElementById("text");
let inner_text = text.innerHTML;
let text_length = inner_text.length;
let max_length = 5;
if(text_length > max_length){
console.log("5文字超えてます");
text.innerHTML = inner_text.substr(0,max_length);
}
</script>
これで動きはしましたけど
ブログのトップページなんですが、本文の1部を表示させておいて、続きを読むというリンクを設置したいなと。
<div id="text">123456789</div>
<script>
let text = document.getElementById("text");
let inner_text = text.innerHTML;
let text_length = inner_text.length;
let max_length = 5;
if(text_length > max_length){
console.log("5文字超えてます");
text.innerHTML = inner_text.substr(0,max_length);
}
</script>
これで動きはしましたけど
202デフォルトの名無しさん (ワッチョイ 6b10-45BR [180.12.82.129])
2022/01/04(火) 19:09:00.18ID:NiWy5jYJ0 x=<span id="x">0</span>,y=<span id="y">0</span>
<p> </p>
<div style="text-align:center">
<canvas id="canvas"></canvas>
</div>
<スクリプト>
var canvas_elm = document.getElementById("canvas");
var x_elm = document.getElementById("x");
var y_elm = document.getElementById("y");
var context = canvas_elm.getContext("2d");
canvas_elm.width = 600;
canvas_elm.height = 500;
context.fillStyle = "#0000ff";
context.fillRect(0,0,canvas_elm.width,canvas_elm.height);
canvas_elm.addEventListener(
"mousemove",
function(e){
x_elm.innerHTML = e.offsetX;
y_elm.innerHTML = e.offsetY;
}
);
</スクリプト>
canvas上でのマウスやタッチポインターの座標を表示したいんですけど、、PCではこれで座標が表示されるけど
mousemoveをtouchmoveにしてchromeでF12キーを押してスマホモードにしてタッチポインターを動かしたときxy座標がundefinedと表示されてしまいます。
スマホモードでもポインターの位置を表示できるようにするにはどうやればいいんですか?
<p> </p>
<div style="text-align:center">
<canvas id="canvas"></canvas>
</div>
<スクリプト>
var canvas_elm = document.getElementById("canvas");
var x_elm = document.getElementById("x");
var y_elm = document.getElementById("y");
var context = canvas_elm.getContext("2d");
canvas_elm.width = 600;
canvas_elm.height = 500;
context.fillStyle = "#0000ff";
context.fillRect(0,0,canvas_elm.width,canvas_elm.height);
canvas_elm.addEventListener(
"mousemove",
function(e){
x_elm.innerHTML = e.offsetX;
y_elm.innerHTML = e.offsetY;
}
);
</スクリプト>
canvas上でのマウスやタッチポインターの座標を表示したいんですけど、、PCではこれで座標が表示されるけど
mousemoveをtouchmoveにしてchromeでF12キーを押してスマホモードにしてタッチポインターを動かしたときxy座標がundefinedと表示されてしまいます。
スマホモードでもポインターの位置を表示できるようにするにはどうやればいいんですか?
203デフォルトの名無しさん (ワッチョイ 0f2c-4nvB [153.136.94.40])
2022/01/04(火) 19:25:07.68ID:vw+5Ecnq0 スマホなど、色々なデバイスに対応させるのは、
React, Vue.js などのフレームワークを使うのでは?
それと、JavaScript の質問は、この板よりも、
web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出て、緊急避難用に立てたものだから
React, Vue.js などのフレームワークを使うのでは?
それと、JavaScript の質問は、この板よりも、
web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出て、緊急避難用に立てたものだから
204デフォルトの名無しさん (ワッチョイ 0f2c-4nvB [153.136.94.40])
2022/01/04(火) 19:34:13.24ID:vw+5Ecnq0 >>201
Ruby on Rails では、続きを読むのは、truncate(文字数)。
Railsがどういう実装をしているかまでは知らないけど
npm とか、Lodash とかに、そういう関数が無いのか?
「javascript 続きを読む」「css 続きを読む」で検索してみれば?
Ruby on Rails では、続きを読むのは、truncate(文字数)。
Railsがどういう実装をしているかまでは知らないけど
npm とか、Lodash とかに、そういう関数が無いのか?
「javascript 続きを読む」「css 続きを読む」で検索してみれば?
205デフォルトの名無しさん (ワッチョイ 9f61-CTdg [61.214.181.68])
2022/01/04(火) 20:53:53.77ID:QGpHZiP/0206デフォルトの名無しさん (ワッチョイ 6b10-45BR [180.12.82.129])
2022/01/04(火) 22:55:40.12ID:NiWy5jYJ0 そうなんですか
ありがとうございます
ありがとうございます
207デフォルトの名無しさん (ワッチョイ 0fdb-hDuN [217.178.96.78])
2022/01/05(水) 10:08:51.69ID:D2CbxegU0 >>206
どう致しまして。
どう致しまして。
208デフォルトの名無しさん (ワッチョイ 6b10-nofO [180.12.82.129])
2022/01/06(木) 12:37:03.20ID:qVRSVavo0 質問1 element.addeventlistnerとdocument.addeventlistnerの違いは?
質問2
function(elm){
elm.addeventlistner(
"click",
function(e){alert("クリック");}
);
}
のような関数がある場合document.addeventlistnerの場合はelementがないので個別に関数作らないとだめなのか?
質問2
function(elm){
elm.addeventlistner(
"click",
function(e){alert("クリック");}
);
}
のような関数がある場合document.addeventlistnerの場合はelementがないので個別に関数作らないとだめなのか?
209デフォルトの名無しさん (ワッチョイ 0f2c-4nvB [153.136.94.40])
2022/01/06(木) 12:51:53.90ID:/RkhTEU50 外側・親に、イベントを付けて、親で、子のイベントをキャッチできる。
jQuery で書いた
<div id="btn-wrap">
<button class="BtnA BtnAll" value="1">A-1</button>
<button class="BtnA BtnAll" value="2">A-2</button>
<button class="BtnB BtnAll" value="3">B-3</button>
</div>
// 外側・親に、イベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
console.log( $( event.target ).prop( 'value' ) )
} );
この板よりも、web制作管理板の方へ書き込んでください!
そちらの方が、本スレです
jQuery で書いた
<div id="btn-wrap">
<button class="BtnA BtnAll" value="1">A-1</button>
<button class="BtnA BtnAll" value="2">A-2</button>
<button class="BtnB BtnAll" value="3">B-3</button>
</div>
// 外側・親に、イベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
console.log( $( event.target ).prop( 'value' ) )
} );
この板よりも、web制作管理板の方へ書き込んでください!
そちらの方が、本スレです
210デフォルトの名無しさん (ブーイモ MM7f-Huc/ [163.49.215.54])
2022/01/06(木) 13:04:40.48ID:nb3ueMLOM211デフォルトの名無しさん (ワッチョイ 1b23-hDuN [120.51.55.80])
2022/01/06(木) 14:19:29.65ID:j/6fwGrk0 このスレで質問しても何の問題もありません
荒らしやアフィリエイト宣伝業者に騙されて誘導されないようにしてください
荒らしやアフィリエイト宣伝業者に騙されて誘導されないようにしてください
212デフォルトの名無しさん (ワッチョイ 9b01-aXRe [114.48.120.222])
2022/01/06(木) 15:06:56.73ID:cXhLxUi00213デフォルトの名無しさん (ワッチョイ 9b01-aXRe [114.48.120.222])
2022/01/06(木) 15:09:56.94ID:cXhLxUi00 >>209
Web制作板でも次スレが立たず、旧スレを再利用してる状態
本スレなど存在していない
本気で本スレに誘導したいなら、最新スレを探して次スレを立てて保守すべき
それぐらいの情熱がある人はもういないと思ってたが、あなたがそうしたいのなら止めはしない
Web制作板でも次スレが立たず、旧スレを再利用してる状態
本スレなど存在していない
本気で本スレに誘導したいなら、最新スレを探して次スレを立てて保守すべき
それぐらいの情熱がある人はもういないと思ってたが、あなたがそうしたいのなら止めはしない
214209 (ワッチョイ 0f2c-4nvB [153.136.94.40])
2022/01/06(木) 16:09:40.84ID:/RkhTEU50 この板のスレは元々、web制作管理板が荒らされた時に、緊急避難用に立てられたもの。
本スレは、向こうの方
この板は荒らしが多い
荒らしは短文で、必ず2回書き込む。
複数回書き込むことで、多くの人が書いているように見せる
それと、テンプレをしょっちゅう、自分が有利なように書き換える
Python のスレのテンプレとか、ひどい。
NGワードは何々とか、しょっちゅう書き換えている
まあ、ソースコードを書かない香具師は、
プログラマーじゃないから、相手にしない方がよい
本スレは、向こうの方
この板は荒らしが多い
荒らしは短文で、必ず2回書き込む。
複数回書き込むことで、多くの人が書いているように見せる
それと、テンプレをしょっちゅう、自分が有利なように書き換える
Python のスレのテンプレとか、ひどい。
NGワードは何々とか、しょっちゅう書き換えている
まあ、ソースコードを書かない香具師は、
プログラマーじゃないから、相手にしない方がよい
215デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/06(木) 21:02:16.03ID:Ozp6fgWI0 window.onload = function(){
}
このfunctionって何の意味があるんですかね?
}
このfunctionって何の意味があるんですかね?
216デフォルトの名無しさん (ワッチョイ 9f33-qpXy [59.190.4.184])
2022/01/06(木) 21:09:14.63ID:N8zU5Utu0 中の変数とかを外から見えなくしてるんじゃない?
217デフォルトの名無しさん (ワッチョイ eb5f-rGxQ [14.11.8.0 [上級国民]])
2022/01/06(木) 21:28:50.56ID:aRDKku+G0 >>215
変数 = function() { ... }
で関数式(無名関数)っていう形で定義できる
関数式についての説明はこの辺を参照
https://ja.javascript.info/function-expressions
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions
で、window.onload = function() { ... }
っていう風に実装すると、少し特殊な動きになって
HTMLを完全に読み込んだタイミングで、関数の中身を実行するっていう動きになる
https://developer.mozilla.org/ja/docs/Web/API/GlobalEventHandlers/onload
(他言語だとあんまり見ない書き方だから混乱するかもしれんけど)
変数 = function() { ... }
で関数式(無名関数)っていう形で定義できる
関数式についての説明はこの辺を参照
https://ja.javascript.info/function-expressions
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions
で、window.onload = function() { ... }
っていう風に実装すると、少し特殊な動きになって
HTMLを完全に読み込んだタイミングで、関数の中身を実行するっていう動きになる
https://developer.mozilla.org/ja/docs/Web/API/GlobalEventHandlers/onload
(他言語だとあんまり見ない書き方だから混乱するかもしれんけど)
218超面白いyoutubeチャンネル (ワッチョイ cb01-45BR [60.111.41.11])
2022/01/06(木) 21:52:51.91ID:eAd55W1B0219デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/07(金) 07:23:20.82ID:RiDo7mPm0220デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/07(金) 13:51:45.20ID:RiDo7mPm0 <div class="content">
<h2>header2</h2>
<h2>header2-2</h2>
<h2>header2-3</h2>
<h2>header2-4</h2>
</div>
<script>
let content = document.getElementsByClassName("content");
let all_element = content.querySelectorAll("h2");
console.log(all_element);
</script>
gebcnで取得したターゲットにqueryselectorは使えないんでしょうか?
idで取得したものなら可能なんですけども。
<h2>header2</h2>
<h2>header2-2</h2>
<h2>header2-3</h2>
<h2>header2-4</h2>
</div>
<script>
let content = document.getElementsByClassName("content");
let all_element = content.querySelectorAll("h2");
console.log(all_element);
</script>
gebcnで取得したターゲットにqueryselectorは使えないんでしょうか?
idで取得したものなら可能なんですけども。
221デフォルトの名無しさん (ワッチョイ 9f33-qpXy [59.190.4.184])
2022/01/07(金) 14:27:21.79ID:YQSfQDAQ0222デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/07(金) 18:28:49.81ID:RiDo7mPm0223デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/07(金) 18:31:00.59ID:RiDo7mPm0 エレメントしかいらないのならid使ったほうが良いみたいですね
224デフォルトの名無しさん (ワッチョイ 9f61-CTdg [61.214.181.68])
2022/01/07(金) 18:36:46.10ID:HaEbTiQw0 document.querySelectorAll(".content > h2");
でよくね?
でよくね?
225デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/07(金) 20:54:20.38ID:RiDo7mPm0 こういった場合クラスを使うんでしょうか?
cssではidは出来るだけ使わないということになっているらしいですが
cssではidは出来るだけ使わないということになっているらしいですが
226デフォルトの名無しさん (ワッチョイ 9b63-rZjE [114.155.73.208])
2022/01/07(金) 21:09:58.61ID:/l7S/g/G0 できるだけ使わないというか詳細度に関わる
1ページ一回というユニークルールもcss使い回しに不向き
1ページ一回というユニークルールもcss使い回しに不向き
227デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/08(土) 05:37:14.84ID:ly/XOtiZ0 classnameでやってみますです
228デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/08(土) 05:41:40.78ID:ly/XOtiZ0229デフォルトの名無しさん (ワッチョイ efcb-hDuN [223.132.4.34])
2022/01/08(土) 05:48:14.75ID:ly/XOtiZ0230デフォルトの名無しさん (ブーイモ MM7f-Huc/ [163.49.213.86])
2022/01/08(土) 05:55:36.78ID:fLniY7PXM 全てconstでOK
231デフォルトの名無しさん (スプッッ Sdbf-d5qO [1.79.82.91])
2022/01/08(土) 07:52:36.25ID:GNp2CfCTd Android10 F-51A
Chrome 93.0.4577.62
ブラウザ上での画像についての質問です。
画像自体は恐らく読み込めているようなのですが、全く映らないか、映っても一瞬で消えてしまいます。
エラーメッセージは出ません。
ファイルマネージャーというアプリから起動すると、正常に動作します。
考えられる原因、解決案は、例えば何があるでしょうか。
絶対パスというものなら出来るかと思ったのですが、自分のやり方が悪いのか、上手く行きませんでした。
Chrome 93.0.4577.62
ブラウザ上での画像についての質問です。
画像自体は恐らく読み込めているようなのですが、全く映らないか、映っても一瞬で消えてしまいます。
エラーメッセージは出ません。
ファイルマネージャーというアプリから起動すると、正常に動作します。
考えられる原因、解決案は、例えば何があるでしょうか。
絶対パスというものなら出来るかと思ったのですが、自分のやり方が悪いのか、上手く行きませんでした。
232デフォルトの名無しさん (ワッチョイ 2333-bpII [59.190.4.184])
2022/01/08(土) 09:00:28.06ID:5hFueUuG0233デフォルトの名無しさん (ワッチョイ 0332-Cwx9 [133.207.66.224])
2022/01/08(土) 09:52:41.58ID:UKENl29p0234デフォルトの名無しさん (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 10:15:27.19ID:GNp2CfCTd >>233
スマホアプリの「QuickEdit」というテキストエディタで制作しています。
そういう意味じゃなかったらごめんなさい。
$Game_Image_Data = [];
$Game_Image_Data[0] = new Image(); $Game_Image_Data[0].src = "image/player.png";
これで「$Game_Image_Data[0].src」をアラートで出力すると、こうなります。
https://i.imgur.com/FzEkdyk.jpg
スマホアプリの「QuickEdit」というテキストエディタで制作しています。
そういう意味じゃなかったらごめんなさい。
$Game_Image_Data = [];
$Game_Image_Data[0] = new Image(); $Game_Image_Data[0].src = "image/player.png";
これで「$Game_Image_Data[0].src」をアラートで出力すると、こうなります。
https://i.imgur.com/FzEkdyk.jpg
235デフォルトの名無しさん (ワッチョイ 5bcb-dXQO [223.132.4.34])
2022/01/08(土) 14:43:01.70ID:ly/XOtiZ0 >>232
どうも。今回はindex使うことにしてみます。
どうも。今回はindex使うことにしてみます。
236231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:15:55.99ID:GNp2CfCTd 可能な限り絞り込み? ました。
検証にご協力していただける方は、「imageフォルダに適当な「player.png」の画像を挿入して、実行してみてください。
ここまである程度余計な要素を取り除いたので、流石にこれならいけるんじゃないか? と思ったのですが、自分の環境ではやはり駄目でした。
よろしくお願いいたします。
検証にご協力していただける方は、「imageフォルダに適当な「player.png」の画像を挿入して、実行してみてください。
ここまである程度余計な要素を取り除いたので、流石にこれならいけるんじゃないか? と思ったのですが、自分の環境ではやはり駄目でした。
よろしくお願いいたします。
237231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:19:01.00ID:GNp2CfCTd <! html>
<html>
<head>
<meta ="utf-8"/>
<title>No_Name_Game</title>
</head>
<body>
<div id="Original_Game_Windows">
<canvas id="Game_Main_Window" width="640" height="480" style="background-color:#000000;"></canvas>
</div>
<style>
body { margin: 0; padding: 0; }
#Original_Game_Windows {
width: 640px;
height: 480px;
position: relative;
}
</style>
</body>
<html>
<head>
<meta ="utf-8"/>
<title>No_Name_Game</title>
</head>
<body>
<div id="Original_Game_Windows">
<canvas id="Game_Main_Window" width="640" height="480" style="background-color:#000000;"></canvas>
</div>
<style>
body { margin: 0; padding: 0; }
#Original_Game_Windows {
width: 640px;
height: 480px;
position: relative;
}
</style>
</body>
238231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:22:09.26ID:GNp2CfCTd ごめんなさい、貼り付けるの無理でした。
239デフォルトの名無しさん (ワッチョイ 2361-2G4o [61.214.181.68])
2022/01/08(土) 17:26:57.57ID:c2V21ewI0 >>236
サーバーに画像アップロードしないとだめですよ?
サーバーに画像アップロードしないとだめですよ?
240231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:42:45.65ID:GNp2CfCTd241231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:44:17.60ID:GNp2CfCTd 斧を使わせて貰いました。
よろしくお願いします。
よろしくお願いします。
242231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 17:44:45.13ID:GNp2CfCTd243デフォルトの名無しさん (ワッチョイ 2361-2G4o [61.214.181.68])
2022/01/08(土) 18:53:38.87ID:c2V21ewI0244231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 19:05:34.21ID:GNp2CfCTd >>243
この文章って、そういう意味なのですか?
てっきり、アクセスは出来てるという意味だと勘違いしていました。
勉強不足で申し訳ありません。
ただ、今回は確実に、ちゃんと画像もフォルダ内にアップロードしたのですが、上手く行きませんでした。
https://i.imgur.com/7tRCd4P.jpg
https://i.imgur.com/AM1zYbJ.jpg
https://i.imgur.com/Egje64L.jpg
この文章って、そういう意味なのですか?
てっきり、アクセスは出来てるという意味だと勘違いしていました。
勉強不足で申し訳ありません。
ただ、今回は確実に、ちゃんと画像もフォルダ内にアップロードしたのですが、上手く行きませんでした。
https://i.imgur.com/7tRCd4P.jpg
https://i.imgur.com/AM1zYbJ.jpg
https://i.imgur.com/Egje64L.jpg
245デフォルトの名無しさん (ワッチョイ 2361-2G4o [61.214.181.68])
2022/01/08(土) 19:12:51.05ID:c2V21ewI0 >>244
頭のpが大文字じゃないですか…
頭のpが大文字じゃないですか…
246231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 19:26:33.45ID:GNp2CfCTd247231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/08(土) 19:30:48.95ID:GNp2CfCTd248デフォルトの名無しさん (ワッチョイ c55f-gByX [14.11.194.224])
2022/01/08(土) 20:24:29.61ID:70jc3KgD0 ドンマイ
249デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/08(土) 20:40:02.49ID:6njacc4u0 わりとやらかすミスだからしゃーない
250デフォルトの名無しさん (ワッチョイ 0b2c-mvA8 [153.136.94.40])
2022/01/09(日) 01:12:15.51ID:lzN+drLE0 >>229
const elems = document.querySelectorAll(".content > h2");
console.log( elems, elems[ 0 ] )
これで、4つのh2が、ちゃんと取れている
NodeList(4) [h2, h2, h2, h2]
NodeList <h2>header2</h2>
この板よりも、web制作管理板の方で聞いた方がよい。
向こうのスレが、本スレだから
const elems = document.querySelectorAll(".content > h2");
console.log( elems, elems[ 0 ] )
これで、4つのh2が、ちゃんと取れている
NodeList(4) [h2, h2, h2, h2]
NodeList <h2>header2</h2>
この板よりも、web制作管理板の方で聞いた方がよい。
向こうのスレが、本スレだから
251デフォルトの名無しさん (ワッチョイ 6501-dXQO [126.29.248.173])
2022/01/09(日) 01:27:51.26ID:wKoMs7Y50 そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし
「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する
荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい
荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける
基本的に、ソースコードを書かない香具師は荒らし
「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する
荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい
荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける
252デフォルトの名無しさん (ワッチョイ 8d63-YELL [114.155.73.208])
2022/01/09(日) 02:26:51.89ID:WLNeqQAW0 >>251
統合失調症ですか?
統合失調症ですか?
253デフォルトの名無しさん (ワッチョイ 8d01-0qby [114.48.120.226])
2022/01/09(日) 10:47:02.34ID:94EdrQaq0254デフォルトの名無しさん (ブーイモ MMd9-q/K3 [202.214.125.224])
2022/01/09(日) 10:50:05.66ID:zqBk0tn4M >>250
本気で誘導したいならリンクを貼りましょう
本気で誘導したいならリンクを貼りましょう
255231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/09(日) 11:32:48.03ID:8qT6W49sd 昨日はお世話になりました。
二日連続になって申し訳ないのですが、質問させていただきます。
localStorageに保存しておける文字数って、あんまり多くないのでしょうか?
2000×400字ほどで、エラーが出てしまいます。
2000×300字だと問題なかったので、やり方じゃなく文字数の関係なのかと思ったのですが、どうなんでしょうか。
ちなみに、配列、オブジェクト型データです。
二日連続になって申し訳ないのですが、質問させていただきます。
localStorageに保存しておける文字数って、あんまり多くないのでしょうか?
2000×400字ほどで、エラーが出てしまいます。
2000×300字だと問題なかったので、やり方じゃなく文字数の関係なのかと思ったのですが、どうなんでしょうか。
ちなみに、配列、オブジェクト型データです。
256デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/09(日) 11:40:12.10ID:81xkTGx10257デフォルトの名無しさん (ワッチョイ c55f-gByX [14.11.194.224])
2022/01/09(日) 11:47:21.66ID:Km6Rc4Yy0 >>255
エラーとは?そこを詳しく説明して
エラーとは?そこを詳しく説明して
258デフォルトの名無しさん (ワッチョイ 5bcb-dXQO [223.132.4.34])
2022/01/09(日) 11:51:03.02ID:RPzdd9tK0 変数や関数名の迷わない命名ルールってありますか?
変数は名詞、関数は動詞とは聞きますね。
変数は名詞、関数は動詞とは聞きますね。
259231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/09(日) 11:56:07.27ID:8qT6W49sd260デフォルトの名無しさん (ワッチョイ c55f-gByX [14.11.194.224])
2022/01/09(日) 12:09:04.30ID:Km6Rc4Yy0261デフォルトの名無しさん (ワッチョイ 8d01-0qby [114.48.120.226])
2022/01/09(日) 12:10:23.57ID:94EdrQaq0 >>258
言語仕様としては、使用可能文字があるのみで命名規則に縛りはない
ビルトイン関数/プロパティの慣習的にクラスはUpperCamelCase、関数はlowerCamelCaseなので、守るとビルトインのコードと統一性が出来て良いだろう
後は採用しているコーディング規約を守れば良い
例えば、Google JavaScript Style Guide
https://google.github.io/styleguide/jsguide.html#naming
https://w.atwiki.jp/aias-jsstyleguide2/pages/13.html#va
言語仕様としては、使用可能文字があるのみで命名規則に縛りはない
ビルトイン関数/プロパティの慣習的にクラスはUpperCamelCase、関数はlowerCamelCaseなので、守るとビルトインのコードと統一性が出来て良いだろう
後は採用しているコーディング規約を守れば良い
例えば、Google JavaScript Style Guide
https://google.github.io/styleguide/jsguide.html#naming
https://w.atwiki.jp/aias-jsstyleguide2/pages/13.html#va
262231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/09(日) 12:16:18.69ID:8qT6W49sd263デフォルトの名無しさん (ワッチョイ 5bcb-dXQO [223.132.4.34])
2022/01/09(日) 12:39:38.59ID:RPzdd9tK0264デフォルトの名無しさん (ワッチョイ 2301-dXQO [219.23.92.148])
2022/01/09(日) 12:45:08.85ID:CpwtZL4w0 すいません、アホな質問かもしれません。
マウスの右ボタンクリックで独自のサブメニューを表示したいと思います。
この場合は JavaScriput が必須で、CSSでは出来ないという理解で良いでしょうか。
マウスの右ボタンクリックで独自のサブメニューを表示したいと思います。
この場合は JavaScriput が必須で、CSSでは出来ないという理解で良いでしょうか。
265デフォルトの名無しさん (ワッチョイ 8b02-2G4o [121.82.250.131])
2022/01/09(日) 14:49:13.23ID:MpHyBZWL0 仕事関係なのと、JavaScript は全くの初心者なんで聞き辛いのですが、
【環境】 Raspberry Pi OS Ver10.11
【期待する結果】 文字列の後ろに 1バイトの値を付加したい。
シリアルで受信したメッセージから特定の値を抜き出して別のユニットにシリアルで送信
します。見様見真似とネットで調べながら、
set_Message: function (message) {
const _STX = '\x02'; // STX
const _ETX = '\x03'; // ETX
// 送信フレーム生成
var frame = _STX + message + _ETX;
// BCC 生成
var idx = 0;
var bcc = frame.charCodeAt(idx++);
do {
bcc ^= frame.charCodeAt(idx++);
} while (frame.charAt(idx) != '');
var buff = new ArrayBuffer(5);
var BCC = new DataView(buff);
BCC.setUint8(0, Number(bcc));
// 送信実行
var command = "echo -n " + frame + " > " + TTY_USB;
execsyncs(command);
command = "echo -n " + BCC.getUint8(0) + ',' + (bcc - 0) + ',' + Number(bcc) + ',' + parseInt(bcc, 10) + " > " + TTY_USB;
execsyncs(command);
return;
}
関数を作成、ブロックチェックコード BCC を計算させました。BCC を最後に付加したいのですが、
どれも値が 2バイトの文字列になってしまいます。"JavaScript" + "文字列を数値に変換" とかの
キーワードで検索しながら試行錯誤していますが、単純な数値にするヒントを頂ければ幸いです。
組み込みプログラマーなので、C と、C++ が少しわかります。
【環境】 Raspberry Pi OS Ver10.11
【期待する結果】 文字列の後ろに 1バイトの値を付加したい。
シリアルで受信したメッセージから特定の値を抜き出して別のユニットにシリアルで送信
します。見様見真似とネットで調べながら、
set_Message: function (message) {
const _STX = '\x02'; // STX
const _ETX = '\x03'; // ETX
// 送信フレーム生成
var frame = _STX + message + _ETX;
// BCC 生成
var idx = 0;
var bcc = frame.charCodeAt(idx++);
do {
bcc ^= frame.charCodeAt(idx++);
} while (frame.charAt(idx) != '');
var buff = new ArrayBuffer(5);
var BCC = new DataView(buff);
BCC.setUint8(0, Number(bcc));
// 送信実行
var command = "echo -n " + frame + " > " + TTY_USB;
execsyncs(command);
command = "echo -n " + BCC.getUint8(0) + ',' + (bcc - 0) + ',' + Number(bcc) + ',' + parseInt(bcc, 10) + " > " + TTY_USB;
execsyncs(command);
return;
}
関数を作成、ブロックチェックコード BCC を計算させました。BCC を最後に付加したいのですが、
どれも値が 2バイトの文字列になってしまいます。"JavaScript" + "文字列を数値に変換" とかの
キーワードで検索しながら試行錯誤していますが、単純な数値にするヒントを頂ければ幸いです。
組み込みプログラマーなので、C と、C++ が少しわかります。
266デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 15:08:40.66ID:94EdrQaq0267デフォルトの名無しさん (ワッチョイ 8d63-YELL [114.155.73.208])
2022/01/09(日) 15:18:07.99ID:WLNeqQAW0 名前なんて違反しなきゃ好きにつけりゃいい
俺は長くなっても意味がわかる命名派
vとかiとか一文字の変数や定数を好む宗教も強い
俺は長くなっても意味がわかる命名派
vとかiとか一文字の変数や定数を好む宗教も強い
268デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 15:28:05.42ID:94EdrQaq0 >>264
menu要素は非推奨になったし、JavaAcriptしかないのでは
少なくとCSSがブラウザ標準の動作を変更させることはないと思うし、右クリックを検知する方法はないと思う
コンテキストメニューの改変はアクセシビリティが低下する可能性が高いので、慎重に対応する必要はある
ゲームのような独自の操作方法を要求する場合は致し方ないが、多くの場合、ユーザはブラウザ標準の動作を期待する
独自メニューを提供することでブラウザ標準のメニューを使えなくなる事に不満を持つ
独自メニューとブラウザ標準のコンテキストメニューが両方出現するUIなら良いかもしれないが
menu要素は非推奨になったし、JavaAcriptしかないのでは
少なくとCSSがブラウザ標準の動作を変更させることはないと思うし、右クリックを検知する方法はないと思う
コンテキストメニューの改変はアクセシビリティが低下する可能性が高いので、慎重に対応する必要はある
ゲームのような独自の操作方法を要求する場合は致し方ないが、多くの場合、ユーザはブラウザ標準の動作を期待する
独自メニューを提供することでブラウザ標準のメニューを使えなくなる事に不満を持つ
独自メニューとブラウザ標準のコンテキストメニューが両方出現するUIなら良いかもしれないが
269デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 15:29:28.78ID:94EdrQaq0270デフォルトの名無しさん (ワッチョイ 5bcb-dXQO [223.132.4.34])
2022/01/09(日) 15:42:44.57ID:RPzdd9tK0 適当につけます(´・ω・`)
271デフォルトの名無しさん (ワッチョイ 2301-dXQO [219.23.92.148])
2022/01/09(日) 16:11:22.92ID:CpwtZL4w0 >>268
ありがとうございます!
Javascriptを使う必要がある件、了解です。
以前に .net で作ったWindowsアプリをWebアプリに移植しています。
Table上の特定のセルを右クリックしたら独自メニューが表示される仕様になります。
それ以外の場所では ブラウザ標準のコンテキストメニューが表示出来るようにしたいと思っています。
やり初めて間もないのですが、覚えることが多すぎて恐ろしい世界ですね。Webアプリとは。
Javascriptでやるにしても、JQueryかVueかReactか、どれでやるべきか・・・
バックエンドは Djangoですが、自分ひとりでやらないといけないので かなりの修行になりそうです。
あと、AWSのデプロイとか Dockerとか・・・・ 初めてのことばかりで・・・
ありがとうございます!
Javascriptを使う必要がある件、了解です。
以前に .net で作ったWindowsアプリをWebアプリに移植しています。
Table上の特定のセルを右クリックしたら独自メニューが表示される仕様になります。
それ以外の場所では ブラウザ標準のコンテキストメニューが表示出来るようにしたいと思っています。
やり初めて間もないのですが、覚えることが多すぎて恐ろしい世界ですね。Webアプリとは。
Javascriptでやるにしても、JQueryかVueかReactか、どれでやるべきか・・・
バックエンドは Djangoですが、自分ひとりでやらないといけないので かなりの修行になりそうです。
あと、AWSのデプロイとか Dockerとか・・・・ 初めてのことばかりで・・・
272デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 16:51:11.22ID:94EdrQaq0 >>271
デスクトップアプリとWebアプリの一番の違いは実行環境が複数存在していることだろうな
クライアント環境を指定出来る社内向けWebアプリならブラウザを制限できるが、Webアプリを公開するなら、クロスブラウザが必須
デスクトップOSだけでもChrome,Fx,Edgeの対応が必要となる
(Operaもあるが、シェアが小さい)
モバイルOS版のブラウザも含めると更に大変になる
実装状況はcaniuseやMDNの互換表を見ると、ある程度は分かる
https://caniuse.com/
JavaScript標準の書き方を覚えてから、ライブラリ、フレームワークに手を付けるのが良いと思う
jQueryから入った人はDOMの知識が浅くて見当違いの質問をする事が多い
Vue,Reactは完全に別世界だが、DOMやECMAScriptの文法を理解してないと辛い
JavaScriptの基礎はおさえておいて損はない
最も、バックエンドが未着手なら、バックエンドの習得が先かと
JavaScriptもまとめて学習すると、おそらく混乱する
table要素の特定セルのコンテキストメニューの独自化なら大丈夫だと思う
Google スプレッドシートのWebアプリを想起した
デスクトップアプリとWebアプリの一番の違いは実行環境が複数存在していることだろうな
クライアント環境を指定出来る社内向けWebアプリならブラウザを制限できるが、Webアプリを公開するなら、クロスブラウザが必須
デスクトップOSだけでもChrome,Fx,Edgeの対応が必要となる
(Operaもあるが、シェアが小さい)
モバイルOS版のブラウザも含めると更に大変になる
実装状況はcaniuseやMDNの互換表を見ると、ある程度は分かる
https://caniuse.com/
JavaScript標準の書き方を覚えてから、ライブラリ、フレームワークに手を付けるのが良いと思う
jQueryから入った人はDOMの知識が浅くて見当違いの質問をする事が多い
Vue,Reactは完全に別世界だが、DOMやECMAScriptの文法を理解してないと辛い
JavaScriptの基礎はおさえておいて損はない
最も、バックエンドが未着手なら、バックエンドの習得が先かと
JavaScriptもまとめて学習すると、おそらく混乱する
table要素の特定セルのコンテキストメニューの独自化なら大丈夫だと思う
Google スプレッドシートのWebアプリを想起した
273デフォルトの名無しさん (ワッチョイ 2301-dXQO [219.23.92.148])
2022/01/09(日) 17:29:38.29ID:CpwtZL4w0 >>272
アドバイス ありがとうございます。
ほんとうに助かります!
幸い 社内関係者が使用するだけの業務用アプリなので ブラウザを限定して開発することが出来ます。
JavaScriptの基本をおさえるほうが良い件、了解です。
入門本を買ってきて 勉強してみます。
バックエンド(Django)はなんとか目処が立ちそうです。
いやぁ、本当にWebアプリの世界はすごい(難しくて 複雑)と思いました。
おまけに技術の変化が激しそうだし・・・
がんばります!
アドバイス ありがとうございます。
ほんとうに助かります!
幸い 社内関係者が使用するだけの業務用アプリなので ブラウザを限定して開発することが出来ます。
JavaScriptの基本をおさえるほうが良い件、了解です。
入門本を買ってきて 勉強してみます。
バックエンド(Django)はなんとか目処が立ちそうです。
いやぁ、本当にWebアプリの世界はすごい(難しくて 複雑)と思いました。
おまけに技術の変化が激しそうだし・・・
がんばります!
274デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 18:35:56.14ID:94EdrQaq0 >>273
クライアント環境を制限できるなら、デファクトスタンダードのGoogle Chromeがお勧め
次点でレンダリングエンジンが同じMS Edge
ブラウザシェアはIE1強時代と比べて、大分変わったな…
https://gs.statcounter.com/browser-market-share/desktop/japan/2021
確かに技術の進化はあるが、Web技術は後方互換性重視の設計思想なので、非推奨機能を使わなければ、大半の機能で半永続性が保証されている
HTML3.2は現代のブラウザでも動作するし、ECMAScript3は現役だ
つまり、古いバージョンから新しいバージョンに更新し続ける必要はない
ただし、これはWeb標準機能に限定した理屈でブラウザの独自拡張機能は別
その昔、IEのActiveX機能を使用した社内向けWebアプリはIEが終焉を迎えるとともに、他ブラウザへ移行するために改修を余儀なくされた
現在は昔と比べてブラウザの独自拡張機能が少ないが、ないわけでもない
Web標準機能を使っておけば、他ブラウザの対応も容易なので、注意すると良い
クライアント環境を制限できるなら、デファクトスタンダードのGoogle Chromeがお勧め
次点でレンダリングエンジンが同じMS Edge
ブラウザシェアはIE1強時代と比べて、大分変わったな…
https://gs.statcounter.com/browser-market-share/desktop/japan/2021
確かに技術の進化はあるが、Web技術は後方互換性重視の設計思想なので、非推奨機能を使わなければ、大半の機能で半永続性が保証されている
HTML3.2は現代のブラウザでも動作するし、ECMAScript3は現役だ
つまり、古いバージョンから新しいバージョンに更新し続ける必要はない
ただし、これはWeb標準機能に限定した理屈でブラウザの独自拡張機能は別
その昔、IEのActiveX機能を使用した社内向けWebアプリはIEが終焉を迎えるとともに、他ブラウザへ移行するために改修を余儀なくされた
現在は昔と比べてブラウザの独自拡張機能が少ないが、ないわけでもない
Web標準機能を使っておけば、他ブラウザの対応も容易なので、注意すると良い
275デフォルトの名無しさん (ブーイモ MMd9-V3hk [202.214.198.57])
2022/01/09(日) 19:24:13.83ID:oCAuhuCGM >>265
Uint8Arrayとかそういう話じゃなくて?
Uint8Arrayとかそういう話じゃなくて?
276231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/09(日) 19:56:40.79ID:8qT6W49sd 昨日から何度も失礼します。
ご提示いただいたindexedDBについて調べて、最初、コピペせずに
自分で打ち込んだら、何度修正してもトランザクションでエラーが出たので、
次に某所のコードをコピペしたら、このようなエラーが出てしまいました。
制作環境がスマホでは、トランザクションというか、indexedDBを扱うのは無理なのでしょうか。
スマホの制作環境わかる方少ないかと思いますが、アドバイスいただけたら幸いです。
https://i.imgur.com/DWMPWQ7.jpg
ご提示いただいたindexedDBについて調べて、最初、コピペせずに
自分で打ち込んだら、何度修正してもトランザクションでエラーが出たので、
次に某所のコードをコピペしたら、このようなエラーが出てしまいました。
制作環境がスマホでは、トランザクションというか、indexedDBを扱うのは無理なのでしょうか。
スマホの制作環境わかる方少ないかと思いますが、アドバイスいただけたら幸いです。
https://i.imgur.com/DWMPWQ7.jpg
277デフォルトの名無しさん (ワッチョイ c55f-gByX [14.11.194.224])
2022/01/09(日) 20:16:29.50ID:Km6Rc4Yy0278デフォルトの名無しさん (ブーイモ MMd9-V3hk [202.214.198.178])
2022/01/09(日) 20:32:49.24ID:d2WOXC3/M indexeddbは直で扱うのはしんどいからライブラリ使うといい
localstorageの代わりとして使う程度ならlocalforageがおすすめ
localstorageの代わりとして使う程度ならlocalforageがおすすめ
279231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/09(日) 20:34:03.26ID:8qT6W49sd 確かに質問するのにそこぼかしたら駄目ですよね。すみません。
「VB.NET-TIPS などプログラミングについて」というブログの、「JavaScript IndexedDB の使い方2(データ追加)」
というところです。
http://vbnettips.blog.shinobi.jp/javascript/javascript%20indexeddb%20%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%92
「VB.NET-TIPS などプログラミングについて」というブログの、「JavaScript IndexedDB の使い方2(データ追加)」
というところです。
http://vbnettips.blog.shinobi.jp/javascript/javascript%20indexeddb%20%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%92
280265 (ワッチョイ 8b02-2G4o [121.82.250.131])
2022/01/09(日) 20:35:41.88ID:MpHyBZWL0 >>275
BCC[0] = bcc;
BCC[1] = Number(bcc);
BCC[2] = parseInt(bcc);
command = "echo -n " + BCC[0] + BCC[1] + BCC[2] + " > " + TTY_USB;
execsyncs(command);
としてみましたが、どれも 2文字の文字列で出力されてしまいます。コマンドを作る際の連結で文字列にされている感じでしょうか?
昼過ぎに質問を書き込んでから、const _BCC[ '\x00', 〜 '\xFF' ] の 256バイトの配列を作成、_BCC[bcc] として目的の値が出力出来る所まで辿り着いたのですが、処理としてはチョット恥ずかしい感じがします。
BCC[0] = bcc;
BCC[1] = Number(bcc);
BCC[2] = parseInt(bcc);
command = "echo -n " + BCC[0] + BCC[1] + BCC[2] + " > " + TTY_USB;
execsyncs(command);
としてみましたが、どれも 2文字の文字列で出力されてしまいます。コマンドを作る際の連結で文字列にされている感じでしょうか?
昼過ぎに質問を書き込んでから、const _BCC[ '\x00', 〜 '\xFF' ] の 256バイトの配列を作成、_BCC[bcc] として目的の値が出力出来る所まで辿り着いたのですが、処理としてはチョット恥ずかしい感じがします。
281265 (ワッチョイ 8b02-2G4o [121.82.250.131])
2022/01/09(日) 20:38:48.27ID:MpHyBZWL0 >>280
消しすぎてました。試したのは、
var BCC = new Uint8Array(bcc);
BCC[0] = bcc;
BCC[1] = Number(bcc);
BCC[2] = parseInt(bcc);
です。
消しすぎてました。試したのは、
var BCC = new Uint8Array(bcc);
BCC[0] = bcc;
BCC[1] = Number(bcc);
BCC[2] = parseInt(bcc);
です。
282デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/09(日) 20:56:22.61ID:94EdrQaq0 >>280
変数commandはString型なので、そこに含まれる値は全てStrong型に変換される
String(10) === "10"
1バイトの文字が必要なら、ASCIIコードの範囲で1文字になるよう調整する必要がある
変数commandはString型なので、そこに含まれる値は全てStrong型に変換される
String(10) === "10"
1バイトの文字が必要なら、ASCIIコードの範囲で1文字になるよう調整する必要がある
283デフォルトの名無しさん (ワッチョイ 0332-Cwx9 [133.207.66.224])
2022/01/09(日) 21:05:54.69ID:wEbou60s0 >>265
String.fromCharCode(bcc) ではだめなの?(UTF-16だけど)
String.fromCharCode(bcc) ではだめなの?(UTF-16だけど)
284デフォルトの名無しさん (ワッチョイ 8b02-2G4o [121.82.250.131])
2022/01/09(日) 21:57:44.39ID:MpHyBZWL0285デフォルトの名無しさん (ワッチョイ 0b2c-EgL+ [153.136.94.40])
2022/01/09(日) 22:58:01.81ID:lzN+drLE0 >>271
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538
ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた
基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理
Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている
これほど、良い教科書が揃っているフレームワークはない!
Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw
日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538
ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた
基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理
Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている
これほど、良い教科書が揃っているフレームワークはない!
Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw
日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
286デフォルトの名無しさん (ワッチョイ 8d63-YELL [114.155.73.208])
2022/01/09(日) 23:10:39.20ID:WLNeqQAW0 >>285
自演するな
自演するな
287デフォルトの名無しさん (ワッチョイ 0510-94m7 [180.12.82.129])
2022/01/10(月) 00:49:36.06ID:iL7OUFIC0 <table style="width:3000px;background:#ff00ff">
<tr>
<td>aaaaaaaaaaaa</td>
</tr>
</table>
<div style="position:fixed;top:50px;left:200px">x=<span id="x">0</span></div>
setInterval(
function(){
document.getElementById("x").innerHTML = window.pageXOffset;
}
,100
);
PCだと左右スクロールさせたときちゃんとwindow.pageXOffsetが表示されるけど
スマホだと右スクロールの場合は0のまんまで左スクロールの場合だけ表示されます。
スマホでもスクロール値ちゃんと取得できるようなやり方はありますか?
<tr>
<td>aaaaaaaaaaaa</td>
</tr>
</table>
<div style="position:fixed;top:50px;left:200px">x=<span id="x">0</span></div>
setInterval(
function(){
document.getElementById("x").innerHTML = window.pageXOffset;
}
,100
);
PCだと左右スクロールさせたときちゃんとwindow.pageXOffsetが表示されるけど
スマホだと右スクロールの場合は0のまんまで左スクロールの場合だけ表示されます。
スマホでもスクロール値ちゃんと取得できるようなやり方はありますか?
288デフォルトの名無しさん (ワッチョイ 8d01-2syq [114.48.120.226])
2022/01/10(月) 01:03:26.84ID:RagYY3R10290231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/10(月) 07:56:10.03ID:GFg5qhLud >>277
おっしゃるとおり、トランザクションはブラウザでは正常に動作していました。
トランザクションでエラー起きていたのは、テキストエディタのプレビューから動かしたときだけでした。
しかし、
https://ideone.com/IKQkII
このコードの59行目くらいで、自分のスマホだとエラーが起きるところまではわかったのですが、解決案がわかりません。
アドバイスいただけたら幸いです。
https://i.imgur.com/DWMPWQ7.jpg
おっしゃるとおり、トランザクションはブラウザでは正常に動作していました。
トランザクションでエラー起きていたのは、テキストエディタのプレビューから動かしたときだけでした。
しかし、
https://ideone.com/IKQkII
このコードの59行目くらいで、自分のスマホだとエラーが起きるところまではわかったのですが、解決案がわかりません。
アドバイスいただけたら幸いです。
https://i.imgur.com/DWMPWQ7.jpg
291デフォルトの名無しさん (ワッチョイ c55f-fEke [14.10.58.225])
2022/01/10(月) 09:10:37.59ID:kImY1hGC0 >>290
idb作るときにkey指定したりした?
結構癖のあるDBよ。
https://qiita.com/butakoma/items/2c1c956b63fcf956a137
localForageとかPouchDB使った方が良いのでは?
idb作るときにkey指定したりした?
結構癖のあるDBよ。
https://qiita.com/butakoma/items/2c1c956b63fcf956a137
localForageとかPouchDB使った方が良いのでは?
292231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/10(月) 09:57:44.78ID:GFg5qhLud293デフォルトの名無しさん (テテンテンテン MM8b-fEke [133.106.206.158])
2022/01/10(月) 10:26:53.27ID:LkWl6bQKM294231 (スプッッ Sd03-Ylb5 [1.79.82.91])
2022/01/10(月) 10:56:29.90ID:GFg5qhLud295デフォルトの名無しさん (ワッチョイ 0510-Q8Sl [180.12.82.129])
2022/01/10(月) 12:30:07.69ID:iL7OUFIC0 >>288
1:ゲームみたいにリアルタイム処理しているのでsetInterval使ってるから
2:setInterval内に書けばaddeventlistner使わずにプログラムが簡単ですむから
3:addeventlistnerから得た値をsetInterval内の関数に渡すときグローバル変数で渡すけど
setInterval内でいろいろスクロール値やフォームなどの入力値も取得すればグローバル使わなくていいから
1:ゲームみたいにリアルタイム処理しているのでsetInterval使ってるから
2:setInterval内に書けばaddeventlistner使わずにプログラムが簡単ですむから
3:addeventlistnerから得た値をsetInterval内の関数に渡すときグローバル変数で渡すけど
setInterval内でいろいろスクロール値やフォームなどの入力値も取得すればグローバル使わなくていいから
296231 (スプッッ Sd03-Ylb5 [1.75.196.141])
2022/01/11(火) 10:20:14.57ID:xHId70tjd 連日すみません。
new Objectしたデータ(以下〇〇〇〇とします)をindexedDBで格納しようとしたのですが、
〇〇〇〇[0].nameで実行するとちゃんと格納されたようで
名前を表示してくれるのですが、〇〇〇〇[0]や〇〇〇〇で実行すると、エラーが出てしまいます。
名前などは表示されるのだから、forで無理矢理全部やろうとしたら、indexedDBでは前のデータに上書きされるようで、上手く出来ませんでした。
この〇〇〇〇を格納出来うる解決案などありましたら、教えていただけると幸いです。
連日すみません。
https://i.imgur.com/5TVe5FC.jpg
https://i.imgur.com/b6Ymtuc.jpg
new Objectしたデータ(以下〇〇〇〇とします)をindexedDBで格納しようとしたのですが、
〇〇〇〇[0].nameで実行するとちゃんと格納されたようで
名前を表示してくれるのですが、〇〇〇〇[0]や〇〇〇〇で実行すると、エラーが出てしまいます。
名前などは表示されるのだから、forで無理矢理全部やろうとしたら、indexedDBでは前のデータに上書きされるようで、上手く出来ませんでした。
この〇〇〇〇を格納出来うる解決案などありましたら、教えていただけると幸いです。
連日すみません。
https://i.imgur.com/5TVe5FC.jpg
https://i.imgur.com/b6Ymtuc.jpg
297デフォルトの名無しさん (ワッチョイ 0332-Cwx9 [133.207.66.224])
2022/01/11(火) 13:20:29.56ID:yML4DU0R0298231 (スプッッ Sd03-Ylb5 [1.75.231.111])
2022/01/11(火) 13:48:48.89ID:dFSE8CT0d >>297 さんはじめ、皆様失礼しました。
コピペ部分除いて、自分が好きなように書き殴ったコードなので、
出来るだけ見せたくなく、あのような半端な質問になってしまいました。申し訳ありません。
現在進行形でサンプルコードを作成していたのですが、打開案が見つかりそうな気がしたので、もう少し自力で頑張ってみます。
コピペ部分除いて、自分が好きなように書き殴ったコードなので、
出来るだけ見せたくなく、あのような半端な質問になってしまいました。申し訳ありません。
現在進行形でサンプルコードを作成していたのですが、打開案が見つかりそうな気がしたので、もう少し自力で頑張ってみます。
299231 (スプッッ Sd03-Ylb5 [1.75.232.179])
2022/01/11(火) 17:48:23.29ID:deLc6mHgd >>296 についてですが、どうやら、データの一つ一つに割り当てた画像の部分を削除すると、上手く機能するようなのですが、
IndexedDBでは、文字列などのオブジェクトと画像は、同時に格納出来ないのでしょうか。
出来ないのであれば、相当な量の手直しが必要になり非常に困ります。
制作開始時期にほんの少し調べて、localstorageで出来るんだな、と高をくくってセーブを後回しにしてしまい、後悔ばかりです。
IndexedDBでは、文字列などのオブジェクトと画像は、同時に格納出来ないのでしょうか。
出来ないのであれば、相当な量の手直しが必要になり非常に困ります。
制作開始時期にほんの少し調べて、localstorageで出来るんだな、と高をくくってセーブを後回しにしてしまい、後悔ばかりです。
300デフォルトの名無しさん (ワッチョイ 0b2c-EgL+ [153.136.94.40])
2022/01/11(火) 22:47:10.94ID:TAtkceMX0 Ruby on Rails では、画像の保存に、libvips かImageMagick も使う。
それで画像を変換したり、サイズなどをチェックする
チェックしないと、サイズが少なくても、
1px × 10,000px みたいな極端な形状を送られて、
サーバーを攻撃してきて落とされる
だから、縦横もチェックしないといけない
Railsみたいなフレームワークを使っていない人は、
ウェブサービスを作るのは無理だと思う
フレームワーク側で自動的にチェックされる機能を、
すべて自分で作らないといけないから
それで画像を変換したり、サイズなどをチェックする
チェックしないと、サイズが少なくても、
1px × 10,000px みたいな極端な形状を送られて、
サーバーを攻撃してきて落とされる
だから、縦横もチェックしないといけない
Railsみたいなフレームワークを使っていない人は、
ウェブサービスを作るのは無理だと思う
フレームワーク側で自動的にチェックされる機能を、
すべて自分で作らないといけないから
301デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/11(火) 22:54:59.18ID:1iYs2MCE0 >>299
質問する時は
@やりたい事を明確に書く
Aそのために今試している/実装している内容、ソースコードなど
B発生しているエラー等について
の順で書くと良い
ぶっちゃけ何をやろうとしてるのかが全く分からん
画像をIndexedDBに保存したいなら、一回blobに変換しないといかんぞ
https://blog.katsubemakito.net/html5/indexeddb2
質問する時は
@やりたい事を明確に書く
Aそのために今試している/実装している内容、ソースコードなど
B発生しているエラー等について
の順で書くと良い
ぶっちゃけ何をやろうとしてるのかが全く分からん
画像をIndexedDBに保存したいなら、一回blobに変換しないといかんぞ
https://blog.katsubemakito.net/html5/indexeddb2
302デフォルトの名無しさん (アウアウウー Sa19-gByX [106.128.145.80])
2022/01/11(火) 22:59:30.93ID:JNUAUaQda >>299
IndexedDBでblob保存できるんだから画像が入らない理由はない
そしてHTMLImageElementを丸ごと保管するのは明らかにおかしいし
そこに画像は無いと思うんだが
https://developer.mozilla.org/ja/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
IndexedDBでblob保存できるんだから画像が入らない理由はない
そしてHTMLImageElementを丸ごと保管するのは明らかにおかしいし
そこに画像は無いと思うんだが
https://developer.mozilla.org/ja/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
303231 (スプッッ Sd03-Ylb5 [1.75.232.43])
2022/01/12(水) 05:59:28.46ID:cpeqqxS8d https://4.gigafile.nu/0119-b5bf917d41c34039ed485d68891d082e0
ゲームキャラクターのステータスなどと一緒に、歩行グラフィックもまとめて保存していました。
紹介されたサイトなど巡って、考えてみようと思います。
ゲームキャラクターのステータスなどと一緒に、歩行グラフィックもまとめて保存していました。
紹介されたサイトなど巡って、考えてみようと思います。
304デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/12(水) 09:14:18.07ID:60+8sbQA0 >>303
>ゲームキャラクターのステータスなどと一緒に、歩行グラフィックもまとめて保存していました。
なんかまた妙な事をやろうとしてるな
普通はimgフォルダを作って、そこに歩行グラフィックとかを格納する
実装部分はキャラクターの状態に合わせてグラフィックを呼び出す、みたいな感じにするぞ
>ゲームキャラクターのステータスなどと一緒に、歩行グラフィックもまとめて保存していました。
なんかまた妙な事をやろうとしてるな
普通はimgフォルダを作って、そこに歩行グラフィックとかを格納する
実装部分はキャラクターの状態に合わせてグラフィックを呼び出す、みたいな感じにするぞ
305231 (スプッッ Sd03-Ylb5 [1.75.229.102])
2022/01/12(水) 09:55:20.12ID:moNKRHMad306デフォルトの名無しさん (アウアウウー Sa19-gByX [106.128.147.31])
2022/01/12(水) 12:17:05.53ID:/ZdmJSDda 単にリソースを保管して読込を速くしたいならキャッシュを制御すればいい
何が目的でそれを使うのかよく考えないと訳わからんコードになる
何が目的でそれを使うのかよく考えないと訳わからんコードになる
307231 (スプッッ Sd03-Ylb5 [1.75.235.161])
2022/01/13(木) 08:13:45.35ID:9NWqLsjEd blobで調べたサイトで出てきた、完成されたコードに、画像を置いて実行したら、エラーが出てしまいました。
【エラーメッセージ】
Putting elephants in IndexedDB
DOMException { stack: "Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.↵ at putElephantInDb (http://localhost:2435/storage/emulated/0/index.html:95:34)↵ at XMLHttpRequest.<anonymous> (http://localhost:2435/storage/emulated/0/index.html:84:21)" }
どのへんでエラーが出たのかまではわかったのですが、何故エラーが出たのかわかりません。
コードはコピペです。
解決案等ありましたら、教えていただけると幸いです。
https://52.gigafile.nu/0120-e68fc48424d65f0f7ae137f3f97cbbc0
【エラーメッセージ】
Putting elephants in IndexedDB
DOMException { stack: "Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.↵ at putElephantInDb (http://localhost:2435/storage/emulated/0/index.html:95:34)↵ at XMLHttpRequest.<anonymous> (http://localhost:2435/storage/emulated/0/index.html:84:21)" }
どのへんでエラーが出たのかまではわかったのですが、何故エラーが出たのかわかりません。
コードはコピペです。
解決案等ありましたら、教えていただけると幸いです。
https://52.gigafile.nu/0120-e68fc48424d65f0f7ae137f3f97cbbc0
308デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/13(木) 10:49:49.47ID:BdYH6d7w0 >>307
山ほど言いたい事があるが……
・コードが動かない、っていうなら実行環境も書け
(JavaScriptはブラウザ単位で動作が異なる場合もあるし、必須)
・初心者ならまずは動くコードを元に改良なり修正なりしろ
確認したら元ネタのコードは2012年だから、あなたの動作環境で動く補償が無い
(軽く見ただけでもエディタがエラー吐くレベルの互換性不備が2箇所ぐらいある)
https://dev.mozilla.jp/2012/07/storing-images-and-files-in-indexeddb/
・初学者向けのチュートリアルやってこい
とりあえず基本を勉強しろ、明らかに実装方針が迷走してる
エラーを解決できても、この先にエラー地獄になるのが目に見えてる
とりあえず専門書買うなり、Webで公開されるチュートリアルもあるからやってこい
(ゲームが作りたいなら以下を見てみろ)
https://developer.mozilla.org/ja/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript
http://puyo.sega.jp/program_2020/
山ほど言いたい事があるが……
・コードが動かない、っていうなら実行環境も書け
(JavaScriptはブラウザ単位で動作が異なる場合もあるし、必須)
・初心者ならまずは動くコードを元に改良なり修正なりしろ
確認したら元ネタのコードは2012年だから、あなたの動作環境で動く補償が無い
(軽く見ただけでもエディタがエラー吐くレベルの互換性不備が2箇所ぐらいある)
https://dev.mozilla.jp/2012/07/storing-images-and-files-in-indexeddb/
・初学者向けのチュートリアルやってこい
とりあえず基本を勉強しろ、明らかに実装方針が迷走してる
エラーを解決できても、この先にエラー地獄になるのが目に見えてる
とりあえず専門書買うなり、Webで公開されるチュートリアルもあるからやってこい
(ゲームが作りたいなら以下を見てみろ)
https://developer.mozilla.org/ja/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript
http://puyo.sega.jp/program_2020/
309231 (スプッッ Sd03-Ylb5 [1.75.234.197])
2022/01/13(木) 12:01:21.75ID:2Kp13/God 動作環境は、Android10 F-51A
Chrome 93.0.4577.62
です。
最初の質問だった画像の表示と、各種データ(質問時、画像保存が別物とは知りませんでした)のセーブ&ロードさえ出来れば、
後はどうにでもなると踏んでいたので、それらについてだけ、こちらで質問してしまいました。
テキストを表示したり、プレイヤーキャラクターを動かしたり、
まだ簡易版ですがワールドマップの自動生成させたり、
いわゆるNPCが動くプログラムなどは、既に組んでいます。
後はここだけなんです、問題は。
スレの皆さんを不快にさせてしまい、申し訳ありませんでした。
Chrome 93.0.4577.62
です。
最初の質問だった画像の表示と、各種データ(質問時、画像保存が別物とは知りませんでした)のセーブ&ロードさえ出来れば、
後はどうにでもなると踏んでいたので、それらについてだけ、こちらで質問してしまいました。
テキストを表示したり、プレイヤーキャラクターを動かしたり、
まだ簡易版ですがワールドマップの自動生成させたり、
いわゆるNPCが動くプログラムなどは、既に組んでいます。
後はここだけなんです、問題は。
スレの皆さんを不快にさせてしまい、申し訳ありませんでした。
310デフォルトの名無しさん (アウアウウー Sa19-gByX [106.146.111.199])
2022/01/13(木) 12:34:36.45ID:v0PpJSuUa やる気はあるみたいだし不快って程じゃない
でも何がしたいのかよく分からない
保存する画像はユーザーがアップロードするの?それともcanvasに描いた内容を変換するの?
元々サーバーにある画像をわざわざDBに入れるとしたら理由が分からない
でも何がしたいのかよく分からない
保存する画像はユーザーがアップロードするの?それともcanvasに描いた内容を変換するの?
元々サーバーにある画像をわざわざDBに入れるとしたら理由が分からない
311231 (スプッッ Sd03-Ylb5 [1.75.208.200])
2022/01/13(木) 15:14:42.78ID:EndGOLp+d >>310
https://youtu.be/RKcFIg1yHOI
こちらの動画を参考に、自分なりに考えてやった結果が >>296 >>229 なんですよね。
他にやりようある、ありそうってのはわかるんですが、上手く行かないです。
https://youtu.be/RKcFIg1yHOI
こちらの動画を参考に、自分なりに考えてやった結果が >>296 >>229 なんですよね。
他にやりようある、ありそうってのはわかるんですが、上手く行かないです。
312デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/13(木) 15:18:53.58ID:BdYH6d7w0 >>309
こっちも口調が強くなってすまんな
>最初の質問だった画像の表示と、各種データ(質問時、画像保存が別物とは知りませんでした)のセーブ&ロードさえ出来れば、
今やりたい事は
@データをセーブする(localstorageまたIndexedDB)
A@で保存したデータを読み込んで、セーブした時の状態に戻す
っていう事でいいかな?
だとすると、なおさら画像をDB等に保存したい理由が分からない
もしかしてマップとかプレイヤーの『画像データ』をDBに書き込まないと
ロードした時に復元できない、って思ってる?
こっちも口調が強くなってすまんな
>最初の質問だった画像の表示と、各種データ(質問時、画像保存が別物とは知りませんでした)のセーブ&ロードさえ出来れば、
今やりたい事は
@データをセーブする(localstorageまたIndexedDB)
A@で保存したデータを読み込んで、セーブした時の状態に戻す
っていう事でいいかな?
だとすると、なおさら画像をDB等に保存したい理由が分からない
もしかしてマップとかプレイヤーの『画像データ』をDBに書き込まないと
ロードした時に復元できない、って思ってる?
313231 (スプッッ Sd03-Ylb5 [1.75.208.229])
2022/01/13(木) 16:01:24.15ID:Pj0bwTK9d314231 (スプッッ Sd03-Ylb5 [1.75.208.229])
2022/01/13(木) 16:03:06.44ID:Pj0bwTK9d あと、今やりたいことはまさしくそれです。
315デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/13(木) 16:13:19.06ID:BdYH6d7w0 >>313
よほど特殊な事情が無い限り、DBに画像データを書き込むってことはないな……
例えばマップデータだったら、動画見てると配列で定義してるよね
逆に言えば、その配列情報さえあれば、同じマップを生成する事が出来るからそれだけ保存すれば良い
そうすれば画像データよりも格段に軽い状態で保存できる
プレイヤーの位置情報とかも、座標データを書き出せばそこから位置が復元できる
で、実行環境で出来るか分からんけど
直接サーバー上にファイルを書き出せるなら、localstorageやIndexedDBに拘らなくても
極端な話、テキストとかJSONとかで書き出して
ロードする時にはそのファイルからデータを読み込んで、復元させるっていう方法も取れる
よほど特殊な事情が無い限り、DBに画像データを書き込むってことはないな……
例えばマップデータだったら、動画見てると配列で定義してるよね
逆に言えば、その配列情報さえあれば、同じマップを生成する事が出来るからそれだけ保存すれば良い
そうすれば画像データよりも格段に軽い状態で保存できる
プレイヤーの位置情報とかも、座標データを書き出せばそこから位置が復元できる
で、実行環境で出来るか分からんけど
直接サーバー上にファイルを書き出せるなら、localstorageやIndexedDBに拘らなくても
極端な話、テキストとかJSONとかで書き出して
ロードする時にはそのファイルからデータを読み込んで、復元させるっていう方法も取れる
316231 (スプッッ Sd03-Ylb5 [1.75.208.229])
2022/01/13(木) 16:44:42.35ID:Pj0bwTK9d 皆様、ありがとうございました。
ここに来るのがこれで最後になるよう、頑張ってみようと思います。
ここに来るのがこれで最後になるよう、頑張ってみようと思います。
317デフォルトの名無しさん (ワッチョイ 23f0-4goK [61.45.110.150])
2022/01/13(木) 20:06:01.17ID:Dm2SSKhE0 WebSockサーバーと接続し、データを受信したら次のデータを要求する様な流れで、
泥のChromeと比べてPCのChromeとEdgeは物凄く遅く、泥と比べて1/5程度の速度なのですが
configで実行速度的な物を設定出来るのでしょうか
泥は4.1の化石でもPCよりずっと早いです
泥のChromeと比べてPCのChromeとEdgeは物凄く遅く、泥と比べて1/5程度の速度なのですが
configで実行速度的な物を設定出来るのでしょうか
泥は4.1の化石でもPCよりずっと早いです
318デフォルトの名無しさん (ワッチョイ 0332-Cwx9 [133.207.66.224])
2022/01/13(木) 22:50:17.84ID:QIlO/ODF0 >>317
Chromeの開発ツールで通信速度・CPU性能を意図的に遅くすることができます。
「Chrome Network Throttling」「Chrome CPU throttling」辺りで情報が出ます。
Chromeの開発ツールで通信速度・CPU性能を意図的に遅くすることができます。
「Chrome Network Throttling」「Chrome CPU throttling」辺りで情報が出ます。
319デフォルトの名無しさん (ワッチョイ 0b2c-EgL+ [153.136.94.40])
2022/01/13(木) 23:29:03.91ID:Ia/gMc7B0 画像データは、各マス目の画像の番号の並びを保存する
例えば、1は道路・2は山・3は川とか、
さらに、1〜3の画像を保存するか、保存せずにサーバーから送るか
1,2,1
1,3,1
1,3,3
JavaScript のゲームエンジンは、Pixi.js ベースのPhaser とか。
C# なら、Unity とか
このイタリア人はPhaserで、461 の記事を書いている
https://www.emanueleferonato.com/
例えば、1は道路・2は山・3は川とか、
さらに、1〜3の画像を保存するか、保存せずにサーバーから送るか
1,2,1
1,3,1
1,3,3
JavaScript のゲームエンジンは、Pixi.js ベースのPhaser とか。
C# なら、Unity とか
このイタリア人はPhaserで、461 の記事を書いている
https://www.emanueleferonato.com/
320デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/14(金) 03:35:28.27ID:2MXtaXlm0321231 (スプッッ Sd03-Ylb5 [1.75.230.170])
2022/01/15(土) 10:23:00.28ID:S4wDIFSqd たった二日で戻ってきてしまい申し訳ありません。知恵をお貸しいただけたら幸いです。
【環境】
Android10 F-51A
Chrome 93.0.4577.62
【エラーメッセージ】
DOMException { stack: "Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.↵ at IDBOpenDBRequest.openReq.onsuccess (http://localhost:2435/storage/emulated/0/index.html:63:22)" }
【期待する結果】
データベースかオブジェクトストアを増やしたいです
index? を増やす? のは試してみましたが、自分では上手く行きませんでした。
【サンプルコード】
https://jsbin.com/zelonizugu/edit?js
【環境】
Android10 F-51A
Chrome 93.0.4577.62
【エラーメッセージ】
DOMException { stack: "Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.↵ at IDBOpenDBRequest.openReq.onsuccess (http://localhost:2435/storage/emulated/0/index.html:63:22)" }
【期待する結果】
データベースかオブジェクトストアを増やしたいです
index? を増やす? のは試してみましたが、自分では上手く行きませんでした。
【サンプルコード】
https://jsbin.com/zelonizugu/edit?js
322デフォルトの名無しさん (アウアウウー Sa19-gByX [106.146.69.221])
2022/01/15(土) 10:52:09.59ID:nH/3h8nXa かたくなにライブラリを使おうとしない理由はなに?
それだけ教えて
それだけ教えて
323231 (スプッッ Sd03-Ylb5 [1.75.230.170])
2022/01/15(土) 10:57:45.01ID:S4wDIFSqd324デフォルトの名無しさん (ブーイモ MMd9-q/K3 [202.214.231.194])
2022/01/15(土) 11:44:06.71ID:hsRAWFnHM せめてライブラリのコードを読んでマネしてみるとか
325デフォルトの名無しさん (ワッチョイ 2361-2G4o [61.214.181.68])
2022/01/15(土) 13:39:49.54ID:XtDGDCrq0 createObjectStoreだけしてcreateIndexしてない
画像データそのままぶっこむとかあほみたいなことする必要なくなった?んだし
データベースの基本が分かってないならlocalStorageに戻れば?
画像データそのままぶっこむとかあほみたいなことする必要なくなった?んだし
データベースの基本が分かってないならlocalStorageに戻れば?
326231 (スプッッ Sd03-Ylb5 [1.75.198.160])
2022/01/15(土) 14:22:56.89ID:+L4WFDi5d ライブラリ? とか見ても正直把握しきれず困っていましたが、力業で何とかなりました。
お世話になりました。ありがとうございました。
お世話になりました。ありがとうございました。
327デフォルトの名無しさん (ワッチョイ c55f-Krhj [14.11.8.0 [上級国民]])
2022/01/15(土) 14:23:41.37ID:gRCv6ifL0 >>321
Qitaの記事そのままコピーしてもそら動かんだろwwww
やりたいならMDNみたいなちゃんとしたチュートリアルからやれ
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB
あと何度も言うが、なるべく最小の形で実装して
細かく試しながらやれよ、動かないコードをツラツラ書いてもしょうがないだろ
Qitaの記事そのままコピーしてもそら動かんだろwwww
やりたいならMDNみたいなちゃんとしたチュートリアルからやれ
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB
あと何度も言うが、なるべく最小の形で実装して
細かく試しながらやれよ、動かないコードをツラツラ書いてもしょうがないだろ
328デフォルトの名無しさん (ワッチョイ 0332-Cwx9 [133.207.66.224])
2022/01/15(土) 15:38:38.42ID:ZBFGEo1/0 >>231
問題がぐちゃぐちゃに絡み合ってるなこれ。
a. indexedDB.open() が複数回呼ばれている(dbVersionの値もどうなるか怪しい)
b. storeName / data が途中で上書きされている(他の変数も軒並み上書きされてる)
a. により、onupgradeneeded とか db.createObjectStore の考え方がぐちゃぐちゃになる(DBのバージョン管理が全くできていない)
b. により、想定外の挙動になっている。("itemStore"を2回作ろうとしている。プライマリキーが不正になってる)
次のように変更すれば、動くと思う。
indexedDB.open() が1つになるように書き換える。(dbVersionを意識して書く)
var を使用しないように書き換える。 const を積極的に使うようにする。(const が無理な場合のみ let を使用する)
正直、 localStorage 使う方がいいと思うぞ。localStorage で容量が足りないならば、保存するデータから考え直したほうがいい。
>>322
このスレ、ライブラリの質問禁止になってる(>>1 参照)から、スレ的にはライブラリ使わないでいいと思うぞ
問題がぐちゃぐちゃに絡み合ってるなこれ。
a. indexedDB.open() が複数回呼ばれている(dbVersionの値もどうなるか怪しい)
b. storeName / data が途中で上書きされている(他の変数も軒並み上書きされてる)
a. により、onupgradeneeded とか db.createObjectStore の考え方がぐちゃぐちゃになる(DBのバージョン管理が全くできていない)
b. により、想定外の挙動になっている。("itemStore"を2回作ろうとしている。プライマリキーが不正になってる)
次のように変更すれば、動くと思う。
indexedDB.open() が1つになるように書き換える。(dbVersionを意識して書く)
var を使用しないように書き換える。 const を積極的に使うようにする。(const が無理な場合のみ let を使用する)
正直、 localStorage 使う方がいいと思うぞ。localStorage で容量が足りないならば、保存するデータから考え直したほうがいい。
>>322
このスレ、ライブラリの質問禁止になってる(>>1 参照)から、スレ的にはライブラリ使わないでいいと思うぞ
329231 (スプッッ Sd03-Ylb5 [1.75.198.160])
2022/01/15(土) 15:58:17.33ID:+L4WFDi5d >>327
自分もそのサイト参考にしたいんですが、おま環かわからないんですが、よくフリーズするんですよ。
今繋げたんですが、やっぱりこうなりました。
https://i.imgur.com/mBDXebU.jpg
>>328
アドバイスありがとうございます。
とても助かりました。
自分もそのサイト参考にしたいんですが、おま環かわからないんですが、よくフリーズするんですよ。
今繋げたんですが、やっぱりこうなりました。
https://i.imgur.com/mBDXebU.jpg
>>328
アドバイスありがとうございます。
とても助かりました。
330デフォルトの名無しさん (ワッチョイ 8d5f-PF+u [14.11.8.0 [上級国民]])
2022/01/15(土) 23:03:48.55ID:gRCv6ifL0 >>329
こういうと元も子もないないけど、
初学者なら一回ちゃんとPC環境で落ち着いて開発した方が良くないか?
PC版開発⇒Android環境で動作するようにテスト&修正っていう方がやりやすいぞ
(MDNのサイトをAndroidで見てる辺り、ちょっと開発環境が気になった)
こういうと元も子もないないけど、
初学者なら一回ちゃんとPC環境で落ち着いて開発した方が良くないか?
PC版開発⇒Android環境で動作するようにテスト&修正っていう方がやりやすいぞ
(MDNのサイトをAndroidで見てる辺り、ちょっと開発環境が気になった)
331デフォルトの名無しさん (ワッチョイ 6b2c-yR06 [153.136.94.40])
2022/01/15(土) 23:42:23.10ID:iJzr35B10 >1 に書いてある、
>(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
たぶん、これは元々無かったのに、荒らしが勝手に入れた。
荒らしはテンプレを勝手に改変して、自分が有利な話題だけに絞る。
自分が嫌な話題をさせないように邪魔する
荒らしは必ず、2回以上書き込んで複数人いるように思わせる。
それで、議論を自分が有利な方向へ持っていく
Python のすべてのスレのテンプレも、荒らしが改変している。
>・当スレにRubyのソースコード類を書くことを禁ず
>・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
>・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
テンプレ荒らし。
ずっと、荒らしがスレを立てて、テンプレを毎回改変してくる
それをそのまま使っちゃいけない。
必ず削除するか、別のスレを立て直す
この辺の対策は、漏れらは散々やってきた
>(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
たぶん、これは元々無かったのに、荒らしが勝手に入れた。
荒らしはテンプレを勝手に改変して、自分が有利な話題だけに絞る。
自分が嫌な話題をさせないように邪魔する
荒らしは必ず、2回以上書き込んで複数人いるように思わせる。
それで、議論を自分が有利な方向へ持っていく
Python のすべてのスレのテンプレも、荒らしが改変している。
>・当スレにRubyのソースコード類を書くことを禁ず
>・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
>・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
テンプレ荒らし。
ずっと、荒らしがスレを立てて、テンプレを毎回改変してくる
それをそのまま使っちゃいけない。
必ず削除するか、別のスレを立て直す
この辺の対策は、漏れらは散々やってきた
332デフォルトの名無しさん (ブーイモ MMf1-n9Fx [210.138.179.69])
2022/01/15(土) 23:53:50.82ID:6cYxC8yoM そこでつまづいてるならライブラリ使った方がいいと思うぞ
一応コピペしたら使えるlocalforageのテストコード貼っとくから
あくまでテストコードだからPromise.allとか使ってないけど
https://pastebin.com/f5FtchSD
一応コピペしたら使えるlocalforageのテストコード貼っとくから
あくまでテストコードだからPromise.allとか使ってないけど
https://pastebin.com/f5FtchSD
333331 (ワッチョイ 6b2c-yR06 [153.136.94.40])
2022/01/16(日) 01:28:59.06ID:RG8YDX1E0 初心者は、Ruby, jQuery, Lodash みたいな簡単な言語・ライブラリなどを使うと、
時間を削減できて、その分を勉強に回せる
だから荒らしは、それを出来ないように制限してくる。
初心者が勉強して上達するのが嫌なんだろう。
自分が不利になるから
それで、あちこちのスレで、ずっとRuby, jQuery, Lodash 禁止のテンプレを作っている。
漏れらは散々、それらの荒らしと戦ってきた
時間を削減できて、その分を勉強に回せる
だから荒らしは、それを出来ないように制限してくる。
初心者が勉強して上達するのが嫌なんだろう。
自分が不利になるから
それで、あちこちのスレで、ずっとRuby, jQuery, Lodash 禁止のテンプレを作っている。
漏れらは散々、それらの荒らしと戦ってきた
334デフォルトの名無しさん (ワッチョイ 8d5f-+/2w [14.10.58.225])
2022/01/16(日) 02:54:37.36ID:v/bsDKuq0 どの言語でもRubyをゴリ押しするアホが居たからだろ。
335デフォルトの名無しさん (ワッチョイ 8d5f-PF+u [14.11.8.0 [上級国民]])
2022/01/16(日) 03:56:51.32ID:tdI2bixr0 RubyガイジがRubyスレ以外の言語で現れるからだろ
しかも質問に対して「Rubyでは〜」って言ってRubyのコード貼り付けるし
言い方が悪いけど、Ruby布教したいなら大人しくRubyスレだけでやってくれよ
しかも質問に対して「Rubyでは〜」って言ってRubyのコード貼り付けるし
言い方が悪いけど、Ruby布教したいなら大人しくRubyスレだけでやってくれよ
336デフォルトの名無しさん (ワッチョイ e336-+/CL [123.48.234.219])
2022/01/16(日) 06:23:17.74ID:69vcad0C0 何でネットに仲間意識があるんだろう?
不思議だな、リアルに仲間が居ないのか?
不思議だな、リアルに仲間が居ないのか?
337デフォルトの名無しさん (ワッチョイ 8d5f-xVqy [14.11.194.224])
2022/01/16(日) 06:38:19.21ID:Lkv6MjG/0 前も言ったがrubyスレでpythonの話してもいいっていうなら考える余地がある
現状自分に都合のいい事押し付けてるだけ
現状自分に都合のいい事押し付けてるだけ
338デフォルトの名無しさん (ワッチョイ cd10-76Y4 [180.12.82.129])
2022/01/17(月) 01:32:28.96ID:2Ob1kDrm0 element.addEventListener(
"toucstart",
function(e){
setTimeout(
function(){
document.addEventListener('touchmove', disableScroll, { passive: false });
}
,
2000
);
}
);
function disableScroll(e) {
e.preventDefault();
}
elementを2秒以上タッチしたらスクロール禁止にしたいんだけどうまくいきません
どうすればいいんですか?
"toucstart",
function(e){
setTimeout(
function(){
document.addEventListener('touchmove', disableScroll, { passive: false });
}
,
2000
);
}
);
function disableScroll(e) {
e.preventDefault();
}
elementを2秒以上タッチしたらスクロール禁止にしたいんだけどうまくいきません
どうすればいいんですか?
339デフォルトの名無しさん (ワッチョイ cd10-76Y4 [180.12.82.129])
2022/01/17(月) 01:33:54.40ID:2Ob1kDrm0 訂正:touchstartです
340デフォルトの名無しさん (ワッチョイ 6b2c-Nrkm [153.136.94.40])
2022/01/17(月) 01:52:23.96ID:fRpijKvH0 長押しか
Lodash に、そういう関数が無いか?
Lodash に、そういう関数が無いか?
341デフォルトの名無しさん (ワッチョイ 0b01-frwW [1.112.121.98])
2022/01/17(月) 02:08:44.57ID:HXNtZOIm0342デフォルトの名無しさん (ワッチョイ cd10-pleP [180.12.82.129])
2022/01/17(月) 08:35:06.65ID:2Ob1kDrm0 >>341
2秒以上押している間処理実行という場合はどうしたらいいんですか?
2秒以上押している間処理実行という場合はどうしたらいいんですか?
343デフォルトの名無しさん (ワッチョイ 0b01-frwW [1.112.121.98])
2022/01/17(月) 11:30:42.13ID:HXNtZOIm0 >>342
「toucstartからtoucendまでの間」が押している間
「toucstartからtoucendまでの間」が押している間
344デフォルトの名無しさん (ワッチョイ cd10-pleP [180.12.82.129])
2022/01/17(月) 12:20:33.86ID:2Ob1kDrm0345デフォルトの名無しさん (ブーイモ MM4b-n9Fx [163.49.201.49])
2022/01/17(月) 12:35:37.47ID:46yYb1/oM だからtouchstartから2秒以内にtouchendが無ければ長押し判定でしょ
346デフォルトの名無しさん (ワッチョイ 0b01-frwW [1.112.121.98])
2022/01/17(月) 13:25:59.68ID:HXNtZOIm0347デフォルトの名無しさん (ワッチョイ 1d61-pjxc [60.38.62.97])
2022/01/17(月) 14:12:06.81ID:KLYqBwLr0 スクロール始まる前のtouchmoveならpreventDefaultでスクロール禁止できるけど
一旦スクロール開始しちゃったら後のtouchmoveでpreventDefaultしてもスクロールキャンセルできない臭い
一旦スクロール開始しちゃったら後のtouchmoveでpreventDefaultしてもスクロールキャンセルできない臭い
348デフォルトの名無しさん (ワッチョイ 4332-sTIO [133.207.66.224])
2022/01/17(月) 14:43:40.87ID:/IOfqNlx0 >>338
こゆこと?
指がtouchstartから2秒以上同じ位置に停止していた場合、その後touchend(指を離す)までに発生したtouchmove(スクロール)を中止する。
var element = document.getElementById('element');
let timer, flag = false;
element.addEventListener('touchstart', function(event) {
timer = setTimeout(function() { flag = true; }, 2000);
});
element.addEventListener('touchend', function(event) {
timer = clearTimeout(timer);
flag = false;
});
document.addEventListener('touchmove', function(event) {
if (flag) { event.preventDefault(); }
else if (timer) { timer = clearTimeout(timer); }
}, {passive:false});
>>347
touchmoveが一旦開始すると以降キャンセル不可になるみたいだな
こゆこと?
指がtouchstartから2秒以上同じ位置に停止していた場合、その後touchend(指を離す)までに発生したtouchmove(スクロール)を中止する。
var element = document.getElementById('element');
let timer, flag = false;
element.addEventListener('touchstart', function(event) {
timer = setTimeout(function() { flag = true; }, 2000);
});
element.addEventListener('touchend', function(event) {
timer = clearTimeout(timer);
flag = false;
});
document.addEventListener('touchmove', function(event) {
if (flag) { event.preventDefault(); }
else if (timer) { timer = clearTimeout(timer); }
}, {passive:false});
>>347
touchmoveが一旦開始すると以降キャンセル不可になるみたいだな
349デフォルトの名無しさん (ワッチョイ cd10-pleP [180.12.82.129])
2022/01/17(月) 18:08:34.74ID:2Ob1kDrm0350デフォルトの名無しさん (ブーイモ MM4b-R5ER [163.49.207.124])
2022/01/17(月) 18:35:14.87ID:S5612HsoM touchstartでグローバル変数にsetTimeoutを格納した上で、touchendでclrarTimeoutすれば、clearされない場合にのみdisableScroll()が実行される
351デフォルトの名無しさん (アウアウウー Sa21-jKne [106.146.48.51])
2022/01/17(月) 20:48:15.45ID:n9KL/cV4a 同じ要素が複数あるときに、スクロールした場所だけにactiveを付与する方法ってないでしょうか?
例えば、pタグが等間隔に10個ほど並んでいて、その場所までスクロールしたらそのタグだけにaddClassを実行。それをスクロールする度に実行するという感じです。
該当のタグ全てに連番でclassを振るという方法から始めてみましたが、「今スクロールが到達しているpタグだけにaddClass」という
振り分けが分からず苦戦しております。
どうかお知恵をお借りできたら嬉しいです
例えば、pタグが等間隔に10個ほど並んでいて、その場所までスクロールしたらそのタグだけにaddClassを実行。それをスクロールする度に実行するという感じです。
該当のタグ全てに連番でclassを振るという方法から始めてみましたが、「今スクロールが到達しているpタグだけにaddClass」という
振り分けが分からず苦戦しております。
どうかお知恵をお借りできたら嬉しいです
352デフォルトの名無しさん (ワッチョイ 1d61-pjxc [60.38.62.97])
2022/01/17(月) 21:02:08.36ID:KLYqBwLr0 >>351
IntersectionObserver
IntersectionObserver
353デフォルトの名無しさん (ワッチョイ 6b2c-Nrkm [153.136.94.40])
2022/01/17(月) 23:24:28.34ID:fRpijKvH0 「javascript スクロールしたら表示」で検索!
jQuery のscrollTop() を使うのかな?
jQuery のscrollTop() を使うのかな?
354デフォルトの名無しさん (ワッチョイ 4502-jKne [106.167.62.121])
2022/01/17(月) 23:52:07.20ID:sHRIiBJ+0355デフォルトの名無しさん (ワッチョイ 6bdb-9BXF [217.178.96.78])
2022/01/18(火) 16:54:34.98ID:k8xAul1v0 ユーゲンガルグ関数がわからん。
356デフォルトの名無しさん (スフッ Sd03-oY3f [49.106.200.84])
2022/01/18(火) 17:00:08.36ID:qIbLvF83d めちゃくちゃ素人質問で申し訳ないんだけど複数のbuttonがある状態で押されたボタンのvalue要素を取得する事ってできる?
他との問題でボタンにidを付与出来ないからclassとnameを使ってなんとかしようとしてたんだけどサッパリわからん……
他との問題でボタンにidを付与出来ないからclassとnameを使ってなんとかしようとしてたんだけどサッパリわからん……
357デフォルトの名無しさん (ワッチョイ 7501-frwW [114.48.57.211])
2022/01/18(火) 18:05:16.94ID:LpXG9iMK0 >>356
event.target.value
event.target.value
358デフォルトの名無しさん (ワッチョイ 4332-sTIO [133.207.66.224])
2022/01/18(火) 18:14:12.29ID:i9X1I8m+0 >>356
this.value
this.value
359デフォルトの名無しさん (ワッチョイ 056e-KU5Q [138.64.80.208])
2022/01/18(火) 19:33:28.72ID:J9BuAn5e0 javascriptでマウスクリックできますか?
360デフォルトの名無しさん (ワッチョイ 7501-frwW [114.48.57.211])
2022/01/18(火) 20:52:58.76ID:LpXG9iMK0 >>359
ボタン等の特定要素にはclickメソッドがある
https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/click
clickイベント発火でよければ
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent
ボタン等の特定要素にはclickメソッドがある
https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/click
clickイベント発火でよければ
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent
361デフォルトの名無しさん (ワッチョイ 6b2c-Nrkm [153.136.94.40])
2022/01/18(火) 22:37:22.43ID:JAqSdPQV0 >>354
>対象のセレクターが、複数ある時に使えなくて
HTML,CSS,Javascript スクロールしたらふわっと表示(jQueryなし)
https://notetoself-dy.com/javascript-scroll/
このサイトでは、すべてのup クラスが付いた要素を、
1つずつループして、show クラスを付けている
<div class="up op">表示1</div>
<div class="up op">表示2</div>
>対象のセレクターが、複数ある時に使えなくて
HTML,CSS,Javascript スクロールしたらふわっと表示(jQueryなし)
https://notetoself-dy.com/javascript-scroll/
このサイトでは、すべてのup クラスが付いた要素を、
1つずつループして、show クラスを付けている
<div class="up op">表示1</div>
<div class="up op">表示2</div>
362デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/20(木) 21:45:57.61ID:RhIW6qPa0 javascriptで特定のクラス内の文字列をカットしたいです。
.containerの子要素である、.textをターゲットにしたいです。
しかし、container外にも.textがある可能性も考えられます。
ターゲットをcontainer内に絞るには、どんな関数を組めばいいでしょうか?
https://jsfiddle.net/bgegg/gf324bha/2/
.containerの子要素である、.textをターゲットにしたいです。
しかし、container外にも.textがある可能性も考えられます。
ターゲットをcontainer内に絞るには、どんな関数を組めばいいでしょうか?
https://jsfiddle.net/bgegg/gf324bha/2/
363デフォルトの名無しさん (ワッチョイ 1d61-pjxc [60.38.62.97])
2022/01/20(木) 22:05:50.35ID:NuVLsXYX0 function textCutting(selector) {
const limited_number = 7;
document.querySelectorAll(selector).forEach(node => {
node.textContent = node.textContent.trim().substr(0, limited_number);
});
}
textCutting("#container > .text");
const limited_number = 7;
document.querySelectorAll(selector).forEach(node => {
node.textContent = node.textContent.trim().substr(0, limited_number);
});
}
textCutting("#container > .text");
364デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/21(金) 19:52:13.30ID:rIwZ3iU60365デフォルトの名無しさん (ブーイモ MMf1-R5ER [210.138.176.220])
2022/01/21(金) 19:59:06.53ID:SSxUhBiBM >>364
釣りなのか?
釣りなのか?
366デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/21(金) 20:07:10.92ID:9UlpI2W40 >>364
コードの関数名でぐぐって調べないからそういう質問がでてくる >querySelectorAll
コードの関数名でぐぐって調べないからそういう質問がでてくる >querySelectorAll
367デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/21(金) 20:35:43.67ID:rIwZ3iU60 そうでした すみません
上の例でいうselecterは親要素のセレクタのことだったんですね
上の例でいうselecterは親要素のセレクタのことだったんですね
368デフォルトの名無しさん (ワッチョイ 637d-fkY6 [157.65.232.142])
2022/01/21(金) 21:49:18.45ID:g1zNjN8q0 一次配列をmatchメソッドみたいに正規表現で検索して、適合するすべての値を返すのってどう書けばいいんですか?
[ あ,い,う,え,お,あか,いし ] ←この配列を/[あい].*?/で検索して[ あ,い,あか,いし ]みたいな結果を得たい
joinメソッドで文字列化してmatchメソッドつかわずに「一次配列を検索」したいんです
[ あ,い,う,え,お,あか,いし ] ←この配列を/[あい].*?/で検索して[ あ,い,あか,いし ]みたいな結果を得たい
joinメソッドで文字列化してmatchメソッドつかわずに「一次配列を検索」したいんです
369デフォルトの名無しさん (ワッチョイ 6361-pjxc [221.189.66.149])
2022/01/21(金) 21:55:09.36ID:b7lSBqdq0 >>368
["あ","い","う","え","お","あか","いし"].filter(s => /[あい].*?/.test(s));
["あ","い","う","え","お","あか","いし"].filter(s => /[あい].*?/.test(s));
370デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/21(金) 21:57:35.84ID:9UlpI2W40 >>368
filterとtest
filterとtest
371デフォルトの名無しさん (ワッチョイ 637d-fkY6 [157.65.232.142])
2022/01/21(金) 22:12:34.42ID:g1zNjN8q0372デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/22(土) 14:09:45.81ID:NNleZLfU0 要素内から複数の要素(例えば同じクラス名を持つ要素)などを取ってくる場合、htmlcollectionとnodelistのどちらを使うんでしょうか?
どちらということはなく、nodelistの下位にある構造がhtmlcollectionかなとも考えています。
どちらということはなく、nodelistの下位にある構造がhtmlcollectionかなとも考えています。
373デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 14:12:22.41ID:tKSIbGor0374デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/22(土) 14:44:09.28ID:NNleZLfU0 https://ideone.com/vndbec
https://i.imgur.com/8k3fQ2F.jpg
まず親要素を取り、その後子要素にアクセスしようとしたんですが、foreachは使えないみたいです。
childrenが配列になっていないからかなと思うんですが、インスペクタ見ると配列にはなっているようですが、なぜでしょうか?
>>373
ではhtmlcollection使うことにします。なんとなくとっつきやすかったので。
https://i.imgur.com/8k3fQ2F.jpg
まず親要素を取り、その後子要素にアクセスしようとしたんですが、foreachは使えないみたいです。
childrenが配列になっていないからかなと思うんですが、インスペクタ見ると配列にはなっているようですが、なぜでしょうか?
>>373
ではhtmlcollection使うことにします。なんとなくとっつきやすかったので。
375デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 14:58:17.72ID:tKSIbGor0376デフォルトの名無しさん (ブーイモ MM4b-R5ER [163.49.215.211])
2022/01/22(土) 15:34:49.54ID:SQae85PjM childrenに格納されているhtmlCollectionにはforEachメソッドがないので、下記のように書く必要がある
[...children].forEach()
[...children].forEach()
377デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/22(土) 15:50:34.18ID:NNleZLfU0378デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/22(土) 15:56:19.54ID:NNleZLfU0379デフォルトの名無しさん (ワッチョイ 4332-sTIO [133.207.66.224])
2022/01/22(土) 16:13:03.92ID:LEmRhRzh0 >>378
スプレッド構文
スプレッド構文
380デフォルトの名無しさん (ワッチョイ fbcb-9BXF [223.132.4.34])
2022/01/22(土) 16:45:48.19ID:NNleZLfU0381デフォルトの名無しさん (ブーイモ MM4b-R5ER [163.49.211.231])
2022/01/22(土) 16:57:04.97ID:cpTU2V8CM 特別な理由がない限り、letやforの利用を控えることをオススメする
無意味な状態や副作用をできるだけ排除する構成を心がけよう
無意味な状態や副作用をできるだけ排除する構成を心がけよう
382デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 17:05:10.48ID:tKSIbGor0 >>380
あなたは「何を使うべきか」よりも「どんな機能なのか」を把握することから始めた方が良い
NodeListとHTMLCollectionの選択でHTMLCollectionを選択したかと思えば、HTMLCollectionを理解してないから使いこなせない
理解する前に選択するからそうなる
俺はHTMLCollectionではfor文を使ってるが、特徴を理解していれば何の問題もない
NodeListならfpr-ofを使ってもよい
理解さえしていれば、自ずと選択が出来る
NodeList、HTMLCollection、スプレッド構文、..,etc を理解してから悩むべきだ
あなたは「何を使うべきか」よりも「どんな機能なのか」を把握することから始めた方が良い
NodeListとHTMLCollectionの選択でHTMLCollectionを選択したかと思えば、HTMLCollectionを理解してないから使いこなせない
理解する前に選択するからそうなる
俺はHTMLCollectionではfor文を使ってるが、特徴を理解していれば何の問題もない
NodeListならfpr-ofを使ってもよい
理解さえしていれば、自ずと選択が出来る
NodeList、HTMLCollection、スプレッド構文、..,etc を理解してから悩むべきだ
383デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 17:07:49.25ID:tKSIbGor0 × NodeListならfpr-ofを使ってもよい
○ NodeListならfor-ofを使ってもよい
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...of
○ NodeListならfor-ofを使ってもよい
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...of
384デフォルトの名無しさん (アウアウクー MM99-nEfH [36.11.228.57])
2022/01/22(土) 17:17:07.24ID:JjDEqDMvM >>381
普通のforで回すよりfor...inとかfor...ofで回した方が要素すぐ扱えて記述少なくて済むのは置いといて
letはvarより使わない方が良いの?
それともforのインデックス用の i を使わない方がシンプルで良いという限定的な条件での話?
普通のforで回すよりfor...inとかfor...ofで回した方が要素すぐ扱えて記述少なくて済むのは置いといて
letはvarより使わない方が良いの?
それともforのインデックス用の i を使わない方がシンプルで良いという限定的な条件での話?
385デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 17:27:40.96ID:tKSIbGor0386デフォルトの名無しさん (ブーイモ MM4b-R5ER [163.49.211.231])
2022/01/22(土) 17:37:01.92ID:cpTU2V8CM >>384
現状のvarは「互換性のために残されている」のであって、利用禁止が大前提
その上で、どうしてもconstにできない特別な理由がある場合にだけletを使うってこと
さらにその延長で、forについても使わずに済むなら使わない方が良いってこと
現状のvarは「互換性のために残されている」のであって、利用禁止が大前提
その上で、どうしてもconstにできない特別な理由がある場合にだけletを使うってこと
さらにその延長で、forについても使わずに済むなら使わない方が良いってこと
387デフォルトの名無しさん (ワッチョイ cdad-9BXF [110.129.161.126])
2022/01/22(土) 17:56:17.90ID:QY+Rk2d60 letもforもどんどん使いなさい
388デフォルトの名無しさん (ワッチョイ 2d01-frwW [36.240.122.28])
2022/01/22(土) 17:59:22.62ID:tKSIbGor0 理由不明な禁止ルールを受け入れるようになると、赤の他人の意見を鵜呑みにしておかしなことになるからお勧めはしない
非推奨理由を読んで、受け入れるか判断するのがいいと俺は思う
非推奨理由を読んで、受け入れるか判断するのがいいと俺は思う
389デフォルトの名無しさん (アウアウアー Saab-uYS0 [27.85.205.139])
2022/01/22(土) 19:12:13.08ID:a9ljOduXa >>386
なるほど了解。
普通のforで回して処理するよりsomeとかreduceとかのほうが何の処理しようとしてるかわかりやすいしね。
varはブロック内からでもグローバル変数になるからどこから変数内容変更されてるか分かりにくくなり易いから良くないね
なるほど了解。
普通のforで回して処理するよりsomeとかreduceとかのほうが何の処理しようとしてるかわかりやすいしね。
varはブロック内からでもグローバル変数になるからどこから変数内容変更されてるか分かりにくくなり易いから良くないね
390デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/22(土) 19:44:53.36ID:NNleZLfU0 >>382
はい
はい
391デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/22(土) 19:52:02.18ID:NNleZLfU0 ややこしいのでfor文使うようにします(´・ω・`)、、、
392デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/22(土) 19:57:06.18ID:NNleZLfU0 あっ、for of いいですね。
htmlcollectionでなぜforeachが駄目なのか謎ですが。
htmlcollectionでなぜforeachが駄目なのか謎ですが。
393デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/22(土) 20:26:37.27ID:NNleZLfU0 vscodeについて質問です。
javascriptの補完は完全ではないのでしょうか?
以下のコードのtextContentの部分は候補に出ません。
https://ideone.com/VWu28k
javascriptの補完は完全ではないのでしょうか?
以下のコードのtextContentの部分は候補に出ません。
https://ideone.com/VWu28k
394デフォルトの名無しさん (ブーイモ MM6b-jmS0 [163.49.203.185])
2022/01/22(土) 20:44:09.65ID:DzShGNE/M ここはvscodeスレじゃない
一応答えておくとjavascriptは動的型付けなので常に補完が出る訳じゃない
そういうのを求めてるならtypescriptを使う
一応答えておくとjavascriptは動的型付けなので常に補完が出る訳じゃない
そういうのを求めてるならtypescriptを使う
395デフォルトの名無しさん (ブーイモ MM6b-hXQo [163.49.210.212])
2022/01/22(土) 20:47:52.03ID:yE/sDV/tM 今回は「使えないみたいです」って聞き方ではないのねw
MDNをよく読んだ上で、実際にどう動くのかをブラウザのコンソールで繰り返し施行するといい
MDNをよく読んだ上で、実際にどう動くのかをブラウザのコンソールで繰り返し施行するといい
396デフォルトの名無しさん (ワッチョイ f501-weGE [126.3.43.63])
2022/01/22(土) 21:59:01.76ID:0B2OkF2o0 >>392
HTMLCollectionはArrayのPrototypeを持ってないからforEachはつかえない。
HTMLCollectionでforEachを使いたいなら、Array.Prototype.forEach.callとか。
HTMLCollectionはArrayのPrototypeを持ってないからforEachはつかえない。
HTMLCollectionでforEachを使いたいなら、Array.Prototype.forEach.callとか。
397デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/23(日) 09:03:46.77ID:ltsaqaCQ0 >>396
どちらも配列だと思うんですが、なぜhtmlcollectionだけ使えないのかが分かりません
どちらも配列だと思うんですが、なぜhtmlcollectionだけ使えないのかが分かりません
398デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/23(日) 09:04:54.18ID:ltsaqaCQ0 javascriptを書くとき、関数名などに続けて波括弧を書いたほうがわかりやすいと思いますか?
function func(){
console.log("hoge");
}
以下のようにしたほうが構造が分かりやすくないですか?
function func()
{
console.log("hoge");
}
function func(){
console.log("hoge");
}
以下のようにしたほうが構造が分かりやすくないですか?
function func()
{
console.log("hoge");
}
399デフォルトの名無しさん (アウアウウー Sa29-IHB+ [106.146.75.129])
2022/01/23(日) 09:10:19.94ID:pqnTeOnra JavaScriptで配列とはArrayのこと
"配列っぽい"ことと"配列である"ことは全然違う
逆に聞くけどどうやって両方配列であると判断したの?
"配列っぽい"ことと"配列である"ことは全然違う
逆に聞くけどどうやって両方配列であると判断したの?
400デフォルトの名無しさん (ワッチョイ 4bcf-X7eg [153.161.201.240])
2022/01/23(日) 09:20:24.21ID:qS6ibVNz0 >"配列っぽい"ことと"配列である"ことは全然違う
初めてやる人にはそんなこと思いもよらないだろうしな
初めてやる人にはそんなこと思いもよらないだろうしな
401デフォルトの名無しさん (ワッチョイ 1bcb-4V6Q [223.132.4.34])
2022/01/23(日) 09:21:45.33ID:ltsaqaCQ0402デフォルトの名無しさん (ワッチョイ 7501-3f/3 [36.240.122.28])
2022/01/23(日) 10:15:35.55ID:h5wOxsBg0 >>398
配列とは new Arrayもしくは [] のこと
new ArrayでforEachを使えるのはプロパティ参照時に Array.prototype.forEachを参照するから
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
プロトタイプチェーンを理解すべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
配列とは new Arrayもしくは [] のこと
new ArrayでforEachを使えるのはプロパティ参照時に Array.prototype.forEachを参照するから
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
プロトタイプチェーンを理解すべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
403デフォルトの名無しさん (ワッチョイ 7501-3f/3 [36.240.122.28])
2022/01/23(日) 10:16:08.20ID:h5wOxsBg0 >>399
いわんとすることは分かるが、厳密にはArrayは配列ではない
new ArrayをArrayと書くと誤解を招く
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
いわんとすることは分かるが、厳密にはArrayは配列ではない
new ArrayをArrayと書くと誤解を招く
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
404デフォルトの名無しさん (ワッチョイ 4bdb-4V6Q [217.178.96.78])
2022/01/23(日) 11:26:44.19ID:cv61Nq9M0405デフォルトの名無しさん (ワッチョイ 4b2c-z3gx [153.136.94.40])
2022/01/24(月) 05:35:59.89ID:VeWznQkJ0 >>362
.container の子要素(子孫を含めない・直下のみ)である、.text は、.container > .text
親と子を、別々に取得するなら、jQuery で、
<div class="aaa">
<div class="xxx">ああ</div>
<div class="yyy">いい</div>
<div class="xxx">うう</div>
</div>
<div class="aaa">
<div class="xxx">111</div>
<div class="xxx">222</div>
</div>
const parents = $( '.aaa' )
// 子の中で、xxx クラスのものだけを取得する
const children = parents.children( '.xxx' )
children.each( function( ) {
console.log( $( this ).text( ) )
} );
これで、ああ・うう・111・222 が表示されて、
「いい」だけは表示されない
初心者は、素のJavaScript(JS)で書かずに、jQueryを使った方がよい。
JSで書くと、可読性も悪いし、バグってばかりで時間を損する
.container の子要素(子孫を含めない・直下のみ)である、.text は、.container > .text
親と子を、別々に取得するなら、jQuery で、
<div class="aaa">
<div class="xxx">ああ</div>
<div class="yyy">いい</div>
<div class="xxx">うう</div>
</div>
<div class="aaa">
<div class="xxx">111</div>
<div class="xxx">222</div>
</div>
const parents = $( '.aaa' )
// 子の中で、xxx クラスのものだけを取得する
const children = parents.children( '.xxx' )
children.each( function( ) {
console.log( $( this ).text( ) )
} );
これで、ああ・うう・111・222 が表示されて、
「いい」だけは表示されない
初心者は、素のJavaScript(JS)で書かずに、jQueryを使った方がよい。
JSで書くと、可読性も悪いし、バグってばかりで時間を損する
406デフォルトの名無しさん (ブーイモ MMb9-Hf9d [210.138.176.169])
2022/01/24(月) 07:11:58.20ID:bR7FKfqoM ハゲは、素のjQueryで書かずに、Javascript(JS)を使った方がよい。
jQueryで書くと、プログラミングの本質が理解できていないままだし、ハゲてばかりで毛を損する
jQueryで書くと、プログラミングの本質が理解できていないままだし、ハゲてばかりで毛を損する
407デフォルトの名無しさん (ワッチョイ cd33-4V6Q [58.188.87.43])
2022/01/24(月) 17:37:07.00ID:LBRFFVWL0 初心者こそjQuery使わずに書くべき
408デフォルトの名無しさん (ワッチョイ 9510-NoeV [180.12.82.129])
2022/01/25(火) 18:13:09.23ID:xKqTlXah0 element.addEventListner(
"click",
function(e){
clearInterval(timer_id);
var timer_id = setInterval(test_func,1000);
}
);
このようにクリックしたとき前回起動したsetIntervalを削除して
新しいsetIntervalをセットしたいんだけど、前回のtimer_idが取得できないのでうまくいきません
どのようにすればできますか?
"click",
function(e){
clearInterval(timer_id);
var timer_id = setInterval(test_func,1000);
}
);
このようにクリックしたとき前回起動したsetIntervalを削除して
新しいsetIntervalをセットしたいんだけど、前回のtimer_idが取得できないのでうまくいきません
どのようにすればできますか?
409デフォルトの名無しさん (ワッチョイ 7501-3f/3 [36.240.125.131])
2022/01/25(火) 18:53:59.98ID:d2MfevVf0 >>408
handleEventプロパティを持つオブジェクトにタイマーidを保存する
handleEventプロパティを持つオブジェクトにタイマーidを保存する
410デフォルトの名無しさん (ワッチョイ f501-Cd+L [126.4.159.20])
2022/01/25(火) 20:54:59.74ID:MGjq+ZUh0 JavascriptってJavaより簡単って聞いたけど、html絡んでくるから難しくないですか?
411デフォルトの名無しさん (ブーイモ MM6b-hXQo [163.49.201.11])
2022/01/25(火) 21:56:30.40ID:Il9sj+JJM412デフォルトの名無しさん (ワッチョイ 9510-i5gI [180.12.82.129])
2022/01/25(火) 22:43:16.96ID:xKqTlXah0 >>409>>411
できましたありがとー
また質問だけどsetIntervalとwindow.scrollByを使って自動スクロール中に
手動でスクロールするとclearIntervalで自動スクロールを止めるようにしたいんだけど
自動スクロールも手動スクロールもaddEventListner("scroll",function(e){})が発動して
区別をつけることができないんだけどどうすればいいですか?
できましたありがとー
また質問だけどsetIntervalとwindow.scrollByを使って自動スクロール中に
手動でスクロールするとclearIntervalで自動スクロールを止めるようにしたいんだけど
自動スクロールも手動スクロールもaddEventListner("scroll",function(e){})が発動して
区別をつけることができないんだけどどうすればいいですか?
413デフォルトの名無しさん (オッペケ Sr41-zaZ3 [126.158.250.9])
2022/01/25(火) 23:01:22.01ID:5lVpkzkKr >>410
WebAPI使わなければいいんでない?
WebAPI使わなければいいんでない?
414デフォルトの名無しさん (ブーイモ MM6b-hXQo [163.49.201.11])
2022/01/26(水) 01:23:00.34ID:I/6zw4/PM >>412
e.isTrusted で区別できるかも
e.isTrusted で区別できるかも
415デフォルトの名無しさん (ワッチョイ 9510-i5gI [180.12.82.129])
2022/01/26(水) 12:30:28.07ID:XmTyDG1O0 >>414
やってみたけど自動でも手動もでtrueだったので判別できませんでした
やってみたけど自動でも手動もでtrueだったので判別できませんでした
416デフォルトの名無しさん (ワッチョイ 7501-3f/3 [36.240.125.131])
2022/01/26(水) 12:40:07.38ID:9OS9fT5f0 >>412
自動スクロール中のフラグを作成して、フラグ管理すれば良い
自動スクロール中のフラグを作成して、フラグ管理すれば良い
417デフォルトの名無しさん (ワッチョイ 4d61-V3GB [122.16.165.244])
2022/01/26(水) 13:12:16.31ID:bkHBqHOK0 >>412
wheel, mousedown、keydownイベントで止めるとか
wheel, mousedown、keydownイベントで止めるとか
418デフォルトの名無しさん (ワッチョイ 7501-3f/3 [36.240.125.131])
2022/01/27(木) 11:57:20.38ID:ZSUaXKzX0 >>417
mousedownはオート・スクロール・モードのことか
https://atmarkit.itmedia.co.jp/fwin2k/win2ktips/759autoscroll/autoscroll.html
2アクション必要だから、モード検知がやや複雑化しそうだな…
---
自動スクロールを検知して、自動スクロール以外を手動スクロール扱いする方向で考えてた
これなら、キーバインド変更されても対応出来る
mousedownはオート・スクロール・モードのことか
https://atmarkit.itmedia.co.jp/fwin2k/win2ktips/759autoscroll/autoscroll.html
2アクション必要だから、モード検知がやや複雑化しそうだな…
---
自動スクロールを検知して、自動スクロール以外を手動スクロール扱いする方向で考えてた
これなら、キーバインド変更されても対応出来る
419デフォルトの名無しさん (ワッチョイ 1301-tVHJ [123.216.166.161])
2022/01/29(土) 02:18:01.02ID:/eUfBI510 oninput="value=value.replace(';','1')"
置換元が特定の全角記号(¥:;@等)の場合、置換先の文字が2回入力されます。
書き方の問題ですか?回避方法はありますか?
chromeとedgeで発生しました。
ieでは発生しませんでした。
置換元が特定の全角記号(¥:;@等)の場合、置換先の文字が2回入力されます。
書き方の問題ですか?回避方法はありますか?
chromeとedgeで発生しました。
ieでは発生しませんでした。
420デフォルトの名無しさん (ブーイモ MM8d-FKQo [210.138.179.136])
2022/01/29(土) 03:13:10.90ID:wMUjEsRbM KeyboardEvent.isComposingで変換中か判定したらいい
<input id="test">
const elm = document.querySelector("#test");
elm.addEventListener("keyup",(e)=>{
if(!e.isComposing){
elm.value =
e.target.value.replaceAll(";","1")
}
})
<input id="test">
const elm = document.querySelector("#test");
elm.addEventListener("keyup",(e)=>{
if(!e.isComposing){
elm.value =
e.target.value.replaceAll(";","1")
}
})
421デフォルトの名無しさん (ワッチョイ 8bdb-dw97 [217.178.96.78])
2022/01/29(土) 09:47:04.60ID:/uVNTTXR0 >>410
JavaScriptは初心者向けの簡易言語。
JavaScriptは初心者向けの簡易言語。
422デフォルトの名無しさん (ワッチョイ 13b1-21ac [123.1.38.203])
2022/01/29(土) 23:21:16.05ID:vLNLUfHR0 一応入門書を一通り終えたのでelectronでGUI作ろうと思ったら、予想以上に難しくて挫折した。
electron使いの人いる?
いたらどれだけのレベルにならないと作れないか教えて。
electron使いの人いる?
いたらどれだけのレベルにならないと作れないか教えて。
423デフォルトの名無しさん (ワッチョイ 8b2c-Cnlt [153.136.94.40])
2022/01/30(日) 00:53:12.46ID:8AeUKyTB0 >>419
Node.js で実行したら、1回しか置換されない
inText = 'あい;;ab;;12';
outText = inText.replace(';', '1');
//=> あい1;ab;;12
Node.js で実行したら、1回しか置換されない
inText = 'あい;;ab;;12';
outText = inText.replace(';', '1');
//=> あい1;ab;;12
424デフォルトの名無しさん (アウアウアー Sa8b-67Xn [27.85.207.48])
2022/01/30(日) 02:04:42.24ID:acbp/SqRa >>422
俺はelectron使いじゃないけど今本屋に並んでる2022年3月号の日経ソフトウエアでElectronでデスクトップアプリ開発特集載ってたよ
俺はelectron使いじゃないけど今本屋に並んでる2022年3月号の日経ソフトウエアでElectronでデスクトップアプリ開発特集載ってたよ
425デフォルトの名無しさん (ワッチョイ 1301-tVHJ [123.216.166.161])
2022/01/30(日) 12:10:56.23ID:5V9R/BtT0 >>420
これだと普通に置換できますね
>>423
環境によるんですかね
結局こうしました。半角の数字と半角のコロンだけ表示。
.replace(/[0-9:]/g,s => String.fromCharCode(s.charCodeAt(0) - 65248)).replace(/[^\:\d]/g,'').replace('::',':');
最後に[::]→[:]
変なやり方だと思うけど:を二回使う事は無いのでとりあえずOK
replaceどうのこうのではなくて、oninputが2回実行されてるみたいです。
oninput="value=value + 'あ'"
特定の全角記号だと「;あ;あ」、全角英字なら「;あ」
これだと普通に置換できますね
>>423
環境によるんですかね
結局こうしました。半角の数字と半角のコロンだけ表示。
.replace(/[0-9:]/g,s => String.fromCharCode(s.charCodeAt(0) - 65248)).replace(/[^\:\d]/g,'').replace('::',':');
最後に[::]→[:]
変なやり方だと思うけど:を二回使う事は無いのでとりあえずOK
replaceどうのこうのではなくて、oninputが2回実行されてるみたいです。
oninput="value=value + 'あ'"
特定の全角記号だと「;あ;あ」、全角英字なら「;あ」
426デフォルトの名無しさん (アウアウエー Sae3-Fqt4 [111.239.155.184])
2022/01/30(日) 12:57:51.16ID:hMKxlwO1a querySelector
で帰ってきたelementのメソッドでcloset()だとRoot方向にしか検索できませんがchild方向にelementを検索する方法はありますか?
で帰ってきたelementのメソッドでcloset()だとRoot方向にしか検索できませんがchild方向にelementを検索する方法はありますか?
427デフォルトの名無しさん (ワッチョイ 1333-6jTK [59.190.4.184])
2022/01/30(日) 13:01:07.63ID:/oi//KEc0 chiled方向に検索するのがquerySelectorじゃないのですか?
428デフォルトの名無しさん (アウアウエー Sae3-Fqt4 [111.239.155.184])
2022/01/30(日) 13:06:33.56ID:hMKxlwO1a >>427
documentだけじゃなくてelementに対してもquerySelectorメソッドつかえるんですね。ありがとうございます
documentだけじゃなくてelementに対してもquerySelectorメソッドつかえるんですね。ありがとうございます
429デフォルトの名無しさん (ワッチョイ eb01-Yk3C [1.112.121.19])
2022/01/30(日) 13:12:27.53ID:y4il4Rjb0430デフォルトの名無しさん (ワッチョイ 1333-6jTK [59.190.4.184])
2022/01/31(月) 12:50:53.75ID:rc3LWwE50 excelの配列数式などでAND OR の代わりに * + 等を使ったりしていましたが
javascriptの条件式のなかに&&の代わりに*を使った場合、
違いはありますでしょうか。
*だと左辺がtrueであっても右辺も評価するなどするのでしょうか。
javascriptの条件式のなかに&&の代わりに*を使った場合、
違いはありますでしょうか。
*だと左辺がtrueであっても右辺も評価するなどするのでしょうか。
431デフォルトの名無しさん (ブーイモ MMcb-9G6j [163.49.200.36])
2022/01/31(月) 13:20:30.75ID:QWw3Y16fM >>430
そんなもん手元のコンソールに打って直接確認した方が早いと思うけど、そうしたくない理由でもあるの?
そんなもん手元のコンソールに打って直接確認した方が早いと思うけど、そうしたくない理由でもあるの?
432デフォルトの名無しさん (ワッチョイ 9161-bU36 [122.16.165.244])
2022/01/31(月) 13:34:41.41ID:KJiW2Lya0 だってただの乗算・加算なのだから一連の計算全部しないと結果は出せないもの
文字列だった場合バグの温床になりかねないので素直に論理演算子使っとけ
文字列だった場合バグの温床になりかねないので素直に論理演算子使っとけ
433デフォルトの名無しさん (ワッチョイ 1333-6jTK [59.190.4.184])
2022/01/31(月) 15:13:48.28ID:rc3LWwE50 ありがとうございます
434デフォルトの名無しさん (ワッチョイ 9956-6WVI [124.25.53.64])
2022/02/01(火) 14:41:29.69ID:wfvu5dwy0 > if(undefined){console.log("undefined is true");} else {console.log("undefined is false");}
undefined is false
undefined
> if(!undefined){console.log("!undefined is true");} else {console.log("!undefined is false");}
!undefined is true
undefined
> if(true+console.log("exec")){console.log("true"); }else{console.log('false')}
exec
false
undefined
> if(console.log("exec")*console.log("exec2")){console.log("true"); }else{console.log('false')}
exec
exec2
false
undefined
論理演算子的な打ち切りはしてないね。普通に算術演算子だわw
undefined is false
undefined
> if(!undefined){console.log("!undefined is true");} else {console.log("!undefined is false");}
!undefined is true
undefined
> if(true+console.log("exec")){console.log("true"); }else{console.log('false')}
exec
false
undefined
> if(console.log("exec")*console.log("exec2")){console.log("true"); }else{console.log('false')}
exec
exec2
false
undefined
論理演算子的な打ち切りはしてないね。普通に算術演算子だわw
435デフォルトの名無しさん (ワッチョイ 9956-6WVI [124.25.53.64])
2022/02/01(火) 14:46:27.83ID:wfvu5dwy0 普通に手打ちしてたら、空白とかクォートとかセミコロンの打ち方に全然整合性ないでやんの、俺w
436231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 16:32:44.06ID:1UhKSGd+d ■質問テンプレート
【環境】Android10 F-51A
Chrome 93.0.4577.62
【何をしたのか】セーブ(サンプルコードの一番下の方で実行)を2回以上実行すると、ロード出来なくなる。
【エラーメッセージ】出ません。
【期待する結果】セーブ、ロードが正常に行われるようにする。
【サンプルコード】
https://ideone.com/BJQ4qV
懲りずにお邪魔します。
解決案など思いついた方いらっしゃったら、よろしくお願いします。
今回でアドバイスを得られない、あるいは私の理解が及ばなかった場合、ココナラなどの利用も検討しています。
解決案は知らんけど、有償で良いならこのサイトがおすすめ、みたいな情報も頂けたら嬉しいです。
【環境】Android10 F-51A
Chrome 93.0.4577.62
【何をしたのか】セーブ(サンプルコードの一番下の方で実行)を2回以上実行すると、ロード出来なくなる。
【エラーメッセージ】出ません。
【期待する結果】セーブ、ロードが正常に行われるようにする。
【サンプルコード】
https://ideone.com/BJQ4qV
懲りずにお邪魔します。
解決案など思いついた方いらっしゃったら、よろしくお願いします。
今回でアドバイスを得られない、あるいは私の理解が及ばなかった場合、ココナラなどの利用も検討しています。
解決案は知らんけど、有償で良いならこのサイトがおすすめ、みたいな情報も頂けたら嬉しいです。
437デフォルトの名無しさん (ワッチョイ 8b7b-hTuy [153.185.174.10])
2022/02/04(金) 17:05:32.54ID:eOennQVj0 全然見てないしよくわからんけど、なんでセーブとロードを繰り返してるの?
438デフォルトの名無しさん (ブーイモ MMeb-bj7G [133.159.149.63])
2022/02/04(金) 17:14:57.96ID:kUcQ1Y3lM439デフォルトの名無しさん (ワッチョイ 9161-bU36 [122.16.165.244])
2022/02/04(金) 17:20:39.40ID:5yD7H7/00440231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 17:21:33.29ID:1UhKSGd+d >>437
最初のセーブでは、ロード成功するんです。
2回目のセーブをすると、ロードに失敗するんです。
一度目の処理では成功してるけど、二度目で失敗してるのを見て貰うために、今回のコードでは繰り返しにしました。
最初のセーブでは、ロード成功するんです。
2回目のセーブをすると、ロードに失敗するんです。
一度目の処理では成功してるけど、二度目で失敗してるのを見て貰うために、今回のコードでは繰り返しにしました。
441デフォルトの名無しさん (ブーイモ MMcb-FKQo [163.49.214.185])
2022/02/04(金) 17:22:14.91ID:58zz3a0tM まず変数はletかconstを使って明示的に宣言する
あと非同期処理の勉強をした方がいい
url先のコードは処理が行われる順番を考慮してない
コードで例示すると
const elm = document.querySelector("#input")
let mail;
elm.oninput = (e) => {
mail = e.target.value;
}
console.log(mail);
みたいなコードを書いてる
oninputはすぐに呼び出されないのに先にmailを参照しているからバグる
他にも色々ありそうだけど自分がパッと見つけられた間違いはこれだけ
(文字が全角になってるのはCloudflare対策)
あと非同期処理の勉強をした方がいい
url先のコードは処理が行われる順番を考慮してない
コードで例示すると
const elm = document.querySelector("#input")
let mail;
elm.oninput = (e) => {
mail = e.target.value;
}
console.log(mail);
みたいなコードを書いてる
oninputはすぐに呼び出されないのに先にmailを参照しているからバグる
他にも色々ありそうだけど自分がパッと見つけられた間違いはこれだけ
(文字が全角になってるのはCloudflare対策)
442デフォルトの名無しさん (ブーイモ MMdd-bj7G [202.214.230.249])
2022/02/04(金) 17:23:09.66ID:0CWz3hfAM 変数の宣言方法と変数のスコープについても学んで下さい
”use strict”;使うように
”use strict”;使うように
443231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 17:27:11.67ID:1UhKSGd+d444231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 17:27:20.65ID:1UhKSGd+d みなさま
445231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 17:28:39.30ID:1UhKSGd+d 失礼しました。
予想以上に早く、また親切にアドバイスして頂けて嬉しいです。
本当にありがとうございました。
予想以上に早く、また親切にアドバイスして頂けて嬉しいです。
本当にありがとうございました。
446231 (スッップ Sd33-aqeu [49.98.171.121])
2022/02/04(金) 17:36:54.98ID:1UhKSGd+d 今回躓いたところは完璧に解決しました。
皆様、本当にありがとうございます。
皆様、本当にありがとうございます。
447デフォルトの名無しさん (ブーイモ MMcb-FKQo [163.49.214.155])
2022/02/04(金) 17:37:47.88ID:fRxFESBHM448デフォルトの名無しさん (ワッチョイ 8901-e6rN [126.4.159.20])
2022/02/04(金) 23:04:44.52ID:gGuISdVA0 eval関数なしで
テキストボックスに入力されている
5*6*4+56/24のような計算をするにはどうすればいいでしょうか?
テキストボックスに入力されている
5*6*4+56/24のような計算をするにはどうすればいいでしょうか?
449デフォルトの名無しさん (ワッチョイ 8b46-FxgI [153.161.191.103])
2022/02/04(金) 23:19:30.94ID:/i5Sn7pz0 再帰下降構文解析でググれ
450デフォルトの名無しさん (スップ Sd03-ey3B [1.72.9.177])
2022/02/05(土) 00:01:28.09ID:sD6dJYyZd eval is evil
451デフォルトの名無しさん (ワッチョイ d501-g7wQ [126.4.159.20])
2022/02/05(土) 15:51:37.55ID:7rGxUilP0452デフォルトの名無しさん (ワッチョイ d501-v6+h [126.15.28.3])
2022/02/06(日) 14:13:43.12ID:jyf5OL160453デフォルトの名無しさん (JP 0Ha1-zD41 [126.249.157.89])
2022/02/07(月) 07:37:13.78ID:90TSH41+H グッドモーニングショーで未だにファックス使ってコロナ集計してやんのwって言ってましたけど
特定サイトで入力した個人情報や体調情報などをQRコード化して読み取りパスを設定し
その情報を診療所などで携帯で読み込むと、自動的に院内システムと保健所など供給機関にJSONで送情されるようなの
あっという間にできそうなんだけど
セキュリティ面感がなければ2時間くらいでできそう
特定サイトで入力した個人情報や体調情報などをQRコード化して読み取りパスを設定し
その情報を診療所などで携帯で読み込むと、自動的に院内システムと保健所など供給機関にJSONで送情されるようなの
あっという間にできそうなんだけど
セキュリティ面感がなければ2時間くらいでできそう
454デフォルトの名無しさん (ワッチョイ 355f-CoXB [14.10.58.225])
2022/02/07(月) 08:42:42.57ID:2FnRi9wN0455デフォルトの名無しさん (アウアウウー Sa09-4urG [106.146.65.119])
2022/02/07(月) 08:56:33.13ID:4W18gTd9a 単機能のシステムなら出来そうだけど
あれもこれもと仕様が膨れ上がって予算もウン十億になり
最終的に使い勝手の悪いガラクタになるのがオチ
https://wedge.ismedia.jp/articles/-/22205?layout=b
あれもこれもと仕様が膨れ上がって予算もウン十億になり
最終的に使い勝手の悪いガラクタになるのがオチ
https://wedge.ismedia.jp/articles/-/22205?layout=b
456デフォルトの名無しさん (ワッチョイ cb2c-2zGl [153.136.94.40])
2022/02/07(月) 12:51:27.00ID:QUqmCtWk0 規格を統一するのが難しい
医療機関は、各SIer でバラバラだろ
医療機関は、各SIer でバラバラだろ
457デフォルトの名無しさん (JP 0Ha1-zD41 [126.249.157.89])
2022/02/08(火) 06:39:24.19ID:L7XKTsfqH 先進諸国ってシステム規格は統一してるん?
なんで日本だけファックスよ?
なんで日本だけファックスよ?
458デフォルトの名無しさん (ワッチョイ 2333-2cIz [59.190.4.184])
2022/02/10(木) 18:43:10.54ID:yttBwpD00 firefoxを使ってるんですが
マウスのソフトウェアの左クリックの連射機能を使うことがあって
その際にリンクやボタンを多重クリックを避けたいので
特定のエレメントにイベントリスナーでクリックするとstyle.display = 'none'にするようにしたんですが
これが実際に多重クリックになってるかどうかは
どのように判断すればよろしいのでしょうか
ブラウザの開発ツールなどで簡単にわかる方法ありますでしょうか?
それとももう一度同じエレメントにイベントリスナーでクリックした場合
カウンターにインクリメントさせてconsole.logがいいのでしょうか
(この方法も正確に取れているのかは私にはわかりません)
マウスのソフトウェアの左クリックの連射機能を使うことがあって
その際にリンクやボタンを多重クリックを避けたいので
特定のエレメントにイベントリスナーでクリックするとstyle.display = 'none'にするようにしたんですが
これが実際に多重クリックになってるかどうかは
どのように判断すればよろしいのでしょうか
ブラウザの開発ツールなどで簡単にわかる方法ありますでしょうか?
それとももう一度同じエレメントにイベントリスナーでクリックした場合
カウンターにインクリメントさせてconsole.logがいいのでしょうか
(この方法も正確に取れているのかは私にはわかりません)
459デフォルトの名無しさん (JP 0Ha1-zD41 [126.249.157.89])
2022/02/11(金) 20:34:20.02ID:efWVJIaOH 質問させてください
let ar={a:{a1:1}};
console.log(a1); // @ a1 is not defined
let {a:{a1}}=ar;
console.log(a1); // A 1
a1を出力したのですが、
@は未定義
Aは1が出力されています
どうして@とAの出力結果が異なるのでしょうか?
let ar={a:{a1:1}};
console.log(a1); // @ a1 is not defined
let {a:{a1}}=ar;
console.log(a1); // A 1
a1を出力したのですが、
@は未定義
Aは1が出力されています
どうして@とAの出力結果が異なるのでしょうか?
460デフォルトの名無しさん (ササクッテロラ Spa1-6JR8 [126.193.40.232])
2022/02/11(金) 20:42:04.99ID:XbmfRAz/p >>459
オブジェクトの分割代入されるから。
オブジェクトの分割代入されるから。
461デフォルトの名無しさん (ワッチョイ 77f0-B80Q [124.45.127.106])
2022/02/12(土) 11:33:13.66ID:RPVXSf4c0462デフォルトの名無しさん (ブーイモ MM42-/t+S [49.239.64.187])
2022/02/12(土) 11:55:49.55ID:GfpJrBC6M >>459
>>460が書いてるように3行目は分割代入なんだけど
特にオブジェクトデストラクチャリングと呼ばれる機能
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#object_destructuring
3行目でaとa1という変数が定義される
それ以前はa1という変数が定義されてないからundefined
とりあえずstrictモードを使いましょう
>>460が書いてるように3行目は分割代入なんだけど
特にオブジェクトデストラクチャリングと呼ばれる機能
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#object_destructuring
3行目でaとa1という変数が定義される
それ以前はa1という変数が定義されてないからundefined
とりあえずstrictモードを使いましょう
463デフォルトの名無しさん (ワッチョイ 627c-B80Q [43.235.241.201])
2022/02/12(土) 23:28:01.59ID:c6xzFFYJ0 何で理解していないのにこんな書き方して分かりませんって質問しているのだろうかw
目的は?
目的は?
464デフォルトの名無しさん (ワッチョイ 238b-GNxr [210.228.102.1])
2022/02/13(日) 11:28:11.91ID:Y75YevLW0 >>462
3行目のaは変数じゃない
3行目のaは変数じゃない
465デフォルトの名無しさん (ワッチョイ 3f01-rCQD [126.85.85.31])
2022/02/15(火) 16:00:20.18ID:WCBHI7+n0 JavaScript の配列の要素をすべて削除する
https://qiita.com/niwasawa/items/89e86c0fd85ad4591e1c
arr.length = 0 じゃダメなの?
https://qiita.com/niwasawa/items/89e86c0fd85ad4591e1c
arr.length = 0 じゃダメなの?
466デフォルトの名無しさん (オッペケ Sr3f-Yp6Q [126.194.119.131])
2022/02/15(火) 16:55:47.25ID:6QhYGEARr arr = null
もしくは
arr = []
じゃダメなの?
もしくは
arr = []
じゃダメなの?
467デフォルトの名無しさん (ワッチョイ 3f01-4ITz [126.209.38.115])
2022/02/15(火) 20:35:06.19ID:v0u4j5eD0 >>465
いいと思うが、そう思ったなら本人に伝えればいいのに
あと、teratailスレのは誤投稿か?
https://mevius.5ch.net/test/read.cgi/tech/1630107050/304
いいと思うが、そう思ったなら本人に伝えればいいのに
あと、teratailスレのは誤投稿か?
https://mevius.5ch.net/test/read.cgi/tech/1630107050/304
468デフォルトの名無しさん (ブーイモ MMbb-lHx+ [202.214.167.89])
2022/02/15(火) 20:41:42.47ID:YCvdbcjXM469デフォルトの名無しさん (オッペケ Sr3f-Yp6Q [126.194.119.131])
2022/02/15(火) 21:08:32.51ID:6QhYGEARr >>468
constなのに長さ0にしちゃっていいの?
constなのに長さ0にしちゃっていいの?
470デフォルトの名無しさん (ワッチョイ 3f01-4ITz [126.209.38.115])
2022/02/15(火) 21:10:50.44ID:v0u4j5eD0471デフォルトの名無しさん (オッペケ Sr3f-Yp6Q [126.194.119.131])
2022/02/15(火) 22:48:45.41ID:6QhYGEARr472デフォルトの名無しさん (ワッチョイ af5f-+p08 [14.8.71.128])
2022/02/15(火) 23:01:49.17ID:z5poVj2c0473デフォルトの名無しさん (ワッチョイ ab5f-K+Vi [106.73.17.192])
2022/02/15(火) 23:03:26.68ID:JA2Mlap+0 別に変更不可って意味でconst使わなくないか?
474デフォルトの名無しさん (オッペケ Sr3f-Yp6Q [126.194.119.131])
2022/02/15(火) 23:07:54.82ID:6QhYGEARr やっぱjavascriptは欠陥言語だよな
定数とオブジェクトでconstの使い方変わるし
定数とオブジェクトでconstの使い方変わるし
475デフォルトの名無しさん (ワッチョイ c6a7-rCQD [153.216.75.243])
2022/02/15(火) 23:20:36.81ID:NudRi/Oa0 ワロスw
476デフォルトの名無しさん (スッップ Sd42-qzeC [49.98.169.237])
2022/02/15(火) 23:24:11.41ID:oyYnjwf7d 草
477デフォルトの名無しさん (ワッチョイ afe6-PSJX [14.3.170.77])
2022/02/15(火) 23:54:38.03ID:DOsFVpUk0 笑
478デフォルトの名無しさん (ワッチョイ afe6-PSJX [14.3.170.77])
2022/02/15(火) 23:54:58.40ID:DOsFVpUk0 いや
大爆
大爆
479デフォルトの名無しさん (ワッチョイ af5f-ZaaF [14.10.58.225])
2022/02/16(水) 00:38:29.63ID:dZoJOzXw0 欠陥言語か?cのconstと同じでは?
480デフォルトの名無しさん (ワッチョイ c62c-TxqZ [153.136.94.40])
2022/02/16(水) 12:21:54.58ID:Nuw/c3FA0 Ruby でも、入れ物と各要素は別。
shallow copy と同じ。動的言語は全てそう。
deep copy, deep freeze などは、誰かが作る必要がある
入れ物をフリーズしても、各要素は変更できる
ary = %w(a b).freeze
ary[ 0 ].upcase!
p ary #=> ["A", "b"]
だから、入れ物と各要素の両方を、フリーズする必要がある
ary_2 = %w(x y).map( &:freeze ).freeze
ary_2[ 0 ].upcase! #=> エラー。変更できない!
shallow copy と同じ。動的言語は全てそう。
deep copy, deep freeze などは、誰かが作る必要がある
入れ物をフリーズしても、各要素は変更できる
ary = %w(a b).freeze
ary[ 0 ].upcase!
p ary #=> ["A", "b"]
だから、入れ物と各要素の両方を、フリーズする必要がある
ary_2 = %w(x y).map( &:freeze ).freeze
ary_2[ 0 ].upcase! #=> エラー。変更できない!
481デフォルトの名無しさん (アウアウアー Sa5e-DiUz [27.85.205.92])
2022/02/16(水) 22:54:05.43ID:CjOKbN9ya スレ違いも守れない身勝手なクズ
482デフォルトの名無しさん (ワッチョイ cf10-SFaO [180.12.82.129])
2022/02/17(木) 22:37:18.01ID:TmsR/NWJ0 <input type="button" value="aaaaaa" id="test1">
<br>
<input type="button" value="bbbbbb" id="test2">
<スクリプト>
var id_list = ["test1","test2"];
for(let n=1;n<=id_list.length;n++){
var elm = document.getElementById(id_list[n-1]);
elm.addEventListener(
"click",
function(e){
alert(elm.value);
}
);
}
</スクリプト>
aaaaaaボタンをクリックしてもbbbbbbと表示されてしまいます
どこが間違っているんですか?
<br>
<input type="button" value="bbbbbb" id="test2">
<スクリプト>
var id_list = ["test1","test2"];
for(let n=1;n<=id_list.length;n++){
var elm = document.getElementById(id_list[n-1]);
elm.addEventListener(
"click",
function(e){
alert(elm.value);
}
);
}
</スクリプト>
aaaaaaボタンをクリックしてもbbbbbbと表示されてしまいます
どこが間違っているんですか?
483デフォルトの名無しさん (ワッチョイ 5232-DrOF [133.207.66.224])
2022/02/17(木) 23:03:32.28ID:Np/YPCaB0484デフォルトの名無しさん (アウアウエー Sa7a-LSse [111.239.156.228])
2022/02/17(木) 23:21:36.38ID:eqAwClgCa alert (elm.value)をalert(e.currentTarget.value)に変えたればおけ
485デフォルトの名無しさん (ワッチョイ 238b-FJ3i [210.228.102.1])
2022/02/17(木) 23:28:41.09ID:7BD8Ewk+0 alert(this.value)
または
const elm = document.getElementById(id_list[n-1])
または
const elm = document.getElementById(id_list[n-1])
486デフォルトの名無しさん (ササクッテロラ Sp3f-/9rH [126.193.40.232])
2022/02/17(木) 23:31:46.94ID:U/Ab4M74p これから新規でスクリプト書くなら、特別な理由がない限りvarは使わずletかconstだけ使うほうが、変なミス起こらなくていいと思う
487デフォルトの名無しさん (ワッチョイ c62c-TxqZ [153.136.94.40])
2022/02/18(金) 10:44:02.23ID:tiifqQ9V0 初心者は、jQuery を使えばよい
分かりにくい、this の意味も変えてある
分かりにくい、this の意味も変えてある
488デフォルトの名無しさん (ワッチョイ c62c-TxqZ [153.136.94.40])
2022/02/18(金) 11:35:27.02ID:tiifqQ9V0 jQuery で、ボタンの外側・親にイベントを付けて、親で、子のイベントをキャッチできる
<div id="btn-wrap">
<button class="BtnA BtnAll" value="1">A-1</button>
<button class="BtnA BtnAll" value="2">A-2</button>
<button class="BtnB BtnAll" value="3">B-3</button>
</div>
$( function ( ) {
// 外側・親にイベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
const value = $( event.target ).prop( 'value' )
console.log( value )
alert( value )
} );
} );
または、共通のclass を付けて、そのクラスだけのイベントをキャッチできる
// .BtnA のみ
$( '.BtnA' ).on( 'click', function ( event ) {
const value = $( this ).prop( 'value' )
console.log( value )
alert( value )
} );
<div id="btn-wrap">
<button class="BtnA BtnAll" value="1">A-1</button>
<button class="BtnA BtnAll" value="2">A-2</button>
<button class="BtnB BtnAll" value="3">B-3</button>
</div>
$( function ( ) {
// 外側・親にイベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
const value = $( event.target ).prop( 'value' )
console.log( value )
alert( value )
} );
} );
または、共通のclass を付けて、そのクラスだけのイベントをキャッチできる
// .BtnA のみ
$( '.BtnA' ).on( 'click', function ( event ) {
const value = $( this ).prop( 'value' )
console.log( value )
alert( value )
} );
489488 (ワッチョイ c62c-bORD [153.136.94.40])
2022/02/18(金) 12:16:47.94ID:tiifqQ9V0 >>488
に追加
セレクターをカンマで区切れば、A またはB でも出来る
// .BtnA or .BtnB のみ
$( '.BtnA, .BtnB' ).on( 'click', function ( event ) {
const value = $( this ).prop( 'value' )
console.log( value )
alert( value )
} );
に追加
セレクターをカンマで区切れば、A またはB でも出来る
// .BtnA or .BtnB のみ
$( '.BtnA, .BtnB' ).on( 'click', function ( event ) {
const value = $( this ).prop( 'value' )
console.log( value )
alert( value )
} );
490デフォルトの名無しさん (ワッチョイ cf10-K2F7 [180.12.82.129])
2022/02/18(金) 12:23:50.32ID:aHWUA2kK0 >>483-485
やってみますありがとー
やってみますありがとー
491デフォルトの名無しさん (ブーイモ MMf3-lHx+ [210.138.208.186])
2022/02/18(金) 12:38:42.82ID:YjRRevVzM イベントのバブリングを学ぶにはいい機会(丁度よい題材)だとは思うけど、「初心者に向けて」というエクスキューズでもって今時jQueryを勧める態度には悪意に近いモノを感じる
492デフォルトの名無しさん (スッップ Sd42-qzeC [49.98.169.237])
2022/02/18(金) 21:37:34.77ID:rjrdvPAWd 今後廃れていくだけだもんな
新たに学習する必要はないわな
新たに学習する必要はないわな
493マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/19(土) 09:29:33.08ID:SYl7hXba0 こんにちはこのたびはお世話になります
Javaスクリプトの質問ですが
いろいろ煮詰まっておりさしあたり
変数のスコープとオブジェクトのことがよくわからないでして
変数は関数内のみのローカルありますよね
でオブジェクトも
var obj=new obj()
といったインスタンツなら変数とおなじでローカルだったりグローバルだったりするんですかな
まずは以上よろしくお願いします
Javaスクリプトの質問ですが
いろいろ煮詰まっておりさしあたり
変数のスコープとオブジェクトのことがよくわからないでして
変数は関数内のみのローカルありますよね
でオブジェクトも
var obj=new obj()
といったインスタンツなら変数とおなじでローカルだったりグローバルだったりするんですかな
まずは以上よろしくお願いします
494デフォルトの名無しさん (オッペケ Sr37-gtTr [126.133.243.36])
2022/02/19(土) 09:52:37.76ID:ApZEftHir もうvarは使うな以上
495マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/19(土) 12:07:18.29ID:SYl7hXba0 バーよりレッツを使うんですね承知しました。
ブラウザ画面内に表示されたDOMオブジェクトは常にグローバルなんですかね
何もかもがわからん
ブラウザ画面内に表示されたDOMオブジェクトは常にグローバルなんですかね
何もかもがわからん
496デフォルトの名無しさん (ワッチョイ cf2c-mvUX [153.136.94.40])
2022/02/19(土) 13:34:02.57ID:XlinVUCj0 window.document.body, window.document.head など、
windowオブジェクトはグローバル
windowが無くても、document.head でも同じ
window.document.head == document.head
//=> true
例えば、Pjax で、ページを作っている場合、
ページ遷移したように見えても、window に追加したオブジェクトは初期化されない。
そのまま残っている
ページの一部分しか変更されていないから。
ページをreload していないから
windowオブジェクトはグローバル
windowが無くても、document.head でも同じ
window.document.head == document.head
//=> true
例えば、Pjax で、ページを作っている場合、
ページ遷移したように見えても、window に追加したオブジェクトは初期化されない。
そのまま残っている
ページの一部分しか変更されていないから。
ページをreload していないから
497デフォルトの名無しさん (テテンテンテン MMff-+Md/ [133.106.146.196])
2022/02/19(土) 16:01:34.02ID:c/9+L37GM Pjax is なに
498デフォルトの名無しさん (ワッチョイ a333-mA98 [112.71.200.123])
2022/02/19(土) 18:28:21.70ID:fGIkG9WE0 >>491
むしろ悪意そのものでしょ
むしろ悪意そのものでしょ
499マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/19(土) 18:38:03.12ID:SYl7hXba0 参考書に、Javaスクリプトにはクラスの概念はない、て書いてあるんですが
もしかして情報が古い?
もしかして情報が古い?
500デフォルトの名無しさん (ワッチョイ 3f19-v1mi [123.222.1.215])
2022/02/19(土) 18:39:00.10ID:9/CFXaUW0 はい
501デフォルトの名無しさん (ブーイモ MM7f-AMcF [163.49.208.227])
2022/02/19(土) 18:43:12.48ID:QjUSXh+yM その本で勉強するのやめたら
varを使ってるのもそのせいだろうし
varを使ってるのもそのせいだろうし
502デフォルトの名無しさん (ワッチョイ 3301-lOsW [126.163.110.47])
2022/02/19(土) 19:02:00.92ID:LKw+j5240 >>499
「クラスの概念がない」は正しい
JavaScriptはプロトタイプベースでclass文は糖衣構文だからな
そういう意味で書かれているのなら正しいといえるが、書籍を持ってない人が文脈を読みとれるはずもない
書籍の正しさを保証するのはその書籍を持っている人だけ
「クラスの概念がない」は正しい
JavaScriptはプロトタイプベースでclass文は糖衣構文だからな
そういう意味で書かれているのなら正しいといえるが、書籍を持ってない人が文脈を読みとれるはずもない
書籍の正しさを保証するのはその書籍を持っている人だけ
503デフォルトの名無しさん (アウアウエー Sa9f-/VBg [111.239.156.112])
2022/02/19(土) 19:05:31.85ID:s68IJWjka まあvar使ってる時点でES15以前だから読む価値なしですね
時間の無駄なんでその本を投げ捨てろ
時間の無駄なんでその本を投げ捨てろ
504デフォルトの名無しさん (ワッチョイ 3301-lOsW [126.163.110.47])
2022/02/19(土) 19:06:29.96ID:LKw+j5240505デフォルトの名無しさん (ワッチョイ 137b-mA98 [124.246.130.6])
2022/02/19(土) 21:14:26.70ID:WPu6vt5B0 マジレス…
506マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/19(土) 22:06:51.12ID:SYl7hXba0 こんばんはいつもお世話なります
今日でかなり学習は進みましたありがとうございます
さっそく質問ですが
クロッパーJSという便利ライブラリを見つけて解析しております
ところが
fileReaderでダイヤログを出してjpg画像なりを読んでまずは画面にプレビューしますが、
あっ間違えたのテイで再度fileReaderして別の画像を読み込むのですが
プレビュー画面が前のまま変わらないのです
以上よろしくお願いします
今日でかなり学習は進みましたありがとうございます
さっそく質問ですが
クロッパーJSという便利ライブラリを見つけて解析しております
ところが
fileReaderでダイヤログを出してjpg画像なりを読んでまずは画面にプレビューしますが、
あっ間違えたのテイで再度fileReaderして別の画像を読み込むのですが
プレビュー画面が前のまま変わらないのです
以上よろしくお願いします
507デフォルトの名無しさん (ワッチョイ 3301-lOsW [126.163.110.47])
2022/02/19(土) 22:16:58.88ID:LKw+j5240508マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/19(土) 23:27:47.87ID:SYl7hXba0 クロッパーJSの公式デモページ(エマワトソンの写真のやつ)でImport Image with Blob URLsというボタンは
何度でも写真を読み直しできるんですよ
インスタンスをデストロイがカギとは思うのですが
何度でも写真を読み直しできるんですよ
インスタンスをデストロイがカギとは思うのですが
509デフォルトの名無しさん (ワッチョイ 3301-lOsW [126.163.110.47])
2022/02/19(土) 23:34:29.04ID:LKw+j5240 >>508
デモページのソースをディフってみたら?
デモページのソースをディフってみたら?
510マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/20(日) 01:15:27.52ID:vRC3RkLD0 クロッパーのことですけんど
なかなか敷居が高いですわ
インタネッツでもたくさんの人が2回目の読み込みをどうするか質問してますね
なかなか敷居が高いですわ
インタネッツでもたくさんの人が2回目の読み込みをどうするか質問してますね
511マッチ棒 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/20(日) 03:05:26.93ID:vRC3RkLD0 ふう、なんとかやれましたよ
大儀であつた
大儀であつた
512日記帳 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/20(日) 16:34:24.33ID:vRC3RkLD0 こんにちは今日も格闘しております
グーグルマップのリーフレットプラグインで、写真を地図に貼り付けています
複数貼った時の処理でまた壁につきあたりました
貼り付け関数で作るインスタンスが「imgovlay」なんですがその名前なら例えばimgovlay.options.cornersってやれば四つ角の座標がとれるですけんど
3枚はったあとからでは1枚目の座標が調べられんとです
これはどんな工夫したらよいのやら
以上よろしくお願いします
グーグルマップのリーフレットプラグインで、写真を地図に貼り付けています
複数貼った時の処理でまた壁につきあたりました
貼り付け関数で作るインスタンスが「imgovlay」なんですがその名前なら例えばimgovlay.options.cornersってやれば四つ角の座標がとれるですけんど
3枚はったあとからでは1枚目の座標が調べられんとです
これはどんな工夫したらよいのやら
以上よろしくお願いします
513デフォルトの名無しさん (ワッチョイ e35f-nZx7 [106.72.130.65])
2022/02/20(日) 17:20:03.63ID:xfffAjua0 日記ならそろそろ個人ブログでも作ってやったら
前にレスくれてる人は無視、相変わらず中途半端なカタカナ表記で聞きたいこともわかりにくいし書いてるコードも貼らない
一応エスパーしとくと、配列でインスタンス全部持っておくだけでは?
前にレスくれてる人は無視、相変わらず中途半端なカタカナ表記で聞きたいこともわかりにくいし書いてるコードも貼らない
一応エスパーしとくと、配列でインスタンス全部持っておくだけでは?
514日記帳 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/20(日) 17:28:08.35ID:vRC3RkLD0 ジェーンスタイルというアプリでこのスッドレを見ておるますが、タグのあるコードのコピペはできないんですよ
515デフォルトの名無しさん (ワッチョイ f35f-F+co [14.11.194.224])
2022/02/20(日) 17:31:05.62ID:7vowCzxS0516日記帳 (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/20(日) 17:50:37.16ID:vRC3RkLD0 はい承知しました
大儀であった
大儀であった
517デフォルトの名無しさん (ワッチョイ 3301-lOsW [126.163.110.47])
2022/02/20(日) 18:25:51.02ID:hgnRPi350 ID:vRC3RkLD0はネタ質問と思ってる
全く面白くないが
全く面白くないが
518デフォルトの名無しさん (ワッチョイ 3f1f-Xmkg [123.217.134.142])
2022/02/21(月) 02:08:54.33ID:44J1KF7y0 Chrome拡張機能のjsファイルを修正しようとしているんだけど
(バグが出たのに作者放置で逃亡w)
JSファルダの中にいくつかjsファイルがあるけど、どれが最初に読み込まれるのですか?
また、グローバル変数はファイルを超えて使えますか?
(バグが出たのに作者放置で逃亡w)
JSファルダの中にいくつかjsファイルがあるけど、どれが最初に読み込まれるのですか?
また、グローバル変数はファイルを超えて使えますか?
519デフォルトの名無しさん (ブーイモ MM7f-OANQ [163.49.208.129])
2022/02/21(月) 04:36:00.42ID:YvtULrNjM >>518
まずは複数の実行コンテキストが存在することを把握するといい
chromiumのmanifest V2拡張機能はこの年末にサポート終了が予定されているので、その拡張機能がV2の場合はV3に作り直すことをオススメする
まずは複数の実行コンテキストが存在することを把握するといい
chromiumのmanifest V2拡張機能はこの年末にサポート終了が予定されているので、その拡張機能がV2の場合はV3に作り直すことをオススメする
520デフォルトの名無しさん (ワッチョイ 63ef-sEiv [202.70.185.138])
2022/02/23(水) 08:42:30.40ID:EjF360bu0 質問です。.cgiのページにcanvasの
https://www.google.com/amp/s/torisky.com/javascript%25EF%25BC%259Acanvas%25E3%2581%25AB%25E9%259B%25AA%25E3%2581%25AE%25E7%25B5%2590%25E6%2599%25B6%25E3%2582%2592%25E9%2599%258D%25E3%2582%2589%25E3%2581%259B%25E3%2582%258B/%3famp=1を設定するにはどこのページにコード貼り付ければいいのでしょうか?全部.cgiの中で大丈夫ですか?
https://www.google.com/amp/s/torisky.com/javascript%25EF%25BC%259Acanvas%25E3%2581%25AB%25E9%259B%25AA%25E3%2581%25AE%25E7%25B5%2590%25E6%2599%25B6%25E3%2582%2592%25E9%2599%258D%25E3%2582%2589%25E3%2581%259B%25E3%2582%258B/%3famp=1を設定するにはどこのページにコード貼り付ければいいのでしょうか?全部.cgiの中で大丈夫ですか?
521デフォルトの名無しさん (ワッチョイ 63ef-sEiv [202.70.185.138])
2022/02/23(水) 10:35:21.54ID:EjF360bu0 HTML部分
<!DOCTYPE html>
<html>
<head>
って書いてるから無理なんかな……index.htmlじゃなくて.cgi直のURLに設定したいんだけど……
<!DOCTYPE html>
<html>
<head>
って書いてるから無理なんかな……index.htmlじゃなくて.cgi直のURLに設定したいんだけど……
522デフォルトの名無しさん (ワッチョイ 3301-BRhT [126.241.27.53])
2022/02/23(水) 11:28:37.94ID:hXi3IxJ40 >>521
こんにちは
cgiてのはperlのコトですかね
perlやPHPはHTMLをまるっと吐き出せるんですよ
だからjavascriptの仕掛けのあるHTMLをまず作ってみて、その内容をまるごとcgiでprint文などで出力します
こんにちは
cgiてのはperlのコトですかね
perlやPHPはHTMLをまるっと吐き出せるんですよ
だからjavascriptの仕掛けのあるHTMLをまず作ってみて、その内容をまるごとcgiでprint文などで出力します
523デフォルトの名無しさん (ワッチョイ 6382-mtTC [202.137.42.243 [上級国民]])
2022/02/25(金) 20:59:11.76ID:zW9WpBq20 てst
524デフォルトの名無しさん (ワッチョイ 6382-mtTC [202.137.42.243 [上級国民]])
2022/02/25(金) 20:59:52.69ID:zW9WpBq20 C#からJavaScriptをコールしたいのだが、このJavaScriptは.jsファイルに入れるのではなく、
htmlファイル内に書かないといけないのかな?
htmlファイル内に書かないといけないのかな?
525デフォルトの名無しさん (ワッチョイ 1710-rCyD [180.12.82.129])
2022/03/06(日) 20:50:59.24ID:Ii2qDZic0 setIntervalでtimer1が起動中のときはtimer2を起動させないようにするにはどうやればいいんですか?
526デフォルトの名無しさん (オッペケ Sr0b-wOAn [126.158.147.174])
2022/03/06(日) 20:59:50.64ID:EBMcer04r >>525
setIntervalのラップ関数を作って排他制御する
setIntervalのラップ関数を作って排他制御する
527デフォルトの名無しさん (ワッチョイ 1710-rCyD [180.12.82.129])
2022/03/06(日) 21:36:36.90ID:Ii2qDZic0528デフォルトの名無しさん (ワッチョイ 172c-bfGZ [180.52.201.48])
2022/03/06(日) 22:53:26.23ID:SX3V4D250 timer の状態を調べる、属性とかは無いの?
529デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/08(火) 21:51:27.12ID:iL0h68YD0530デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/08(火) 22:09:04.89ID:iL0h68YD0 >>527
戻り値は正の整数
戻り値は正の整数
531デフォルトの名無しさん (ワッチョイ bfb0-4NGs [111.216.14.246])
2022/03/09(水) 08:20:41.91ID:U0qNtUpH0 数日前からjavascriptやらされてるんだけど質問
ajax関係の処理が例えばJqueryだと$.ajaxとかで終わった時の処理とか
エラーだったときの処理とかで分かれてるじゃない?
こういうAPIへのリクエストは全部まとめたいからsuccessにreturnするfunctionにしたら
使う側では瞬間帰ってきてundefinedになってしまう・・・
asyncなんだから当たり前だと言われたらそれまでなんだけど
そして毎回$.ajaxをそこら中で呼び出すことになる
これってそういう言語だからあきらめろしか無い感じ?
もちろんasyncをfalseにしろという話になりそうだけどブラウザがメインスレッドでやらんほうがいいとか警告出してくるし
ajax関係の処理が例えばJqueryだと$.ajaxとかで終わった時の処理とか
エラーだったときの処理とかで分かれてるじゃない?
こういうAPIへのリクエストは全部まとめたいからsuccessにreturnするfunctionにしたら
使う側では瞬間帰ってきてundefinedになってしまう・・・
asyncなんだから当たり前だと言われたらそれまでなんだけど
そして毎回$.ajaxをそこら中で呼び出すことになる
これってそういう言語だからあきらめろしか無い感じ?
もちろんasyncをfalseにしろという話になりそうだけどブラウザがメインスレッドでやらんほうがいいとか警告出してくるし
532デフォルトの名無しさん (ブーイモ MM1b-S2Ul [202.214.198.70])
2022/03/09(水) 08:38:01.00ID:6ktbAzhaM よく分からんけどコードが間違ってるだけな気がする
533デフォルトの名無しさん (オッペケ Sr0b-p0il [126.253.133.208])
2022/03/09(水) 09:30:24.96ID:Cs4PttVsr >>531
awaitを使えば返り値でとれる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/await
別スレで似た質問があったが、同一人物ではないよな?
https://mevius.5ch.net/test/read.cgi/hp/1478002550/499
質問者の応対が酷かった
awaitを使えば返り値でとれる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/await
別スレで似た質問があったが、同一人物ではないよな?
https://mevius.5ch.net/test/read.cgi/hp/1478002550/499
質問者の応対が酷かった
534デフォルトの名無しさん (ワッチョイ bfb0-4NGs [111.216.14.246])
2022/03/09(水) 10:14:14.84ID:U0qNtUpH0 >>532
>>533
ごめん色々試してみて自己解決したかも
$ajaxをfunctionに包んでたけど単にreturnするのがsuccessに与えてる無名関数へのreturnになってるからな気がした
その質問者はしらんけどそんなすれあるのねスレチならあっちいくわ
function getdata() {
$.ajax({
type: 'post',
url: 'aaaa',
contentType: 'application/json',
dataType: 'json',
success: function(jsondata) {
return jsondata;
});
}
呼び出し元
var a = getdata();
これでaがnullなのはasyncとかだと思ってたけどfunctionの返し先が無名関数だからだと思う
こういう場合javascript的にはどうするのが定石なの?
getdataの引数に結果を入れる変数渡すの?
>>533
ごめん色々試してみて自己解決したかも
$ajaxをfunctionに包んでたけど単にreturnするのがsuccessに与えてる無名関数へのreturnになってるからな気がした
その質問者はしらんけどそんなすれあるのねスレチならあっちいくわ
function getdata() {
$.ajax({
type: 'post',
url: 'aaaa',
contentType: 'application/json',
dataType: 'json',
success: function(jsondata) {
return jsondata;
});
}
呼び出し元
var a = getdata();
これでaがnullなのはasyncとかだと思ってたけどfunctionの返し先が無名関数だからだと思う
こういう場合javascript的にはどうするのが定石なの?
getdataの引数に結果を入れる変数渡すの?
535デフォルトの名無しさん (オッペケ Sr0b-p0il [126.253.133.208])
2022/03/09(水) 10:18:12.60ID:Cs4PttVsr >>534
PromiseかDeferredを使う
PromiseかDeferredを使う
536デフォルトの名無しさん (ワッチョイ bfb0-4NGs [111.216.14.246])
2022/03/09(水) 10:24:10.95ID:U0qNtUpH0537デフォルトの名無しさん (ワッチョイ 1761-uPFf [180.57.253.210])
2022/03/09(水) 10:59:23.57ID:de7whWW50 今時fetch使おうよ
538デフォルトの名無しさん (テテンテンテン MM8f-Vc13 [133.106.33.55])
2022/03/09(水) 11:12:57.49ID:HyI7NswaM ブラウザ資源を独占できない以上非同期なのは仕方がない
隅っこに入れたWEB広告が通信するから描画スレッド止めますなんて言い始めたらぶん殴るわ
隅っこに入れたWEB広告が通信するから描画スレッド止めますなんて言い始めたらぶん殴るわ
539デフォルトの名無しさん (ブーイモ MM3b-tM35 [210.138.179.143])
2022/03/09(水) 11:18:48.71ID:EGYBINjxM >>531
強制されてるなら別だけど、とりあえずjQueryはヤメた方がいい
強制されてるなら別だけど、とりあえずjQueryはヤメた方がいい
540デフォルトの名無しさん (ワッチョイ bfb0-4NGs [111.216.14.246])
2022/03/09(水) 18:13:15.28ID:U0qNtUpH0541デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/09(水) 20:06:52.37ID:2mwlDhCB0542デフォルトの名無しさん (ワッチョイ 37e6-XzgJ [58.183.196.109])
2022/03/09(水) 20:17:36.42ID:BHHQkJq20 IE6ぐらいはサポートしとけ
長期デフォルトブラウザの実績は覆せない
長期デフォルトブラウザの実績は覆せない
543デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/09(水) 20:24:49.60ID:2mwlDhCB0544デフォルトの名無しさん (テテンテンテン MM8f-Vc13 [133.106.33.30])
2022/03/09(水) 20:30:03.00ID:bXFYtOtEM545デフォルトの名無しさん (ワッチョイ bfb0-4NGs [111.216.14.246])
2022/03/10(木) 04:35:08.01ID:mUiYAuMC0 >>540
そうなんだありがとう
caniuseで見たら一番下の緑4個の行だけがターゲットだからfetchで良いんかな
Javascript=JQueryってのが当たり前になってるから意識変えれそうで良かった
そうなんだありがとう
caniuseで見たら一番下の緑4個の行だけがターゲットだからfetchで良いんかな
Javascript=JQueryってのが当たり前になってるから意識変えれそうで良かった
546デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/10(木) 16:41:12.37ID:QC1L9XJq0547デフォルトの名無しさん (ワッチョイ f701-p0il [114.48.62.41])
2022/03/11(金) 21:03:13.79ID:XGwo6uIj0 JavaScriptに「型」を 〜Microsoftが新構文を提案へ
https://www.google.com/amp/s/forest.watch.impress.co.jp/docs/news/1394/209/amp.index.html
これは気になる
仕様化されるのかね…
https://www.google.com/amp/s/forest.watch.impress.co.jp/docs/news/1394/209/amp.index.html
これは気になる
仕様化されるのかね…
548デフォルトの名無しさん (ワッチョイ 9d01-PcQ6 [126.241.27.53])
2022/03/12(土) 12:10:31.15ID:Nwo5BHml0 VScodeを使っていますが
この画面のカスタマイズはできますか
具体的には、ソース全体の縦長のビューがあってそのうち今見ているところが少し明るく表示されてますよね?その色が分かりにくい!
つかんでドラッグしたくても見つけにくい!
もっとハッキリした色にできますか
この画面のカスタマイズはできますか
具体的には、ソース全体の縦長のビューがあってそのうち今見ているところが少し明るく表示されてますよね?その色が分かりにくい!
つかんでドラッグしたくても見つけにくい!
もっとハッキリした色にできますか
549デフォルトの名無しさん (ブーイモ MM8b-DiUJ [163.49.209.235])
2022/03/12(土) 12:37:17.47ID:ilfolIlBM550デフォルトの名無しさん (ワッチョイ bd10-pPbi [180.12.82.129])
2022/03/12(土) 18:02:33.03ID:gZ07u/du0 <html>
<head>
<meta charset="UTF-8">
<title>てすと</title>
</head>
<body>
<スクリプト>
for(let n=1;n<=300;n++){
let str = "<p>" + n + "</p>";
document.write(str);
}
alert(document.body.clientHeight);
alert(window.innerHeight);
</スクリプト>
</body>
</html>
ページ全体の高さを求めたいけどdocument.body.clientHeightで
695と表示されウィンドウの高さと同じになってしまいます。
どうすればちゃんとページの高さが求まりますか?
<head>
<meta charset="UTF-8">
<title>てすと</title>
</head>
<body>
<スクリプト>
for(let n=1;n<=300;n++){
let str = "<p>" + n + "</p>";
document.write(str);
}
alert(document.body.clientHeight);
alert(window.innerHeight);
</スクリプト>
</body>
</html>
ページ全体の高さを求めたいけどdocument.body.clientHeightで
695と表示されウィンドウの高さと同じになってしまいます。
どうすればちゃんとページの高さが求まりますか?
551デフォルトの名無しさん (ワッチョイ bd2c-VrXP [180.52.201.48])
2022/03/12(土) 21:32:42.84ID:9cczQYeA0 web 系の質問は、web制作管理板の方のスレで聞いてください!
この板のスレは以前、荒らしが出た時に、緊急避難用に立てたもので、
本来はweb制作管理板の方です
この板のスレは以前、荒らしが出た時に、緊急避難用に立てたもので、
本来はweb制作管理板の方です
552デフォルトの名無しさん (ワッチョイ 4332-IMun [133.207.66.224])
2022/03/12(土) 21:36:30.85ID:5XddXhdb0553デフォルトの名無しさん (ワッチョイ 2501-ti3z [114.48.62.41])
2022/03/12(土) 22:58:01.42ID:iDbN5UB10554551 (ワッチョイ bd2c-lWiN [180.52.201.48])
2022/03/12(土) 23:28:29.22ID:9cczQYeA0 ここはプログラム板
HTML, DOM, CSS/SASS や、ブラウザ・サイトのページの知識などは、
web制作管理板の方がよい。ウェブ制作
それ以上のフレームワークなどは、WEBプログラミング板。ウェブ開発
YouTube で有名な、雑食系エンジニア・KENTA の本でも、
ウェブ制作はフロントエンド・コーダー、
ウェブ開発はバックエンド・SE みたいに、異なる分野となっている
HTML, DOM, CSS/SASS や、ブラウザ・サイトのページの知識などは、
web制作管理板の方がよい。ウェブ制作
それ以上のフレームワークなどは、WEBプログラミング板。ウェブ開発
YouTube で有名な、雑食系エンジニア・KENTA の本でも、
ウェブ制作はフロントエンド・コーダー、
ウェブ開発はバックエンド・SE みたいに、異なる分野となっている
555デフォルトの名無しさん (ワッチョイ bd10-pPbi [180.12.82.129])
2022/03/13(日) 00:51:37.82ID:zkh0XZKF0556デフォルトの名無しさん (ワッチョイ 9d01-m3T3 [126.126.240.1])
2022/03/13(日) 15:40:27.22ID:jxSWNPd90 オブジェクトの中で別のプロパティを参照するのはどうすればいいのでしょうか?
thisを使うとundefinedが返ってきて、thisを付けないとまだ定義されてないと
エラーが出ます。下記の例だとsideSpaceを参照したいのですが
うまくいきません。
const sp = {
width: 640,
sideSpace: 20,
space: this.sideSpace * 2,
inner: this.width - this.space,
}
thisを使うとundefinedが返ってきて、thisを付けないとまだ定義されてないと
エラーが出ます。下記の例だとsideSpaceを参照したいのですが
うまくいきません。
const sp = {
width: 640,
sideSpace: 20,
space: this.sideSpace * 2,
inner: this.width - this.space,
}
557デフォルトの名無しさん (ワッチョイ 2501-ti3z [114.48.62.41])
2022/03/13(日) 15:48:53.49ID:MhWbhXb10 >>556
getterかProxyを使えば良い
getterかProxyを使えば良い
558デフォルトの名無しさん (ワッチョイ 9d01-m3T3 [126.126.240.1])
2022/03/13(日) 17:18:48.53ID:jxSWNPd90 書き直してみたんですがやはりgetSpace()が未定義エラーが出てしまいます。
const sp = {
width: 640,
sideSpace: 20,
get getSpace() {
return this.sidespace * 2;
},
space: getSpace()
};
const sp = {
width: 640,
sideSpace: 20,
get getSpace() {
return this.sidespace * 2;
},
space: getSpace()
};
559デフォルトの名無しさん (ワッチョイ 4332-IMun [133.207.66.224])
2022/03/13(日) 17:25:30.15ID:gKsfpaAq0 >>558
const sp = {
width: 640,
sideSpace: 20,
get space() { return this.sideSpace * 2; },
get inner() { return this.width - this.space; },
};
console.log(sp.space); // 40
console.log(sp.inner); // 600
const sp = {
width: 640,
sideSpace: 20,
get space() { return this.sideSpace * 2; },
get inner() { return this.width - this.space; },
};
console.log(sp.space); // 40
console.log(sp.inner); // 600
560デフォルトの名無しさん (ワッチョイ 2501-ti3z [114.48.62.41])
2022/03/13(日) 17:26:15.54ID:MhWbhXb10 >>558
spaceとinnerをgetterにすれば良い
spaceとinnerをgetterにすれば良い
561デフォルトの名無しさん (ワッチョイ 2bf2-HUYZ [153.150.169.12])
2022/03/17(木) 19:32:02.34ID:v8AF8giY0 関数の引数にオブジェクトを使ってる時要素を固定する方法ってある
例えば
function main(obj){
obj.a;
obj.b;
}
みたいなときaとbだけの要素を受け入れたいんだけど
例えば
function main(obj){
obj.a;
obj.b;
}
みたいなときaとbだけの要素を受け入れたいんだけど
562デフォルトの名無しさん (ワッチョイ 2bf2-HUYZ [153.150.169.12])
2022/03/17(木) 19:36:12.35ID:v8AF8giY0 一応その要素があるかで判断して返すって方法はわかるどそれ以外でシンプルな感じで出来ないかなと思って
563デフォルトの名無しさん (ラクッペペ MMeb-AsxV [133.106.93.54])
2022/03/17(木) 19:38:09.18ID:N96K+gAsM 理解できないから適当に答えるが
objに必要なメンバーだけを抽出複製するメソッドを作ってみては?
objに必要なメンバーだけを抽出複製するメソッドを作ってみては?
564デフォルトの名無しさん
2022/03/19(土) 14:30:35.47ID:ZaiWDhWv aysncとawaitで頭がこんがらがってきました
function sleep() {
return new Promise(resolve => {
setTimeout(()=>resolve(),2000);
});
}
async function run(x) {
var a = await sleep();
var b = await sleep();
return x;
}
run(10).then(v=>console.log(v));
//これは4秒後に10と表示されます
//しかし、、
async function run2(x) {
var a = sleep();
var b = sleep();
var _a=await a;
var _b=await b;
return x;
}
run2(20).then(v=>console.log(v));
//これは2秒後に10と表示されます
//一体なぜ・・
var _a=await a; //ここで2秒待ち、
var _b=await b;//ここで2秒待ち、
だと思ったのですが・・・
function sleep() {
return new Promise(resolve => {
setTimeout(()=>resolve(),2000);
});
}
async function run(x) {
var a = await sleep();
var b = await sleep();
return x;
}
run(10).then(v=>console.log(v));
//これは4秒後に10と表示されます
//しかし、、
async function run2(x) {
var a = sleep();
var b = sleep();
var _a=await a;
var _b=await b;
return x;
}
run2(20).then(v=>console.log(v));
//これは2秒後に10と表示されます
//一体なぜ・・
var _a=await a; //ここで2秒待ち、
var _b=await b;//ここで2秒待ち、
だと思ったのですが・・・
565デフォルトの名無しさん (ワッチョイ 1e01-aoRc [111.188.124.93])
2022/03/19(土) 14:37:22.28ID:TKJ0fISW0 >>564
遡ってのawaitは不可能
遡ってのawaitは不可能
566デフォルトの名無しさん (ブーイモ MM1e-FY36 [133.159.150.229])
2022/03/19(土) 14:47:10.12ID:zP5GoGcDM >>564
Promise内の処理がいつ開始されるのかを考えてみれば?
Promise内の処理がいつ開始されるのかを考えてみれば?
567デフォルトの名無しさん
2022/03/19(土) 15:19:23.16ID:ZaiWDhWv >>565,566
なるほど・・?
runの方では
var a=await sleep()のタイミングで返り値Promise内処理がされてresolve()されるまで(2秒)待ち、
次いでvar b=await sleep()の計4秒
これはしっくりくるのですが
一方、run2の方では
var a = sleep();
var b = sleep();
の段階ではPromise内処理は実行されませんがa,b共にPromise格納
var _a=await a;のタイミングでawait Promise
次いでvar _b=await b;await Promise
だと思っていましたが
>遡ってのawaitは不可
つまり一度変数に格納した場合はrun1のようにはならず、非同期で_a,_b時にPromise内処理がされる
ということでしょうか
run2のようなパターンはあえてそういう処理として使っていいのか、それとも
基本的に変数とかに置かずにawait Promiseした方がいいのか
まだちょっとよくわかりませんがスッキリしました
ありがとうございます
なるほど・・?
runの方では
var a=await sleep()のタイミングで返り値Promise内処理がされてresolve()されるまで(2秒)待ち、
次いでvar b=await sleep()の計4秒
これはしっくりくるのですが
一方、run2の方では
var a = sleep();
var b = sleep();
の段階ではPromise内処理は実行されませんがa,b共にPromise格納
var _a=await a;のタイミングでawait Promise
次いでvar _b=await b;await Promise
だと思っていましたが
>遡ってのawaitは不可
つまり一度変数に格納した場合はrun1のようにはならず、非同期で_a,_b時にPromise内処理がされる
ということでしょうか
run2のようなパターンはあえてそういう処理として使っていいのか、それとも
基本的に変数とかに置かずにawait Promiseした方がいいのか
まだちょっとよくわかりませんがスッキリしました
ありがとうございます
568デフォルトの名無しさん (ワッチョイ d261-Jp3i [61.214.176.125])
2022/03/19(土) 15:33:49.12ID:DtRySdf10 runのパターだと非同期ではあるが直列動作
run2はsleepとawaitの間に別の処理を置いたり並列的な動作ができる
どっちがいいかはケースバイケース
run2はsleepとawaitの間に別の処理を置いたり並列的な動作ができる
どっちがいいかはケースバイケース
569デフォルトの名無しさん (オッペケ Sr67-uTnq [126.234.53.153])
2022/03/19(土) 15:41:31.50ID:VcAQVTiir そもそもそんな使い方するな
570デフォルトの名無しさん (ブーイモ MM83-FJJc [202.214.125.251])
2022/03/19(土) 16:13:33.28ID:RNh01PsRM 同期関数の使い方や処理タイミングはともかく、run2(20)としておきながらコンソールに10と出るのはおかしい
571デフォルトの名無しさん
2022/03/19(土) 16:25:28.50ID:ZaiWDhWv asyncとawaitのくだりでついでにもひとつ質問です
function sleep(x) {
return new Promise(resolve => {
setTimeout(()=>resolve(),x*1000);
});
}
async function run1(){
console.log("run1 start");
await sleep(5);
console.log("run1 end");
}
async function run2(){
console.log("run2 start");
await sleep(2);
console.log("run2 end");
}
function run(){
run1();
run2();
}
run();
これはrun1(),run2が非同期処理されて
狙った意図になりました
そこで今度はrun1()が処理しきったあとにrun2()を処理したい
つまり、run1 endと表示されてからrun2 startが表示されて
みたいな同期処理をしたいなと思いました
コールバックすれば簡単なのでしょうがせっかくなので
awaitとか活用した感じで書いてみたくrun1のとこにPromiseを返したりしてみましたが無限ループでブラウザが固まりました
何かいい案はありますでしょうかよろしくおねがいします
function sleep(x) {
return new Promise(resolve => {
setTimeout(()=>resolve(),x*1000);
});
}
async function run1(){
console.log("run1 start");
await sleep(5);
console.log("run1 end");
}
async function run2(){
console.log("run2 start");
await sleep(2);
console.log("run2 end");
}
function run(){
run1();
run2();
}
run();
これはrun1(),run2が非同期処理されて
狙った意図になりました
そこで今度はrun1()が処理しきったあとにrun2()を処理したい
つまり、run1 endと表示されてからrun2 startが表示されて
みたいな同期処理をしたいなと思いました
コールバックすれば簡単なのでしょうがせっかくなので
awaitとか活用した感じで書いてみたくrun1のとこにPromiseを返したりしてみましたが無限ループでブラウザが固まりました
何かいい案はありますでしょうかよろしくおねがいします
572デフォルトの名無しさん
2022/03/19(土) 16:32:40.17ID:ZaiWDhWv 改めてやってみたらできました
おそらくブラウザがフリーズしたのはrunとrun1を間違えてたようです
成功したのはこれです↓
こんな感じで合っているのでしょうか
async function run(){
await new Promise(resolve=>{
resolve(run1())
});
run2();
}
run();
おそらくブラウザがフリーズしたのはrunとrun1を間違えてたようです
成功したのはこれです↓
こんな感じで合っているのでしょうか
async function run(){
await new Promise(resolve=>{
resolve(run1())
});
run2();
}
run();
573デフォルトの名無しさん (ワッチョイ d261-Jp3i [61.214.176.125])
2022/03/19(土) 16:40:03.87ID:DtRySdf10 asyncな関数はPromiseを返すので
async function run(){
await run1();
run2();
}
async function run(){
await run1();
run2();
}
574デフォルトの名無しさん
2022/03/19(土) 16:46:15.37ID:ZaiWDhWv575デフォルトの名無しさん (オッペケ Sr67-uTnq [126.234.53.153])
2022/03/19(土) 17:13:19.06ID:VcAQVTiir 他人がみてわからん書き方すんなよ
576デフォルトの名無しさん
2022/03/19(土) 17:41:45.59ID:ZaiWDhWv やりたいことはざっくり>>571を例にすると
run1やrun2は非同期、同期どちらでも使えるようにしておいて
awaitするときは同期、しないときは非同期
という感じなのですが
他人からみてわかりにくいですかね・・?
もちろんrunの名前と中身によりますが
run1();
run2();
↑これは非同期だろうな
await run1();
console.log("途中");
await run2();
console.log("最後");
↑awaitついてるから同期だろうな
みたいに直感的にフローがわかるように思うのですが
もしかしてバグ生みそうな何かがあるのでしょうか
run1やrun2は非同期、同期どちらでも使えるようにしておいて
awaitするときは同期、しないときは非同期
という感じなのですが
他人からみてわかりにくいですかね・・?
もちろんrunの名前と中身によりますが
run1();
run2();
↑これは非同期だろうな
await run1();
console.log("途中");
await run2();
console.log("最後");
↑awaitついてるから同期だろうな
みたいに直感的にフローがわかるように思うのですが
もしかしてバグ生みそうな何かがあるのでしょうか
577デフォルトの名無しさん
2022/03/19(土) 17:44:55.70ID:ZaiWDhWv 補足
run1,2自体は非同期ではない?ですね
run1,2内のawaitの部分が非同期なだけであって
そこら辺、中身みないとわかりにくいですかね
run1,2自体は非同期ではない?ですね
run1,2内のawaitの部分が非同期なだけであって
そこら辺、中身みないとわかりにくいですかね
578デフォルトの名無しさん (ワッチョイ 1e01-aoRc [111.188.124.93])
2022/03/19(土) 18:31:46.85ID:TKJ0fISW0579デフォルトの名無しさん (アウアウアー Saae-6xcJ [27.85.207.6])
2022/03/19(土) 20:13:47.31ID:ZypCz9jZa コールバック関数入れ子呼び出し地獄
↓
Promise then数珠繋ぎ地獄
↓
async await
と書き方が変わって来たのでPromise thenとasync awaitを混ぜて書くのはおかしい。
使いやすい方を使えば良いと思うけど非同期処理で取得したデータをいくつも使う場合はasync awaitで書いたほうがスッキリ書けるよ。
Promise thenみたいだとthen途中まで中途半端に行コピペするミスとか起きる
↓
Promise then数珠繋ぎ地獄
↓
async await
と書き方が変わって来たのでPromise thenとasync awaitを混ぜて書くのはおかしい。
使いやすい方を使えば良いと思うけど非同期処理で取得したデータをいくつも使う場合はasync awaitで書いたほうがスッキリ書けるよ。
Promise thenみたいだとthen途中まで中途半端に行コピペするミスとか起きる
580デフォルトの名無しさん
2022/03/19(土) 20:20:09.04ID:ZaiWDhWv >>578
ありがとうございますやってみました
function sleep(x) {
setTimeout(()=>console.log("sleep",x),x*1000)
}
function msg(n){
console.log(n)
}
function run1(){
return new Promise(resolve=>{
msg("run1 start");
sleep(3); //この非同期処理を同期処理にしたい
msg("run1 end");
resolve("run1 success");
})
}
await Promise.all([run1()]).then(result=>{console.log(result)});
がsleep(3)のとこが非同期になってしまいます・・
ありがとうございますやってみました
function sleep(x) {
setTimeout(()=>console.log("sleep",x),x*1000)
}
function msg(n){
console.log(n)
}
function run1(){
return new Promise(resolve=>{
msg("run1 start");
sleep(3); //この非同期処理を同期処理にしたい
msg("run1 end");
resolve("run1 success");
})
}
await Promise.all([run1()]).then(result=>{console.log(result)});
がsleep(3)のとこが非同期になってしまいます・・
581デフォルトの名無しさん (アウアウアー Saae-6xcJ [27.85.207.6])
2022/03/19(土) 21:34:54.50ID:ZypCz9jZa awaitはasync関数内でしか使えないよ
582デフォルトの名無しさん
2022/03/19(土) 22:45:17.97ID:ZaiWDhWv583デフォルトの名無しさん (オッペケ Sr67-uTnq [126.234.53.153])
2022/03/20(日) 07:50:06.50ID:8bwKUIJnr もうめちゃくちゃだなw
そもそも何をしたいのかすらわからなくなった
そもそも何をしたいのかすらわからなくなった
584デフォルトの名無しさん (ワッチョイ c701-Jl5v [126.241.27.53])
2022/03/20(日) 09:48:36.58ID:98wGNFjK0 横からすみません!
async や await は関数の頭だけに付けれる認識でしょうか
単なるメソッドの前にawaitをつけれないんですね
たとえばアラート1と2がテレコにしたくないからといって下記のような書き方は不可ということでよいでしょうか
async hoge(){
await alert("1");
alert("2");
}
async や await は関数の頭だけに付けれる認識でしょうか
単なるメソッドの前にawaitをつけれないんですね
たとえばアラート1と2がテレコにしたくないからといって下記のような書き方は不可ということでよいでしょうか
async hoge(){
await alert("1");
alert("2");
}
585デフォルトの名無しさん (ワッチョイ 8232-4Ddi [133.207.66.224])
2022/03/20(日) 11:26:58.56ID:4y0+fo7i0586デフォルトの名無しさん (ワッチョイ 321b-bSSa [115.162.87.8])
2022/03/20(日) 11:44:24.57ID:ZsjWra1g0 http://newmofu.doorblog.jp
このサイトなんですが、RSSはjavascriptで取得しているんでしょうか?
このサイトなんですが、RSSはjavascriptで取得しているんでしょうか?
587デフォルトの名無しさん (ワッチョイ d261-Jp3i [61.214.176.125])
2022/03/20(日) 13:15:28.93ID:JFBEbRfA0588デフォルトの名無しさん (ワッチョイ c701-Jl5v [126.241.27.53])
2022/03/20(日) 15:09:47.81ID:98wGNFjK0589デフォルトの名無しさん
2022/03/20(日) 17:25:10.29ID:SwEbiGVb クラス内で実行中のメソッドを多重実行したくないとき
みなさんはどうしていますか
class hoge{
constructor(){
this.isStreaming=false;
}
stream(){
if(this.isStreaming){
console.log("実行中");
return
}else{
this.isStreaming=true;
console.log("実行");
}
const self=this;
//何か実行中...
setTimeout(()=>{self.isStreaming=false;console.log("終了")},3*1000);
}
}
var h=new hoge();
h.stream();
h.stream();
setTimeout(h.stream,5*1000);
これだと仮にstream1,2,3..と増えていったらisStreaming1,2,3...と増えていくと思うのですが
そういうのを回避するうまいやり方とかあるのでしょうか
みなさんはどうしていますか
class hoge{
constructor(){
this.isStreaming=false;
}
stream(){
if(this.isStreaming){
console.log("実行中");
return
}else{
this.isStreaming=true;
console.log("実行");
}
const self=this;
//何か実行中...
setTimeout(()=>{self.isStreaming=false;console.log("終了")},3*1000);
}
}
var h=new hoge();
h.stream();
h.stream();
setTimeout(h.stream,5*1000);
これだと仮にstream1,2,3..と増えていったらisStreaming1,2,3...と増えていくと思うのですが
そういうのを回避するうまいやり方とかあるのでしょうか
590デフォルトの名無しさん
2022/03/20(日) 17:38:27.19ID:SwEbiGVb 補足 クラス内というかインスタンスで、でした
591sage (ワッチョイ c701-3UDB [126.3.43.63])
2022/03/20(日) 17:49:26.68ID:OSPfEuDk0 >>589
例えば、クロージャを作って、メソッドのステータスをクロージャ内に格納させるとか。
class hoge {
stream(){
let isStreaming = false;
return function() {
if(isStreaming){
console.log("実行中")
}else{
isStreaming = true;
console.log("実行")
setTimeout(() => { isStreaming = false; console.log("終了") }, 3 * 1000);
}
}
}
}
let h = new hoge();
stream = h.stream();
setInterval(stream ,1000);
例えば、クロージャを作って、メソッドのステータスをクロージャ内に格納させるとか。
class hoge {
stream(){
let isStreaming = false;
return function() {
if(isStreaming){
console.log("実行中")
}else{
isStreaming = true;
console.log("実行")
setTimeout(() => { isStreaming = false; console.log("終了") }, 3 * 1000);
}
}
}
}
let h = new hoge();
stream = h.stream();
setInterval(stream ,1000);
592デフォルトの名無しさん
2022/03/20(日) 17:56:19.09ID:SwEbiGVb593デフォルトの名無しさん (ワッチョイ 1e01-aoRc [111.188.124.93])
2022/03/20(日) 18:00:23.47ID:2Ue7hGfR0594デフォルトの名無しさん
2022/03/20(日) 18:25:56.74ID:SwEbiGVb595591 (ワッチョイ c701-3UDB [126.3.43.63])
2022/03/20(日) 19:15:48.99ID:OSPfEuDk0 >>592
functionを引数で受け取れるようにするといいかもしれない。
class hoge {
makeStream(f){
let isStreaming = false;
return function() {
if(isStreaming){
console.log("実行中");
}else{
isStreaming = true;
console.log("実行");
f();
setTimeout(() => { isStreaming = false; console.log("終了") }, 3 * 1000);
}
}
}
}
let h = new hoge();
stream1 = h.makeStream(()=>{console.log("なんかの処理1")});
stream2 = h.makeStream(()=>{console.log("なんかの処理2")});
functionを引数で受け取れるようにするといいかもしれない。
class hoge {
makeStream(f){
let isStreaming = false;
return function() {
if(isStreaming){
console.log("実行中");
}else{
isStreaming = true;
console.log("実行");
f();
setTimeout(() => { isStreaming = false; console.log("終了") }, 3 * 1000);
}
}
}
}
let h = new hoge();
stream1 = h.makeStream(()=>{console.log("なんかの処理1")});
stream2 = h.makeStream(()=>{console.log("なんかの処理2")});
596デフォルトの名無しさん
2022/03/20(日) 19:54:06.60ID:SwEbiGVb597デフォルトの名無しさん (ワッチョイ d72c-kNuw [180.52.201.48])
2022/03/20(日) 22:45:44.89ID:aLyHOWc60598デフォルトの名無しさん (ワッチョイ 6b63-3nKN [114.175.255.213])
2022/03/20(日) 23:28:24.98ID:1AhGKhB60 今月くらいからyoutube動画埋め込んだページのdev toolコンソール見るとservice workerが大量のエラー吐くようになったんだが
jsでクライアント端末側でどうにかできる?
jsでクライアント端末側でどうにかできる?
599デフォルトの名無しさん (ワッチョイ d72c-kNuw [180.52.201.48])
2022/03/21(月) 01:01:24.11ID:avj/Dp0k0 何かのサービスが終わったとか?
やり方が変更されたとか?
やり方が変更されたとか?
600デフォルトの名無しさん
2022/03/24(木) 20:37:07.86ID:0pE5eZuk var ary=["a","b","c"];
for(let i in ary){
if(i===0){ continue }
console.log(i,typeof i,"int違う・・")
}
for inの罠にハマってしまいました
こういうiも取りたいときってforEachだったり
配列のlengthとってforで回したりの方がいいんですかね?
for(let i in ary){
if(i===0){ continue }
console.log(i,typeof i,"int違う・・")
}
for inの罠にハマってしまいました
こういうiも取りたいときってforEachだったり
配列のlengthとってforで回したりの方がいいんですかね?
601デフォルトの名無しさん (ブーイモ MM4e-FJJc [163.49.203.7])
2022/03/24(木) 20:55:28.38ID:IVltSCqHM602デフォルトの名無しさん (ワッチョイ 9e66-iJS8 [159.28.180.79])
2022/03/24(木) 20:55:55.62ID:y95b8UUh0 ixを用意してまわしてもいいし、オブジェクトの
entries 使ってfor ofでまわしてもいい。
正直超些細なことでどっちでもいい。
entries 使ってfor ofでまわしてもいい。
正直超些細なことでどっちでもいい。
603デフォルトの名無しさん (ワッチョイ 0701-aoRc [36.240.122.119])
2022/03/24(木) 21:37:28.49ID:puY9Jz2N0604デフォルトの名無しさん
2022/03/24(木) 21:49:07.67ID:0pE5eZuk605デフォルトの名無しさん (ワッチョイ 0701-aoRc [36.240.122.119])
2022/03/24(木) 22:04:46.78ID:puY9Jz2N0 >>604
疎な配列を考慮する場合、for文とhasOwnPropertyを併用する必要がある
配列でfor-in文を使うと他で拡張されたプロパティも拾うので、理由がなければお勧めしない
keysやentriesからsliceしてfor-ofでも良い
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/keys
疎な配列を考慮する場合、for文とhasOwnPropertyを併用する必要がある
配列でfor-in文を使うと他で拡張されたプロパティも拾うので、理由がなければお勧めしない
keysやentriesからsliceしてfor-ofでも良い
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/keys
606デフォルトの名無しさん (ワッチョイ 0701-aoRc [36.240.122.119])
2022/03/24(木) 22:09:38.34ID:puY9Jz2N0 keysやentriesからfor文の方がスマートか
607デフォルトの名無しさん
2022/03/24(木) 22:40:29.47ID:0pE5eZuk608デフォルトの名無しさん (オッペケ Sr67-uTnq [126.167.126.187])
2022/03/24(木) 22:56:29.50ID:I4v/4Eugr for-inは非推奨
609デフォルトの名無しさん (ワッチョイ 0701-aoRc [36.240.122.119])
2022/03/25(金) 00:35:38.75ID:St3aQ5GC0 >>608
for-inは仕様上、非推奨じゃない
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...in
prototype拡張したコードを考慮してないコードでバグを誘発させるだけ
https://www.google.com/search?q=for-in+prototype%E6%B1%9A%E6%9F%93
理解して使う分には問題ないが、コーディング規約で縛られていれば使えないし、チーム内に初心者が一人いるだけでバグを作り込むリスクがある
Object.keys() 等の他のプロパティ列挙機能で要件を満たせるなら、for-inを使う理由はない
要件を見直してみれば、ほとんどの場合にfor-inを使う必要がないことが分かるはずだ
for-inは仕様上、非推奨じゃない
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...in
prototype拡張したコードを考慮してないコードでバグを誘発させるだけ
https://www.google.com/search?q=for-in+prototype%E6%B1%9A%E6%9F%93
理解して使う分には問題ないが、コーディング規約で縛られていれば使えないし、チーム内に初心者が一人いるだけでバグを作り込むリスクがある
Object.keys() 等の他のプロパティ列挙機能で要件を満たせるなら、for-inを使う理由はない
要件を見直してみれば、ほとんどの場合にfor-inを使う必要がないことが分かるはずだ
610デフォルトの名無しさん (ワッチョイ d7ff-SjDQ [180.198.12.19])
2022/03/25(金) 02:03:31.28ID:Yg2YvIk20 if (++score == 10)
if (score == 10)ならばわかるのですが、
ここに++が加わることでどのような意味になりますか?
if (score == 10)ならばわかるのですが、
ここに++が加わることでどのような意味になりますか?
611デフォルトの名無しさん (ブーイモ MM4e-FJJc [163.49.201.76])
2022/03/25(金) 02:20:07.52ID:IB939EjQM >>610
評価前にscoreの値が+1される
インクリメント (++) - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Increment
評価前にscoreの値が+1される
インクリメント (++) - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Increment
612デフォルトの名無しさん (ワッチョイ d7ff-SjDQ [180.198.12.19])
2022/03/25(金) 03:35:53.60ID:Yg2YvIk20 >>611
ありがとうございます!
ありがとうございます!
613デフォルトの名無しさん (ワッチョイ c701-Jl5v [126.241.27.53])
2022/03/25(金) 22:15:14.80ID:mxqYNiam0 async/awaitのことですが
await hoge();
としたときに、hogeが実行される前に何かを待つのか、
それともhogeが実行されその完了を待つのか、
どちらでしょうか
それと、promiseを返す関数かそうでないかはどうやって見分けますか
await hoge();
としたときに、hogeが実行される前に何かを待つのか、
それともhogeが実行されその完了を待つのか、
どちらでしょうか
それと、promiseを返す関数かそうでないかはどうやって見分けますか
614デフォルトの名無しさん (アウアウクー MM33-IDr3 [36.11.229.72])
2022/03/26(土) 00:51:31.77ID:m2MNxml2M async関数は記述は普通の関数だけどPromiseを返す関数。awaitは完了を待つ
615デフォルトの名無しさん (オッペケ Sr33-ziqS [126.194.30.143])
2022/03/26(土) 08:38:54.66ID:gURe/O9Rr awaitは「あ、待って」って覚えるとよい
616デフォルトの名無しさん (アウアウウー Sa23-K/1G [106.146.89.17])
2022/03/26(土) 09:09:03.44ID:KPWAIzDZa 完了を待つには待つけど
何を以て完了とするかはそれぞれの関数が決めること
見分ける方法は無いしそもそも得体の知れない関数を使っちゃ駄目
何を以て完了とするかはそれぞれの関数が決めること
見分ける方法は無いしそもそも得体の知れない関数を使っちゃ駄目
617デフォルトの名無しさん (ワッチョイ 5f01-ZRWY [126.241.27.53])
2022/03/26(土) 10:06:13.85ID:PyuIzITI0 こんにちは>>613です
蒸し返しですみませんが
awaitをつける行じたいがapiなどの重い処理なんですかね
それともawaitはthenのような意味で処理を待つ行なんですかね
つまりawaitは待つ側なのか、待たされる側なのか、という質問です
蒸し返しですみませんが
awaitをつける行じたいがapiなどの重い処理なんですかね
それともawaitはthenのような意味で処理を待つ行なんですかね
つまりawaitは待つ側なのか、待たされる側なのか、という質問です
618デフォルトの名無しさん (アウアウクー MM33-IDr3 [36.11.229.72])
2022/03/26(土) 10:17:45.12ID:m2MNxml2M awaitは非同期処理の完了を待つ。非同期処理を順次実行する時に使う。
処理待ちでブラウザが無反応にならないようにする目的ならsetTimeoutとかsetIntervalとかWeb Workers使うんじゃないかな
処理待ちでブラウザが無反応にならないようにする目的ならsetTimeoutとかsetIntervalとかWeb Workers使うんじゃないかな
619613 (ワッチョイ 5f01-ZRWY [126.241.27.53])
2022/03/26(土) 11:57:59.24ID:PyuIzITI0 >>617で書いた、「待つ側」と「待たされる側」てのは同じ意味でしたねw
待つ側なのか、待たせる側なのか、という質問です
待つ側なのか、待たせる側なのか、という質問です
620デフォルトの名無しさん (ワッチョイ df4e-jbHl [210.138.216.243])
2022/03/27(日) 05:19:16.05ID:FEuFUFUF0 >>581
Top-level Await
従来、JavaScriptのawaitはasync function内でしか使えなかったが、
今後はasync functionの外、top levelでもawaitが使えるようになる
ES2022より
Top-level Await
従来、JavaScriptのawaitはasync function内でしか使えなかったが、
今後はasync functionの外、top levelでもawaitが使えるようになる
ES2022より
621デフォルトの名無しさん
2022/03/27(日) 15:29:56.04ID:M7t4c+zh クロージャーであるsetter,getterを持つクラスを作ったのですが
クロージャーをセットするときにパラメーターを渡したいとき、どうすればいいのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(f){
this._f=f();
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = function(){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:()=>console.log(r)
}
}
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r(); // 10
↑はこれで良いのですが、例えば
h.f = function(m){
let r=0;
return {
sum:(a,b)=>(r+=(a+b)*m),
r:()=>console.log(r)
}
}
みたいにパラメーターmを渡したいです
しかし、setterには引数1つしか渡せないので詰みました。
かと言って
f(f,prms={}){ this._f=f(prms) }
get f(){}
はできません
setter,getterを使わずに、一時保存的な変数を増やしてゴリゴリ書くしかないでしょうか
つづく
クロージャーをセットするときにパラメーターを渡したいとき、どうすればいいのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(f){
this._f=f();
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = function(){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:()=>console.log(r)
}
}
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r(); // 10
↑はこれで良いのですが、例えば
h.f = function(m){
let r=0;
return {
sum:(a,b)=>(r+=(a+b)*m),
r:()=>console.log(r)
}
}
みたいにパラメーターmを渡したいです
しかし、setterには引数1つしか渡せないので詰みました。
かと言って
f(f,prms={}){ this._f=f(prms) }
get f(){}
はできません
setter,getterを使わずに、一時保存的な変数を増やしてゴリゴリ書くしかないでしょうか
つづく
622デフォルトの名無しさん
2022/03/27(日) 15:32:25.21ID:M7t4c+zh つづき>>621
苦肉の策として、h.fに配列を渡すことにしました。
が、、コレジャナイ感が・・
しかし正解がわからないのでこれで良いのかどうかすらわかりません。
何か別にスマートな書き方はあるのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(ary){
this._f=ary[0](ary[1]);
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = [function({m=1}){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:(msg)=>console.log(msg,r*m)
}
},{m:0.5}];
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r("(1+2+3+4)*0.5 = ");
苦肉の策として、h.fに配列を渡すことにしました。
が、、コレジャナイ感が・・
しかし正解がわからないのでこれで良いのかどうかすらわかりません。
何か別にスマートな書き方はあるのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(ary){
this._f=ary[0](ary[1]);
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = [function({m=1}){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:(msg)=>console.log(msg,r*m)
}
},{m:0.5}];
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r("(1+2+3+4)*0.5 = ");
623デフォルトの名無しさん (ワッチョイ 5f01-Y7qZ [126.3.43.63])
2022/03/27(日) 18:02:56.87ID:tt2ZDA7G0 >>622
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
624デフォルトの名無しさん
2022/03/27(日) 18:23:49.57ID:M7t4c+zh >>623
いえ全然アリです
個人的に
function hogeclosure1({m,n}){return ()=>}
function hogeclosure2({m,n}){return ()=>}
var prms1={m:1,n:2};
var prms2={m:11,n:22};
h.f(hogeclosure1,prms2);
な書き方がしたいなと思ったのですが(prmsの精査や加工をクラス側で処理できるので)、
h.f=hogeclosure1(prms);
検討してみます
ありがとうございました
いえ全然アリです
個人的に
function hogeclosure1({m,n}){return ()=>}
function hogeclosure2({m,n}){return ()=>}
var prms1={m:1,n:2};
var prms2={m:11,n:22};
h.f(hogeclosure1,prms2);
な書き方がしたいなと思ったのですが(prmsの精査や加工をクラス側で処理できるので)、
h.f=hogeclosure1(prms);
検討してみます
ありがとうございました
625デフォルトの名無しさん (ブーイモ MM83-QNkB [210.148.125.22])
2022/03/27(日) 18:42:46.38ID:V2wsdbVLM626デフォルトの名無しさん (ワッチョイ 5f01-Y7qZ [126.3.43.63])
2022/03/27(日) 19:22:43.75ID:tt2ZDA7G0 >>622
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
627デフォルトの名無しさん
2022/03/29(火) 22:07:09.61ID:wVAC/++3 頭がこんがらがってくる事象に遭遇しました
var arr=[[1,2,3],[4,5,6],[7,8,9]];
function hoge(){
function h(arr){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
return (arr)=>h(arr)
}
var ho=hoge();
console.log(ho(arr.concat()));//1回目
console.log(ho(arr.concat()));//2回目
1回目、2回目
共に.concat()でディープコピーしたデータを渡したはずなのですが
arr[i][1]=arr[i][1]*2のとこでなぜか前回のデータが反映されてます
クロージャーだから・・?という何となくしかわからないのですが
そうならないためにarr.concat()したのにな???という感じです。
for文でvar _d=arr[1].concat()としてやるともちろん1回目も2回目も同じ結果になります。
ただ、arr[1].concat()しなかった場合も、そもそも渡したarrがarr.concat()なので
function hに渡され処理した結果も独立のデータになりそうな気がするのですが、なぜなんでしょうか??
var arr=[[1,2,3],[4,5,6],[7,8,9]];
function hoge(){
function h(arr){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
return (arr)=>h(arr)
}
var ho=hoge();
console.log(ho(arr.concat()));//1回目
console.log(ho(arr.concat()));//2回目
1回目、2回目
共に.concat()でディープコピーしたデータを渡したはずなのですが
arr[i][1]=arr[i][1]*2のとこでなぜか前回のデータが反映されてます
クロージャーだから・・?という何となくしかわからないのですが
そうならないためにarr.concat()したのにな???という感じです。
for文でvar _d=arr[1].concat()としてやるともちろん1回目も2回目も同じ結果になります。
ただ、arr[1].concat()しなかった場合も、そもそも渡したarrがarr.concat()なので
function hに渡され処理した結果も独立のデータになりそうな気がするのですが、なぜなんでしょうか??
628デフォルトの名無しさん
2022/03/29(火) 22:19:49.44ID:wVAC/++3 補足です
改めてクロージャー無しでやってみたら
function hoge(){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
これもまた変更されてました・・
改めてクロージャー無しでやってみたら
function hoge(){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
これもまた変更されてました・・
629デフォルトの名無しさん
2022/03/29(火) 22:22:32.33ID:wVAC/++3 連投すみません
>>628はhoge()で引数とってないのでおかしいですね
こうでした↓
function hoge(data){
var res=[];
for(var i=0;i<data.length;i++){
var _d=data[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
>>628はhoge()で引数とってないのでおかしいですね
こうでした↓
function hoge(data){
var res=[];
for(var i=0;i<data.length;i++){
var _d=data[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
630デフォルトの名無しさん
2022/03/29(火) 22:37:48.87ID:wVAC/++3 自己解決しました
.concat()ディープコピーかと思ったらシャローコピーでした・・
hoge(JSON.parse(JSON.stringify(arr)));
で行けました・・
.concat()ディープコピーかと思ったらシャローコピーでした・・
hoge(JSON.parse(JSON.stringify(arr)));
で行けました・・
631デフォルトの名無しさん (ワッチョイ 5f01-c/bJ [126.161.203.60])
2022/03/31(木) 02:46:41.93ID:MFrlKIWw0 すみません。
初心者なんですが、@などのデコレータ?の意味が調べてもよくわからないんですけど教えてくれませんか?
初心者なんですが、@などのデコレータ?の意味が調べてもよくわからないんですけど教えてくれませんか?
632デフォルトの名無しさん (ワッチョイ 5f01-vpfm [60.153.210.43])
2022/03/31(木) 14:54:28.12ID:K6LuIPS40 javascriptって、キャッチされなかった例外が最終的に集約されるハンドラってある?
.NETのDispatcherUnhandledExceptionみたいなやつ
ググってみたけど、window.unhandledrejectionくらいしか見つからんかった
これって名前的にpromiseのrejectを実装してないときにしか使われんよね?
.NETのDispatcherUnhandledExceptionみたいなやつ
ググってみたけど、window.unhandledrejectionくらいしか見つからんかった
これって名前的にpromiseのrejectを実装してないときにしか使われんよね?
633デフォルトの名無しさん (ワッチョイ dfe5-gZpx [114.171.120.178])
2022/03/31(木) 16:49:24.25ID:QdDep3ZF0 onerror
634デフォルトの名無しさん (ワッチョイ 5f01-vpfm [60.153.210.43])
2022/03/31(木) 23:41:59.53ID:K6LuIPS40 dクス
調べてみるとonerrorだとpromiseのrejectはハンドリングしてくれないっぽいね
onerrorとunhandledreject両方を使うのがいいんかなぁ
awaitでrejectしたときってどっちにハンドリングされるんだろ?明日実際に試してみるかー
調べてみるとonerrorだとpromiseのrejectはハンドリングしてくれないっぽいね
onerrorとunhandledreject両方を使うのがいいんかなぁ
awaitでrejectしたときってどっちにハンドリングされるんだろ?明日実際に試してみるかー
635デフォルトの名無しさん (ワッチョイ 5f2c-XwpL [180.44.185.237])
2022/04/01(金) 15:19:09.19ID:PU7Zi1lY0 非同期は文脈が異なる・異世界だから、通信できない
通信不能な物に対しては、timeout ぐらいしか、やりようがない
通信不能な物に対しては、timeout ぐらいしか、やりようがない
636デフォルトの名無しさん (ワッチョイ 7d10-hrnX [180.12.82.129])
2022/04/02(土) 18:01:02.86ID:3Re6Hfed0 スクロールバーがスクロール量500を超えたら画像を徐々に濃くして表示、500より少なかったら画像を徐々に薄くして非表示にするのってどうやるんですか?
スクロール方向で場合分けしてスクロールバーが500をまたいだかどうか判定して
setIntervalを使ってopacityで濃くしたり薄くしたりするしかないんですか?
スクロール方向で場合分けしてスクロールバーが500をまたいだかどうか判定して
setIntervalを使ってopacityで濃くしたり薄くしたりするしかないんですか?
637デフォルトの名無しさん (ワッチョイ 7d2c-8SQp [180.44.185.237])
2022/04/02(土) 18:43:50.54ID:YPKLSNfQ0 スクロール位置で判定すれば?
scrollTop だったかな?
scrollTop だったかな?
638デフォルトの名無しさん (ワッチョイ ee01-nSWI [111.188.59.150])
2022/04/02(土) 21:11:08.49ID:YAja5EWm0639デフォルトの名無しさん (ワッチョイ 0d01-RJ9h [126.241.27.53])
2022/04/03(日) 15:30:48.81ID:oIYvxJGU0 奇抜なアイデアでもググると出てきてしまう昨今ですが
あっと驚く理不尽な処理はありませんか
棺桶あけたら自分が中にいましたみたいな
あっと驚く理不尽な処理はありませんか
棺桶あけたら自分が中にいましたみたいな
640デフォルトの名無しさん (ワッチョイ ee01-nSWI [111.188.59.150])
2022/04/03(日) 22:20:40.81ID:apGbIMaW0 >>639
挙動は仕様書に書かれているため、仕様を理解すればするほど驚く機会は少なくなる
普段から勉強をせず、プログラミング系サイトを巡回すれば、「あっと驚く理不尽な処理」に出会える可能性を高められるだろう
(まともな技術者なら自らの無知を恥じるべきだろうが)
挙動は仕様書に書かれているため、仕様を理解すればするほど驚く機会は少なくなる
普段から勉強をせず、プログラミング系サイトを巡回すれば、「あっと驚く理不尽な処理」に出会える可能性を高められるだろう
(まともな技術者なら自らの無知を恥じるべきだろうが)
641デフォルトの名無しさん (ワッチョイ db10-MExA [180.12.82.129])
2022/04/09(土) 18:27:31.25ID:d8bX3KTm0 ページをスムーズに移動するときscrollToを使いますが
これみたいにelementをスムーズに移動させる関数はありますか?
これみたいにelementをスムーズに移動させる関数はありますか?
642デフォルトの名無しさん (オッペケ Sr3b-9is6 [126.158.245.153])
2022/04/09(土) 19:11:11.85ID:NsLa5u+dr jsでスムーズは無理なのでcssでやってくれ
643デフォルトの名無しさん (ワンミングク MM8a-vK7a [153.155.2.114])
2022/04/09(土) 19:46:32.17ID:mW5Jyv0xM GSAPとか使えば楽に動かせる
644デフォルトの名無しさん (テテンテンテン MMb6-TBAu [133.106.51.175])
2022/04/13(水) 09:13:53.65ID:Qi5auZGwM <div id="test">
<a href="aaa.html"></a>
<a href="bbb.html"></a>
</div>
このdivの中にあるhrefを全て取得するには
どうやったらいいんですか?
aにidやclassはつけないものとします。
<a href="aaa.html"></a>
<a href="bbb.html"></a>
</div>
このdivの中にあるhrefを全て取得するには
どうやったらいいんですか?
aにidやclassはつけないものとします。
645デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.123.235])
2022/04/13(水) 09:24:08.70ID:j7E4iT5n0646デフォルトの名無しさん (ワッチョイ b602-9+GH [119.106.222.232])
2022/04/14(木) 06:34:43.15ID:hMI8sVN30 document.querySelectorAll
647デフォルトの名無しさん (ワッチョイ b72f-jtTv [218.220.251.107])
2022/04/14(木) 12:38:00.60ID:VhBZ5PIH0 document.querySelectorはいま流行りなんですか?
document.getElementByIdしか知らなかったけど。
document.getElementByIdしか知らなかったけど。
648デフォルトの名無しさん (オッペケ Sr3b-9is6 [126.253.160.247])
2022/04/14(木) 13:03:41.45ID:e+FW9n+1r 流行りっていうかもうかなり昔からあるけどな
649デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.122.69])
2022/04/14(木) 13:53:57.95ID:AzvcwCnH0 流行りで決めるスタンスは分からんが、ノード検索系は既に成熟してる感ある
xpathはなぜか最新仕様が実装されないけど
xpathはなぜか最新仕様が実装されないけど
650デフォルトの名無しさん (ワッチョイ cedb-L4Li [217.178.96.78])
2022/04/15(金) 10:18:55.82ID:sZWwv8hr0 javascriptって初心者向けと言われているけど、難しいよね?
651デフォルトの名無しさん (ワッチョイ 5f63-OCtv [114.175.255.213])
2022/04/15(金) 11:05:45.21ID:DZhoNVLD0 初心者向けと言われてるのを知らない
652デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.122.69])
2022/04/15(金) 12:40:06.63ID:28sm60Uu0 >>650
環境構築の敷居が低いだけ
環境構築の敷居が低いだけ
653デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 12:45:46.17ID:lD7JO0wI0 javascriptの勉強中です。
Wordでコード試作してEdgeのコンソールにコピペしたら、クォーテーションやダブルクォーテーションのある行で必ずエラーになります。
どうもwordで書いたことが問題らしいです。
同じコードを色んなファイル形式で書いてからコンソールで検証した結果、
・最初からコンソールに直接書くと、正常に作動
・テキストドキュメントに書いてコンソールにコピペすると、正常に作動
・最初からコンソールに書き込んだものをwordにコピペして、フォントを適当に変えた後、コンソールにコピペすると正常に作動
・wordに書いたコードをコンソールにコピペするとクオーテーションのある行でエラーになる。
・wordで書いたコード(そのままコンソールにコピペするとエラー)の全てのクォーテーションに、コンソールに書いたクォーテーションを上書きコピペ(元の書式を保持)すると、コンソール上で正常に作動するようになる
という検証結果になりました。
試作コードをwordじゃなくテキストドキュメントで作るようにしてからは、今のところ問題は起きていないです。
で、質問なんですが、
どうもword形式で書いたクォーテーションやダブルクォーテーションは、内部的に問題がありそうなのですが、理由を詳しく知っている方はいますか?
あと、編集や保存が楽なテキスト形式でコードを試作したいとき、みなさんは何を使ってますか?
Wordでコード試作してEdgeのコンソールにコピペしたら、クォーテーションやダブルクォーテーションのある行で必ずエラーになります。
どうもwordで書いたことが問題らしいです。
同じコードを色んなファイル形式で書いてからコンソールで検証した結果、
・最初からコンソールに直接書くと、正常に作動
・テキストドキュメントに書いてコンソールにコピペすると、正常に作動
・最初からコンソールに書き込んだものをwordにコピペして、フォントを適当に変えた後、コンソールにコピペすると正常に作動
・wordに書いたコードをコンソールにコピペするとクオーテーションのある行でエラーになる。
・wordで書いたコード(そのままコンソールにコピペするとエラー)の全てのクォーテーションに、コンソールに書いたクォーテーションを上書きコピペ(元の書式を保持)すると、コンソール上で正常に作動するようになる
という検証結果になりました。
試作コードをwordじゃなくテキストドキュメントで作るようにしてからは、今のところ問題は起きていないです。
で、質問なんですが、
どうもword形式で書いたクォーテーションやダブルクォーテーションは、内部的に問題がありそうなのですが、理由を詳しく知っている方はいますか?
あと、編集や保存が楽なテキスト形式でコードを試作したいとき、みなさんは何を使ってますか?
654デフォルトの名無しさん (ワッチョイ d114-R9gE [124.101.164.198])
2022/04/17(日) 12:49:32.71ID:U+v/j1Oq0 文字コードやないんか?
655デフォルトの名無しさん (ワッチョイ d114-R9gE [124.101.164.198])
2022/04/17(日) 12:51:06.49ID:U+v/j1Oq0 エディタはvscodeつかったらいいよ
656デフォルトの名無しさん (ワッチョイ 6bba-JgUw [121.84.29.72])
2022/04/17(日) 12:55:31.73ID:TTO+H6Xx0 ブラウザにいれてるviolentmonkeyのエディタ使ってる
657デフォルトの名無しさん (オッペケ Srdd-oaBF [126.33.126.113])
2022/04/17(日) 13:05:51.20ID:k8OFv/xgr wordうんたらはネタだろ
658デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 17:04:07.98ID:lD7JO0wI0 >>654
それだ…!!
「"」で確認してみたけど、まったく同じキーで入力したのに
Wordで入力…レフトダブルクォーテーション、文字コードは201C、文字は「“」
コンソールで入力…ダブルクォーテーション、文字コードは0022、文字は「"」
全く同じ入力方法、フォントも同じ。見た目もそっくりだけど、200%に拡大したら確かに違う文字ですた。
>>655、>>656
ありがとん。
vsコード持ってるから今度からそっちにしてみます。
>>657
それがネタじゃないんだな(泣)。
トライアンドエラーでコード構築の練習をしたかったので、楽なソフトでコードを書きたかったんよ。
wordならダブルクリックで立ち上がるし、字も見やすい大きさに拡大できるし、採用しなかったコードも適当にストックできて、楽そうだなぁ、と…。
まさか文字コード違いで問題が起きるとは想像もしなかったにゃ。
それだ…!!
「"」で確認してみたけど、まったく同じキーで入力したのに
Wordで入力…レフトダブルクォーテーション、文字コードは201C、文字は「“」
コンソールで入力…ダブルクォーテーション、文字コードは0022、文字は「"」
全く同じ入力方法、フォントも同じ。見た目もそっくりだけど、200%に拡大したら確かに違う文字ですた。
>>655、>>656
ありがとん。
vsコード持ってるから今度からそっちにしてみます。
>>657
それがネタじゃないんだな(泣)。
トライアンドエラーでコード構築の練習をしたかったので、楽なソフトでコードを書きたかったんよ。
wordならダブルクリックで立ち上がるし、字も見やすい大きさに拡大できるし、採用しなかったコードも適当にストックできて、楽そうだなぁ、と…。
まさか文字コード違いで問題が起きるとは想像もしなかったにゃ。
659デフォルトの名無しさん (ワッチョイ d98b-Ckae [210.228.102.1])
2022/04/17(日) 17:51:02.03ID:pn/ClTGJ0660デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 18:12:43.66ID:lD7JO0wI0661デフォルトの名無しさん (ワッチョイ 2933-+1fN [112.71.200.123])
2022/04/17(日) 18:15:32.20ID:xdoWfkC30 何気にwordでコード書いてる人みたのネット上ですら初めてかもしれん
662デフォルトの名無しさん (ワッチョイ e12c-+xkO [180.27.221.116])
2022/04/19(火) 02:49:01.33ID:tGbJiwG70 >>644
jQuery で、id="test" 直下・子(a, c)と子孫(b)を取得した
<div id="test">
<a href="a.html"></a>
<div><a href="b.html"></a></div>
<a href="c.html"></a>
</div>
$( function ( ) {
function get_a( selector ) {
return $( selector ).map( function( ) { return $( this ).attr( 'href' ); } );
}
const children = get_a( '#test > a' )
const descendants = get_a( '#test a' )
console.log( children, descendants )
} );
出力
['a.html', 'c.html'] // 直下・子のみ
['a.html', 'b.html', 'c.html'] // 子孫
jQuery で、id="test" 直下・子(a, c)と子孫(b)を取得した
<div id="test">
<a href="a.html"></a>
<div><a href="b.html"></a></div>
<a href="c.html"></a>
</div>
$( function ( ) {
function get_a( selector ) {
return $( selector ).map( function( ) { return $( this ).attr( 'href' ); } );
}
const children = get_a( '#test > a' )
const descendants = get_a( '#test a' )
console.log( children, descendants )
} );
出力
['a.html', 'c.html'] // 直下・子のみ
['a.html', 'b.html', 'c.html'] // 子孫
663デフォルトの名無しさん (ワッチョイ 1949-ny4V [114.160.215.18])
2022/04/19(火) 10:51:06.57ID:9fIYs0Yt0 proxyってどうやってfor inやforEachすればいいですか
664デフォルトの名無しさん
2022/04/20(水) 13:31:39.60 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
↑でbindのメリットを考えてみたのですが
const module2 = {x:333}
const hogeGetX = unboundGetX.bind(module2);
console.log(hogeGetX());
xの値を変更しつつmoduleのgetXはそのまま使える、
みたいなことでしょうか??
↑でbindのメリットを考えてみたのですが
const module2 = {x:333}
const hogeGetX = unboundGetX.bind(module2);
console.log(hogeGetX());
xの値を変更しつつmoduleのgetXはそのまま使える、
みたいなことでしょうか??
665デフォルトの名無しさん (ワッチョイ ab79-KJWI [110.0.131.50])
2022/04/24(日) 03:36:46.70ID:G77ToU3y0 JavaScript初心者なんですが、marindeckっていうTwitterクライアントアプリでとあることがしたくて下のコードを書いて実行したんですがcan't create variable duplicate "title"ってエラーが出てしまいました。調べてみたらwebkitが悪いらしいんですが解決方法が分からなくて困ってます。titleを変えたら次はheaderが駄目になって、headerを変えたらitem、最終的にはtitleのところがエラーになります。constをletやvarに変えても駄目でした。どうすればいいでしょうか?
コード(他の部分は長いので載せてません)
const header = document.querySelectorAll(".column-heading");
const title = document.querySelectorAll(".column-heading,.column-title-edit-box");
const item = document.querySelectorAll(".md-navbar-item");
コード(他の部分は長いので載せてません)
const header = document.querySelectorAll(".column-heading");
const title = document.querySelectorAll(".column-heading,.column-title-edit-box");
const item = document.querySelectorAll(".md-navbar-item");
666デフォルトの名無しさん (ワッチョイ 4f63-zNYn [114.175.247.236])
2022/04/24(日) 04:03:59.22ID:oRZQtxTd0 変数名を手当たり次第変える
667デフォルトの名無しさん (ブーイモ MM97-yzbd [210.148.125.63])
2022/04/24(日) 06:03:31.51ID:8Psb/90zM668デフォルトの名無しさん (ワッチョイ 4f2c-dMjb [180.27.221.116])
2022/04/24(日) 07:36:29.99ID:zeaUlF5d0 >>664
よくあるのは、無名のcallback 関数のthis が、window を指してしまうのを避けるために、bind する。
setTimeout( function( ) { this.count++ }.bind( this ), 100 )
この場合、thisをthatに代入して使うのも簡単。
const that = this
setTimeout( function( ) { that.count++ }, 100 )
ES2015では、アロー関数も使える。
setTimeout( ( ) => { this.count++ }, 100 )
だから最近は、bind する事も減った
JavaScript は、thisの変動が非常に難しい。
thisが何を指しているのか分からない
それで、jQuery の$( this ) がよく使われる
よくあるのは、無名のcallback 関数のthis が、window を指してしまうのを避けるために、bind する。
setTimeout( function( ) { this.count++ }.bind( this ), 100 )
この場合、thisをthatに代入して使うのも簡単。
const that = this
setTimeout( function( ) { that.count++ }, 100 )
ES2015では、アロー関数も使える。
setTimeout( ( ) => { this.count++ }, 100 )
だから最近は、bind する事も減った
JavaScript は、thisの変動が非常に難しい。
thisが何を指しているのか分からない
それで、jQuery の$( this ) がよく使われる
669デフォルトの名無しさん (ワッチョイ ab79-LGR4 [110.0.131.50])
2022/04/24(日) 15:54:46.75ID:G77ToU3y0670デフォルトの名無しさん (ワッチョイ 57db-WvSx [217.178.96.78])
2022/04/25(月) 18:54:55.48ID:J2rghl7a0 JavaScriptでwebアプリを作るにはNode.jsを使うのでしょうか?
671デフォルトの名無しさん (ワッチョイ 2f2c-MOU1 [122.27.78.212])
2022/04/26(火) 02:37:55.71ID:JTn9J4710 Ruby on Rails でも当然、Node.js を使う。
ただし、Rails 7, Elixir のPhoenix 1.6 からは、脱webpack でesbuild に変わったけど
それでも開発環境では、webpack-dev-server も使うし、
VSCode, Node.js, npm/npx, yarn, タスクランナーのGulp/npm-scripts なども必須
ただし、Rails 7, Elixir のPhoenix 1.6 からは、脱webpack でesbuild に変わったけど
それでも開発環境では、webpack-dev-server も使うし、
VSCode, Node.js, npm/npx, yarn, タスクランナーのGulp/npm-scripts なども必須
672デフォルトの名無しさん (ワッチョイ e310-MOU1 [180.12.82.129])
2022/04/29(金) 21:50:48.52ID:ZLykNYRC0 window.addEventListener(
"load",
function(){
処理
}
);
これだとページ全体のhtmlと画像の読み込みが完了してから実行するみたいですが
画像の読み込みは完了しなくてもhtmlだけ読み込んだら実行とするようにするにはどうすればいいですか?
"load",
function(){
処理
}
);
これだとページ全体のhtmlと画像の読み込みが完了してから実行するみたいですが
画像の読み込みは完了しなくてもhtmlだけ読み込んだら実行とするようにするにはどうすればいいですか?
673デフォルトの名無しさん (ワッチョイ d710-gBP2 [118.9.152.146])
2022/04/29(金) 21:55:56.96ID:u+oETHzl0 DOMContentLoaded
674デフォルトの名無しさん (ワッチョイ 0910-6Jp9 [180.12.82.129])
2022/05/01(日) 18:51:12.94ID:oQCfhHaq0 >>673
ありがとうございます
ありがとうございます
675デフォルトの名無しさん (ワッチョイ 0910-6Jp9 [180.12.82.129])
2022/05/01(日) 18:55:01.18ID:oQCfhHaq0 let e = new Event('scroll');
window.dispatchEvent(e);
window.addEventListener(
"scroll",
function(e){
alert("スクロール");
}
);
スクロールバーでスクロールしなくてもスクロールイベント内の処理を実行したいんだけど
このようにやってもスクロールと表示されませんでした。
どうやればいいんでしょうか?
window.dispatchEvent(e);
window.addEventListener(
"scroll",
function(e){
alert("スクロール");
}
);
スクロールバーでスクロールしなくてもスクロールイベント内の処理を実行したいんだけど
このようにやってもスクロールと表示されませんでした。
どうやればいいんでしょうか?
676デフォルトの名無しさん (テテンテンテン MM6b-WFod [133.106.196.99])
2022/05/01(日) 19:09:09.32ID:LZNxkfFyM 単に処理順の問題じゃねぇの
677デフォルトの名無しさん (ワッチョイ 0910-dnm2 [180.12.82.129])
2022/05/01(日) 19:47:26.67ID:oQCfhHaq0678デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/01(日) 19:50:41.72ID:MBePrVzJ0 >>675
window以外でscrollイベントが発火してる可能性
window以外でscrollイベントが発火してる可能性
679デフォルトの名無しさん (テテンテンテン MM6b-WFod [133.106.196.99])
2022/05/01(日) 19:58:27.55ID:LZNxkfFyM >>677
いやじゃなくてリスナー登録する前に発火させてるから
いやじゃなくてリスナー登録する前に発火させてるから
680デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/01(日) 20:01:30.82ID:MBePrVzJ0 ああ、>>679が正解だな
要件を誤認してた
要件を誤認してた
681デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/05(木) 20:35:17.57ID:ouaPcFFk0 >>677に限らんが、質問投げっぱなしの奴ばかり
682デフォルトの名無しさん (JP 0Hc6-kr+X [103.163.220.99])
2022/05/14(土) 22:48:35.26ID:6u2rsBseH obj=document.getElementsByClassName('className');
でclassNameがゲットできますが、
ワイルドカード*(使えない)を使って
obj=document.getElementsByClassName('className-*');
みたいにゲットする方法ないですか?
でclassNameがゲットできますが、
ワイルドカード*(使えない)を使って
obj=document.getElementsByClassName('className-*');
みたいにゲットする方法ないですか?
683デフォルトの名無しさん (ワッチョイ ce46-UXMI [153.161.191.103])
2022/05/14(土) 23:15:15.43ID:jzLnji7p0 document.querySelectorAllでやれば
684デフォルトの名無しさん (JP 0Hc6-05Ph [103.163.220.81])
2022/05/14(土) 23:36:26.94ID:PViH6pDdH >>683
できましたありがとう
できましたありがとう
685デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/18(水) 14:44:39.05ID:59TKgDoa0 [JavaScript で特定の長さの配列を作成する | Delft スタック]
https://www.delftstack.com/ja/howto/javascript/javascript-create-array-of-length/
で new Array(5)とnewを使ったやつと、ただのArray(5)がでてくるけど、その違いは何?
Array(5)ってnew無しで呼ぶ意味は?
教えてください。
https://www.delftstack.com/ja/howto/javascript/javascript-create-array-of-length/
で new Array(5)とnewを使ったやつと、ただのArray(5)がでてくるけど、その違いは何?
Array(5)ってnew無しで呼ぶ意味は?
教えてください。
686デフォルトの名無しさん (ワッチョイ 1901-mvDa [36.240.123.131])
2022/05/18(水) 18:09:01.19ID:SpJKU45h0 >>685
返り値は同じ
返り値は同じ
687デフォルトの名無しさん (スププ Sd14-gL+Y [49.96.34.206])
2022/05/19(木) 03:10:01.87ID:mjk3HrMxd > new Array(3)
[ <3 empty items> ]
> Array(3)
[ <3 empty items> ]
> Array(3).length
3
> a = Array(3); a.length = 3; a
[ <3 empty items> ]
> [...Array(3)]
[ undefined, undefined, undefined ]
> Array(3).reduce((r, _) => r + _, 0)
0
> Reflect.construct(Array, [3])
[ <3 empty items> ]
> Reflect.construct(Array, {length: 3})
[ undefined, undefined, undefined ]
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, 0)
NaN
> Reflect.construct(Array, {length: 3}).reduce(r => ++r, 0)
3
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, '')
'undefinedundefinedundefined'
> Array(3).reduce(r => ++r, 0)
0
[ <3 empty items> ]
> Array(3)
[ <3 empty items> ]
> Array(3).length
3
> a = Array(3); a.length = 3; a
[ <3 empty items> ]
> [...Array(3)]
[ undefined, undefined, undefined ]
> Array(3).reduce((r, _) => r + _, 0)
0
> Reflect.construct(Array, [3])
[ <3 empty items> ]
> Reflect.construct(Array, {length: 3})
[ undefined, undefined, undefined ]
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, 0)
NaN
> Reflect.construct(Array, {length: 3}).reduce(r => ++r, 0)
3
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, '')
'undefinedundefinedundefined'
> Array(3).reduce(r => ++r, 0)
0
688デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:19:17.78ID:BgFJDolr0 >> 686 >>687
ありがとうございます。
もっとも687の途中からは理解できませんが。
しかし、new Array(3)とかしても実際3つの要素(の参照)を格納する場所が確保されるわけじゃないということなんですね
[ <3 empty items> ]
と
[ undefined, undefined, undefined ]
の違い。
ありがとうございます。
もっとも687の途中からは理解できませんが。
しかし、new Array(3)とかしても実際3つの要素(の参照)を格納する場所が確保されるわけじゃないということなんですね
[ <3 empty items> ]
と
[ undefined, undefined, undefined ]
の違い。
689デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:35:12.83ID:BgFJDolr0 やっぱりArray(3)でも、領域は確保されてるけど、初期化されてないということなのですか?
Javaとかじゃnullで初期化されてるけど。Javascriptじゃundefinedでさえも代入されてない?
Javaとかじゃnullで初期化されてるけど。Javascriptじゃundefinedでさえも代入されてない?
690デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:39:11.56ID:BgFJDolr0 a = Array(3)
for(const i of a){
console.log(i)
}
を実行すると、確かにundefinedが3つ要素としてあるみたいですが
for(const i of a){
console.log(i)
}
を実行すると、確かにundefinedが3つ要素としてあるみたいですが
691デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:43:27.24ID:BgFJDolr0 以下を実行してみると
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 2, <1 empty item> ]
empty itemってのはundefinedとは違う? forで取り出すとundefinedになる?
やっまりArray(3)とかでもメモリ領域は確保されてるみたいですね
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 2, <1 empty item> ]
empty itemってのはundefinedとは違う? forで取り出すとundefinedになる?
やっまりArray(3)とかでもメモリ領域は確保されてるみたいですね
692デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:44:22.36ID:BgFJDolr0 間違った
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 7, <1 empty item> ]
でした。書き込み多くなってすみません。
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 7, <1 empty item> ]
でした。書き込み多くなってすみません。
693デフォルトの名無しさん (ワッチョイ 3910-toQI [180.12.82.129])
2022/05/19(木) 08:39:33.80ID:YbOBvtu00 素のjavascriptでanimateを使って3秒毎に100pxずつelementを移動したいんだけど
let a=0;
setInterval(
function(){
let aa = a + "px";
let bb = a + 100 + "px";
a+=100;
element.animate(
{left:[aa,bb]},
{iterations:1,fill:"forwords";duration:1000}
);
},
3000
);
何か問題点はありますか?もっといい方法はありますか?
let a=0;
setInterval(
function(){
let aa = a + "px";
let bb = a + 100 + "px";
a+=100;
element.animate(
{left:[aa,bb]},
{iterations:1,fill:"forwords";duration:1000}
);
},
3000
);
何か問題点はありますか?もっといい方法はありますか?
694デフォルトの名無しさん (JP 0Hc6-WyAh [103.163.220.85])
2022/05/19(木) 09:47:03.34ID:AC6zTZlHH newをつけないから実体がなくてundefinedなんじゃないの
それに無理やり要素をぶっこんだら実体ができてemptyになるとか
それに無理やり要素をぶっこんだら実体ができてemptyになるとか
695デフォルトの名無しさん (ブーイモ MM9e-wYdR [163.49.201.97])
2022/05/19(木) 12:07:22.78ID:RG1roS1xM >>693
移動回数が無限ってことならそのままでいいけど、一定条件(動的な条件)を満たした場合に移動を終了させたいならclearIntervalを使おう
移動回数が決まってる場合はハナからそのようなkeyframeを書くことでsetIntervalを使わずに済ませることもできるはず
移動回数が無限ってことならそのままでいいけど、一定条件(動的な条件)を満たした場合に移動を終了させたいならclearIntervalを使おう
移動回数が決まってる場合はハナからそのようなkeyframeを書くことでsetIntervalを使わずに済ませることもできるはず
696デフォルトの名無しさん (ワッチョイ 3910-toQI [180.12.82.129])
2022/05/19(木) 12:23:52.20ID:YbOBvtu00697デフォルトの名無しさん (ワッチョイ 4b8b-gwfl [210.228.102.1])
2022/05/19(木) 13:28:23.81ID:Qw9EnnZ00 >>691
Array(3) や new Array(3)
の場合は
{
length:3
}
[undefined, undefined, undefined]
とか
Array(3).fill(undefined)
の場合は
{
length:3,
0: undefined,
1: undefined,
2: undefined
}
arr = Array(3) ってやって arr[0] で undefined が返ってくるのは
arr[100] とか arr[‘hoge’] で undefined が返ってくるのと同じことです
存在しないプロパティにアクセスしたから undefined
疎な配列 とか sparse array で検索するとちょっとは疑問解消されるかもしれないです
Array(3) や new Array(3)
の場合は
{
length:3
}
[undefined, undefined, undefined]
とか
Array(3).fill(undefined)
の場合は
{
length:3,
0: undefined,
1: undefined,
2: undefined
}
arr = Array(3) ってやって arr[0] で undefined が返ってくるのは
arr[100] とか arr[‘hoge’] で undefined が返ってくるのと同じことです
存在しないプロパティにアクセスしたから undefined
疎な配列 とか sparse array で検索するとちょっとは疑問解消されるかもしれないです
698デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 18:14:23.53ID:BgFJDolr0699デフォルトの名無しさん (オッペケ Sr4f-GkZD [126.254.214.211 [上級国民]])
2022/05/23(月) 17:33:52.64ID:+N2AIhklr Winでプログラミングするためにnotepad++とATOMに辿り着いたんですが、ちょくちょくスペル間違いをしてしまい気が付かずに延々と探してるみたいなことになっちゃってます
間違えた場合に色が変わって教えてくれるみたいな機能があれば教えて欲しいです
間違えた場合に色が変わって教えてくれるみたいな機能があれば教えて欲しいです
700デフォルトの名無しさん (ワッチョイ 7f5f-OKe/ [14.11.8.0 [上級国民]])
2022/05/23(月) 17:35:15.16ID:pMTVA02Y0 >>699
なぜそこまで探してVSCode使わんのだ……?
なぜそこまで探してVSCode使わんのだ……?
701デフォルトの名無しさん (オッペケ Sr4f-GkZD [126.254.214.211 [上級国民]])
2022/05/23(月) 17:54:55.74ID:+N2AIhklr702デフォルトの名無しさん (ワッチョイ 7f5f-OKe/ [14.11.8.0 [上級国民]])
2022/05/23(月) 18:01:49.29ID:pMTVA02Y0 >>701
ちゃんとプログラミング用のエディタなら
一回設定した変数名はそのまま入力候補として出てくる
もし英語の誤字/脱字が気になるなら
拡張機能のCode Spell Checker辺りを入れれば
一般的に使われる英単語なら誤ってる所に印付けてくれる
ちゃんとプログラミング用のエディタなら
一回設定した変数名はそのまま入力候補として出てくる
もし英語の誤字/脱字が気になるなら
拡張機能のCode Spell Checker辺りを入れれば
一般的に使われる英単語なら誤ってる所に印付けてくれる
703デフォルトの名無しさん (ワッチョイ 9363-KI0K [114.158.68.53])
2022/05/23(月) 19:08:40.21ID:NujtHCtT0 はあああぁ Emacs 使わないとか素人かよ
704デフォルトの名無しさん (ワッチョイ 4f01-2VPQ [36.240.61.89])
2022/05/23(月) 20:02:16.92ID:6OeQRku90 エディタ戦争でも始める気か?
主要なエディタを全て試して使いこなせるものを選べとしか
vi
vim
Emacs
Sublime Text
Atom
Visual Studio Code
主要なエディタを全て試して使いこなせるものを選べとしか
vi
vim
Emacs
Sublime Text
Atom
Visual Studio Code
705デフォルトの名無しさん (アウアウウー Sa6b-/Jlm [106.146.79.108])
2022/05/23(月) 21:27:13.02ID:41Pi679sa 秀まるは?
706デフォルトの名無しさん (US 0Hb2-spdv [89.46.62.100 [上級国民]])
2022/05/23(月) 21:52:53.33ID:XDgutXclH >>704
xyzzyぇ‥‥
xyzzyぇ‥‥
707デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/23(月) 22:50:53.85ID:VcvR62I30 禿丸は使ったらハゲになるから除外。
708デフォルトの名無しさん (ワッチョイ 4f01-2VPQ [36.240.61.89])
2022/05/23(月) 22:52:20.76ID:6OeQRku90709デフォルトの名無しさん (US 0Hb2-spdv [89.46.62.100 [上級国民]])
2022/05/23(月) 22:58:39.67ID:XDgutXclH >>708
のし
のし
710デフォルトの名無しさん (アウアウクー MM8f-eQEI [36.11.228.227])
2022/05/24(火) 08:27:07.85ID:jLN19JC1M xyzzy使ってる奴なんてジジイだけ
711デフォルトの名無しさん (ワッチョイ 6b68-9FQL [112.70.209.26])
2022/05/24(火) 18:02:01.97ID:BzukVrXt0 Javascript勉強したらJavaも使えるようになりますか?
712デフォルトの名無しさん (ラクッペペ MMee-Hmo6 [133.106.76.116])
2022/05/24(火) 18:14:58.22ID:3sl5OHzvM 勉強しただけで使えるなら試験はいらない
713デフォルトの名無しさん (ワッチョイ 7f7c-o31I [14.193.180.143])
2022/05/24(火) 18:16:43.89ID:EDq4wx2f0 vscode以外は悪として見られる
つらい
つらい
714デフォルトの名無しさん (ワッチョイ 0f01-8jyA [126.225.66.5])
2022/05/24(火) 18:52:14.84ID:6jvtixg50 EmacsenやVSCはエディタじゃないかもしれんね。
エディタと言い張る低能が多数派なので、我々良識派が肩身の狭い思いをしてるけども。
エディタと言い張る低能が多数派なので、我々良識派が肩身の狭い思いをしてるけども。
715デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/24(火) 19:26:26.98ID:VAh5gH+20716デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/24(火) 19:28:43.15ID:VAh5gH+20 HTMLやCSSをプログラミングと呼ぶ低能がいる。
それはこの2chを作ったといわれる(彼のスキルで作れるわけがない)ひろゆきだ。
それはこの2chを作ったといわれる(彼のスキルで作れるわけがない)ひろゆきだ。
717デフォルトの名無しさん (ワッチョイ b23d-GkZD [133.32.128.101 [上級国民]])
2022/05/25(水) 01:56:29.52ID:Mmr3hh6F0 難しすぎワロスw
片手間じゃ一生まともなの書ける気しない
片手間じゃ一生まともなの書ける気しない
718デフォルトの名無しさん (ワッチョイ 0f01-5ar1 [126.27.124.244])
2022/05/25(水) 11:42:51.30ID:Y26hlNPT0 ==の自動型変換?がキモいから毎回確実に===とキャスト使っていい?
719デフォルトの名無しさん (ブーイモ MMc3-kfi2 [210.138.179.188])
2022/05/25(水) 11:50:09.46ID:FOuBKfShM むしろそうすべき
==をつかっていいのはobj==undefinedとする時だけ
==をつかっていいのはobj==undefinedとする時だけ
720デフォルトの名無しさん (オッペケ Sr4f-GkZD [126.253.237.3 [上級国民]])
2022/05/25(水) 18:08:52.45ID:cwF0DySLr これは見とけっておすすめのYouTubeある?
一通り終わって次何するか悩んでる
一通り終わって次何するか悩んでる
721デフォルトの名無しさん (テテンテンテン MMee-VsZH [133.106.49.28])
2022/05/26(木) 21:47:12.94ID:bX/ymiQ/M HTML/CSSと勉強してきて、JavaScriptの勉強を始めました。
if文やfor文が出てくると一気にプログラミングを勉強してるって感じになりますね。
if文やfor文が出てくると一気にプログラミングを勉強してるって感じになりますね。
722デフォルトの名無しさん (ワッチョイ 9f68-9FQL [180.144.14.150])
2022/05/27(金) 13:56:03.01ID:tzFUQxnX0 HTMLやCSSも立派なプログラミング言語だぞ!
723デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/27(金) 14:48:41.11ID:dExuQKQN0 >>722
それを言うは低脳。
それを言うは低脳。
724デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/27(金) 14:50:10.99ID:dExuQKQN0 自分が「プログラミングできます」と言われたいだけがために
HTML/CSSをプログラミング言語の仲間にしたい。
HTML/CSSをプログラミング言語の仲間にしたい。
725デフォルトの名無しさん (ワッチョイ 9f68-9FQL [180.144.14.150])
2022/05/27(金) 15:09:21.81ID:tzFUQxnX0 HTML/CSSのプログラマですが質問ありますか?
726デフォルトの名無しさん (ワッチョイ a62d-Zf1P [121.102.9.146])
2022/05/27(金) 15:16:49.16ID:ZHjBLFll0 プログラミング言語の定義は知らないが
コンピュータに命令する言語とすれば、HTML/CSSも立派なプログラミン言語だよ。
JavaScriptより高水準のね。
コンピュータに命令する言語とすれば、HTML/CSSも立派なプログラミン言語だよ。
JavaScriptより高水準のね。
727デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/27(金) 15:31:01.51ID:dExuQKQN0728デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/27(金) 15:32:12.79ID:dExuQKQN0 低脳ザルたちは頭が悪いからそれを良く見せようと必死。
729デフォルトの名無しさん (JP 0H1a-+HYE [103.163.220.49])
2022/05/27(金) 16:15:19.27ID:5JjyCdCCH 私プログラミングが趣味なんです
へえ、どの言語やってるんですか?
HTMLです
へえ、どの言語やってるんですか?
HTMLです
730デフォルトの名無しさん (ブーイモ MMa2-lmcs [49.239.65.137])
2022/05/27(金) 16:49:48.86ID:9vqfxpN6M HTML/CSSプログラマは
XMLやJSONもプログラミング言語だと思ってるの?
XMLやJSONもプログラミング言語だと思ってるの?
731デフォルトの名無しさん (オッペケ Sr4f-7F2T [126.194.225.116])
2022/05/27(金) 17:13:25.37ID:VTFlQjvpr おれトップレベルのhtml css使いだぞ
年収はお前らの5倍くらいある
年収はお前らの5倍くらいある
732デフォルトの名無しさん (ワッチョイ 9f63-1qUf [180.1.165.3])
2022/05/27(金) 17:25:13.78ID:A0QsKn+t0 RPGツクールはプログラミング言語ですか?
マインクラフトはプログラミング言語ですか?
ポケモンピカチュウをバグらせるのはプログラミング言語ですか?
マインクラフトはプログラミング言語ですか?
ポケモンピカチュウをバグらせるのはプログラミング言語ですか?
733デフォルトの名無しさん (ワッチョイ 0f01-5ar1 [126.27.124.244])
2022/05/27(金) 18:00:04.78ID:zOBEp9hN0 英語の動画見てるとhtmlをプログラミング言語と呼んでるな
734デフォルトの名無しさん (ワッチョイ 0f01-8jyA [126.225.91.248])
2022/05/27(金) 19:50:11.33ID:izvqMSf/0 「HTML CSS チューリング完全」と検索してみるが良い。
我々がなぜこ奴らをプログラミング言語とみなしているか理解できるであろう。
そして、プログラミング言語であることを理解せずに使えば、セキュリティ穴になるのだ。
我々がなぜこ奴らをプログラミング言語とみなしているか理解できるであろう。
そして、プログラミング言語であることを理解せずに使えば、セキュリティ穴になるのだ。
735デフォルトの名無しさん (ワッチョイ 4f01-2VPQ [36.240.61.89])
2022/05/27(金) 20:01:09.68ID:4GpIk9M10 >>732
プログラミング言語ではない
プログラミング言語ではない
736デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/27(金) 21:09:31.75ID:dExuQKQN0737デフォルトの名無しさん (ワッチョイ 8b4d-F4+3 [218.41.56.97])
2022/05/27(金) 23:06:30.96ID:Xaqhk7aS0 74 デフォルトの名無しさん (ワッチョイ 372f-IS5D [218.220.251.107]) 2021/11/20(土) 20:02:17.98 ID:4VXr5Xxs0
仕事で使ってるサイトをJavascriptで自動化できませんか?
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
仕事で使ってるサイトをJavascriptで自動化できませんか?
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
738デフォルトの名無しさん (ブーイモ MM0b-kfi2 [202.214.125.205])
2022/05/27(金) 23:50:21.69ID:3AyZwk8CM userscript
739デフォルトの名無しさん (JP 0He2-VL5B [103.163.220.13])
2022/05/28(土) 12:58:35.52ID:hJZUTFMkH Tampermonkey使えばできそうだよね
740デフォルトの名無しさん (ワッチョイ 179a-4uwL [120.75.69.71])
2022/05/28(土) 16:55:38.00ID:HuhrBNQu0 プログラム中でs=文字列という形でsに文字列を格納しました
これをクリップボードにコピーするにはどうしたらいいでしょうか?
ちょっと調べるとselectしてcopyするようなのが出てきたのですが、
変数だけで具体的に文字列をselectできるわけではないのでうまくいきませんでした
これをクリップボードにコピーするにはどうしたらいいでしょうか?
ちょっと調べるとselectしてcopyするようなのが出てきたのですが、
変数だけで具体的に文字列をselectできるわけではないのでうまくいきませんでした
741デフォルトの名無しさん (ワッチョイ b35f-/2p7 [14.11.8.0 [上級国民]])
2022/05/28(土) 17:05:49.60ID:zElwYawI0 >>740
単純な文字列だけならClipboard.writeText()を使う
リファレンス
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
単純な文字列だけならClipboard.writeText()を使う
リファレンス
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
742デフォルトの名無しさん (ブーイモ MM96-fktH [163.49.207.17])
2022/05/28(土) 17:11:13.68ID:ipcjwkTWM 218.220.251.107は半年の間にずいぶん偉くなったもんだな
743デフォルトの名無しさん (ワッチョイ b35f-/2p7 [14.11.8.0 [上級国民]])
2022/05/28(土) 17:30:21.43ID:zElwYawI0744デフォルトの名無しさん (ワッチョイ ef01-2OYr [122.255.141.199])
2022/05/28(土) 19:19:22.03ID:6Sv+ENTH0 タコペッティのユーチューブチャンネルより
・週4日勤務の導入て゛、従業員の生産性も、幸福度も、お客さんの満足度も、全てが向上するという事実ww
・【朗報】日本企業、めちゃめちゃ働きやすくなっているw
・職務範囲も勤務地も不明確な正社員ってオワコンし゛ゃね?受け持つ仕事が辞令
ひとつで変更になり、勤務地も会社都合で決まるって冷静に考えてヤバすぎだろ...
・1つの会社に長く勤めるのはもう辞めませんか?勤続年数が増えるほど、生産性は下がります...
・リモートワークとかもう古いからw これからは働く場所も時間も自由に選べる「ABW」の時代です
・【悲報】上場大企業の年収、スタートアップ企業とほぼ同じであることが判明w
え?大企業に行く意味ある...?
・【悲報】有名大学を出て大企業に入るという勝ち組ロード、完全にオワコン...
・週4日勤務の導入て゛、従業員の生産性も、幸福度も、お客さんの満足度も、全てが向上するという事実ww
・【朗報】日本企業、めちゃめちゃ働きやすくなっているw
・職務範囲も勤務地も不明確な正社員ってオワコンし゛ゃね?受け持つ仕事が辞令
ひとつで変更になり、勤務地も会社都合で決まるって冷静に考えてヤバすぎだろ...
・1つの会社に長く勤めるのはもう辞めませんか?勤続年数が増えるほど、生産性は下がります...
・リモートワークとかもう古いからw これからは働く場所も時間も自由に選べる「ABW」の時代です
・【悲報】上場大企業の年収、スタートアップ企業とほぼ同じであることが判明w
え?大企業に行く意味ある...?
・【悲報】有名大学を出て大企業に入るという勝ち組ロード、完全にオワコン...
745デフォルトの名無しさん (ワッチョイ b35f-yO3c [14.13.137.64])
2022/05/29(日) 17:53:31.48ID:IyXpp6fQ0 >>727
それを成立させるために何億人いるんだよ、プログラマ
それを成立させるために何億人いるんだよ、プログラマ
746デフォルトの名無しさん (ワッチョイ 5310-2OYr [180.12.82.129])
2022/05/29(日) 22:20:48.94ID:z/FJvc6j0 constだとあとで再代入可の変数にしたい場合letに書き直すのがめんどくさいから
最初からconst使わずに全部letにした方がいいのではないでしょうか?
最初からconst使わずに全部letにした方がいいのではないでしょうか?
747デフォルトの名無しさん (ブーイモ MM1f-uE2k [202.214.167.118])
2022/05/29(日) 22:32:45.58ID:1SJx00EZM748デフォルトの名無しさん (ワッチョイ 43a6-gGuk [36.3.190.142])
2022/05/29(日) 22:48:40.87ID:48OBnFq00 >>746
実際それで何の問題もない
実際それで何の問題もない
749デフォルトの名無しさん (ワッチョイ 0301-yO3c [126.234.218.71])
2022/05/30(月) 00:56:47.97ID:aQGXKbLd0 >>746
天才現る
天才現る
750デフォルトの名無しさん (ワッチョイ eaf1-H/X0 [157.107.5.79])
2022/05/30(月) 07:24:12.50ID:aJrcSub80 笑
751デフォルトの名無しさん (ワッチョイ ca47-gGuk [131.129.74.181])
2022/05/30(月) 10:17:04.04ID:zAJLNfWa0 俺も全てlet使ってる
流石にvarは使わない
何がおかしいのかさっぱりわからない
流石にvarは使わない
何がおかしいのかさっぱりわからない
752デフォルトの名無しさん (オッペケ Sr93-H/X0 [126.133.245.183])
2022/05/30(月) 15:29:33.12ID://zvb+Vbr 馬鹿!?
753デフォルトの名無しさん (ワッチョイ 13ad-2OYr [116.65.147.17])
2022/05/30(月) 16:10:10.56ID:uE5mh+rL0 【渡辺裕之(66)】 ワクチン鬱? 【上島竜兵(61)】
://egg.5ch.net/test/read.cgi/cafe60/1652426631/l50
://egg.5ch.net/test/read.cgi/cafe60/1652426631/l50

754デフォルトの名無しさん (ワッチョイ 6f89-ZxTw [103.81.72.241])
2022/06/06(月) 11:49:25.24ID:eBxFzq660 質問です。
予め指定したフォルダ内にある全てのファイル名を読み取るにはどうするといいでしょうか?
予め指定したフォルダ内にある全てのファイル名を読み取るにはどうするといいでしょうか?
755デフォルトの名無しさん (ワッチョイ 6f01-jePl [111.188.123.249])
2022/06/06(月) 12:09:31.46ID:IR62wvND0 >>754
サーバのフォルダならサーバサイドスクリプトで読み取る
サーバのフォルダならサーバサイドスクリプトで読み取る
756デフォルトの名無しさん (ワッチョイ 6f89-ZxTw [103.81.72.241])
2022/06/06(月) 13:35:42.25ID:eBxFzq660757デフォルトの名無しさん (ワッチョイ 7fbd-k0NJ [125.198.9.64])
2022/06/08(水) 23:55:21.66ID:YvahfHwm0 ちゃんとした他のプログラミング言語と足並みを揃えるべくES6でスコープを考慮した結果がletのはず
最近出版された本でもvarを使っているのはなんなのか…
最近出版された本でもvarを使っているのはなんなのか…
758デフォルトの名無しさん (ワッチョイ cf63-8b97 [153.171.151.55])
2022/06/08(水) 23:56:30.69ID:7YcOaZwm0 >>757
破り捨てよう
破り捨てよう
759デフォルトの名無しさん (ワッチョイ 6f01-jePl [111.188.123.249])
2022/06/08(水) 23:58:50.30ID:oUrdFXCt0 どう覚えているのか知らないが、varは禁止されていない
var,let const,関数宣言を全て使いこなすのがベスト
var,let const,関数宣言を全て使いこなすのがベスト
760デフォルトの名無しさん (ワッチョイ 7fbd-k0NJ [125.198.9.64])
2022/06/09(木) 00:01:10.95ID:DZT4jyMC0 敢えて関数スコープを使うシーンが分からない
761デフォルトの名無しさん (ワッチョイ 6f01-jePl [111.188.123.249])
2022/06/09(木) 00:14:24.38ID:ilG0UUWS0 関数コードを巨大にしなければ、関数スコープで十分な局面は多い
パフォーマンスへの影響を踏まえて使い分けてるな
パフォーマンスへの影響を踏まえて使い分けてるな
762デフォルトの名無しさん (スッップ Sd9f-Mpcy [49.98.159.32])
2022/06/09(木) 00:22:00.27ID:PLMk4iqod バベルからトランスコンパイルしたらvarって出てくる
763デフォルトの名無しさん (ブーイモ MM9f-P3ru [49.239.64.75])
2022/06/09(木) 00:45:27.96ID:HJM4k0T5M 再宣言と巻き上げに関するバグを生むリスクを取ってまでvarを使う場面があるのかね
764デフォルトの名無しさん (スププ Sd9f-V20A [49.96.35.177])
2022/06/09(木) 03:15:19.34ID:6mot2Q//d varは初期の数ヶ月から数年の期間Netscapeでは
function F() {var v = 'v';} ;alert(F.v);// v
だった。これは今でいう
class C {static s = 's'} C.s// s
constはmozillaで99年から00年に普通にみんなに使われるようになった。ただし細部で約20年後(というか約15年後かな)の今の仕様とは違う。
あと JScript .netでもconstは使えたから、複数のプラットフォームで20年選手ということになる。
letも今のものとは細部で違うが、私は2007年初期にJS1.7で使っている。
この時期のpython化は黒歴史になっているから、comprehensionは完全に消されたな。
当初は[for (i in [0, 1, 2]) i]と書けた。これは[i for i in range(3)]のこと。
inじゃなくofになって、今はそれも消されたな。
しかし残っているものの方がむしろ多くて、let以外にも分割代入なんかもこの15年前から10年前くらいまでの黒歴史期間で導入されていた。
で、何が言いたいかというと、let要らないんだよな。だって、comprehensionでlet/const無しでレキシカルスコープ実現できてたじゃん。
だから、レキシカルで初登場時に暗黙のletでいいじゃんって思う。
function F() {var v = 'v';} ;alert(F.v);// v
だった。これは今でいう
class C {static s = 's'} C.s// s
constはmozillaで99年から00年に普通にみんなに使われるようになった。ただし細部で約20年後(というか約15年後かな)の今の仕様とは違う。
あと JScript .netでもconstは使えたから、複数のプラットフォームで20年選手ということになる。
letも今のものとは細部で違うが、私は2007年初期にJS1.7で使っている。
この時期のpython化は黒歴史になっているから、comprehensionは完全に消されたな。
当初は[for (i in [0, 1, 2]) i]と書けた。これは[i for i in range(3)]のこと。
inじゃなくofになって、今はそれも消されたな。
しかし残っているものの方がむしろ多くて、let以外にも分割代入なんかもこの15年前から10年前くらいまでの黒歴史期間で導入されていた。
で、何が言いたいかというと、let要らないんだよな。だって、comprehensionでlet/const無しでレキシカルスコープ実現できてたじゃん。
だから、レキシカルで初登場時に暗黙のletでいいじゃんって思う。
765デフォルトの名無しさん (オッペケ Sre7-CikR [126.204.241.27])
2022/06/09(木) 03:19:09.76ID:e981VJmIr javascript → varを非推奨
c# → varを推奨
これだから動的言語は欠陥なんだよな
c# → varを推奨
これだから動的言語は欠陥なんだよな
766デフォルトの名無しさん (ワッチョイ a301-6kAt [126.39.115.150])
2022/06/09(木) 10:39:24.14ID:asu6OMcO0 話の腰を折って知識の開陳したいだけならよそでやってくれるかな
767デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/09(木) 11:47:04.96ID:gZS+KUMq0 >>766
すみません。
すみません。
768デフォルトの名無しさん (テテンテンテン MM7f-Cd+T [133.106.49.29])
2022/06/09(木) 18:15:08.29ID:4vVekUOlM 最近勉強を始めた初学者です
参考書には基本的にletで記述されています
varはこんなのもあるよって感じで紹介だけだなあ
参考書には基本的にletで記述されています
varはこんなのもあるよって感じで紹介だけだなあ
769デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/09(木) 18:56:04.47ID:gZS+KUMq0 日本国内でjavascriptのプログラマは何人いるのでしょうか?
770デフォルトの名無しさん (ワッチョイ a301-Rebr [126.234.218.71])
2022/06/09(木) 19:53:55.33ID:qJMpHUUT0 ちゃんと組めるのは50人ぐらいじゃね
771デフォルトの名無しさん (オッペケ Sre7-CikR [126.166.141.35])
2022/06/09(木) 21:13:45.42ID:ObjsHLlTr 人数でいえば300万人はいる
772デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 00:12:00.40ID:PVhyJTd00773デフォルトの名無しさん (ワッチョイ 635f-Rebr [14.13.137.64])
2022/06/10(金) 00:12:53.26ID:fPak2i7g0 >>765
論拠になってねえ…
論拠になってねえ…
774デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 00:13:04.77ID:PVhyJTd00 プロで活躍出来る人は10万人位かと思っていた。
775デフォルトの名無しさん (ブーイモ MM7f-P3ru [133.159.153.29])
2022/06/10(金) 10:36:42.56ID:Mtfam+l2M >>773
どう見てもネタやん
どう見てもネタやん
776デフォルトの名無しさん (オッペケ Sre7-CikR [126.166.141.35])
2022/06/10(金) 10:49:39.80ID:/BiTxEDsr javascriptは初心者向けだから半日もあればマスターできるぞ
777デフォルトの名無しさん (ワッチョイ cfbb-tFO0 [217.178.81.227])
2022/06/10(金) 12:19:15.49ID:W2vGiqFG0 いや、わいは1時間でいけたな
778デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 13:24:03.72ID:PVhyJTd00779デフォルトの名無しさん (オッペケ Sre7-CikR [126.33.106.242])
2022/06/10(金) 13:37:21.85ID:tfSxvHhSr プログラマーであればjavascript使えるからほぼプログラマー人口と同じくらい
780デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 15:34:16.82ID:PVhyJTd00781デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 15:36:51.91ID:PVhyJTd00782デフォルトの名無しさん (オッペケ Sre7-CikR [126.33.106.242])
2022/06/10(金) 16:11:25.97ID:tfSxvHhSr >>781
そもそもその統計はおかしい
一人でいくつも言語を使うのが当たり前
4.4%ってのはjavascript「しか」使えない人口だろう
ということはやはりjavascriptを使える人口は100万人に近くなる
そもそもその統計はおかしい
一人でいくつも言語を使うのが当たり前
4.4%ってのはjavascript「しか」使えない人口だろう
ということはやはりjavascriptを使える人口は100万人に近くなる
783デフォルトの名無しさん (ブーイモ MM7f-P3ru [133.159.152.14])
2022/06/10(金) 16:44:02.22ID:2xPsbg+9M そもそもオッペケにマジレスするのがおかしい
784デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 19:46:27.69ID:PVhyJTd00 >>782
アンケートでは、現在使っているプログラミング言語を3つまで挙げてもらった。
JavaScriptは2位。
最も使っている言語を1つだけ挙げてもらった。
上位3位で43.2%を占める。
100万人?43.2%で約4万3千人位がJavaScriptを使えるかと。
アンケートでは、現在使っているプログラミング言語を3つまで挙げてもらった。
JavaScriptは2位。
最も使っている言語を1つだけ挙げてもらった。
上位3位で43.2%を占める。
100万人?43.2%で約4万3千人位がJavaScriptを使えるかと。
785デフォルトの名無しさん (ワッチョイ cfdb-+66E [217.178.96.78])
2022/06/10(金) 19:47:20.81ID:PVhyJTd00 約43万人。
786デフォルトの名無しさん (オッペケ Sre7-CikR [126.33.106.242])
2022/06/10(金) 21:29:30.02ID:tfSxvHhSr787デフォルトの名無しさん (ブーイモ MM47-GnWM [202.214.125.242])
2022/06/10(金) 21:32:15.40ID:q2HycVdQM 親でも殺されたのか?
788デフォルトの名無しさん (ワッチョイ 0310-4Aqq [180.12.82.129])
2022/06/13(月) 08:40:40.71ID:am3Wwq1W0 element.animate(
{
left:["100px","200px","300px","400px","500px"]
},
{duration:6000}
);
というアニメーションの場合で
leftが100px,200px・・・500pxになった毎にalert表示したいんだけどどうやればできますか?
各位置に達したら発生するイベントはないんでしょうか?
{
left:["100px","200px","300px","400px","500px"]
},
{duration:6000}
);
というアニメーションの場合で
leftが100px,200px・・・500pxになった毎にalert表示したいんだけどどうやればできますか?
各位置に達したら発生するイベントはないんでしょうか?
789デフォルトの名無しさん (ワッチョイ bf2d-4+UM [101.128.217.16])
2022/06/13(月) 17:30:17.10ID:mNIVTbIq0 for(const left of ["100px","200px","300px","400px","500px"]){
await element.animate({left}, {duration:1200, fill:'forwards'}).finished
alert(left)
}
こんな感じだろうが、うちのブラウザではalertと非同期処理の相性が悪くて
期待通りには動かんな
await element.animate({left}, {duration:1200, fill:'forwards'}).finished
alert(left)
}
こんな感じだろうが、うちのブラウザではalertと非同期処理の相性が悪くて
期待通りには動かんな
790デフォルトの名無しさん (ワッチョイ 0310-4Aqq [180.12.82.129])
2022/06/13(月) 18:03:23.16ID:am3Wwq1W0791デフォルトの名無しさん (スッップ Sd1f-Krgy [49.98.159.32])
2022/06/13(月) 19:32:06.01ID:GwwyxVQWd 6000/5かな
792デフォルトの名無しさん (ブーイモ MM27-uqWY [210.138.208.216])
2022/06/13(月) 19:38:33.43ID:i6A98kDWM793デフォルトの名無しさん (ブーイモ MM27-yOxI [210.138.178.103])
2022/06/13(月) 21:01:30.83ID:0JGjDuiuM794デフォルトの名無しさん (ワッチョイ 938b-Y9n/ [210.228.102.1])
2022/06/14(火) 07:59:04.85ID:QblsDI8c0795デフォルトの名無しさん (ブーイモ MM1f-yOxI [49.239.64.234])
2022/06/14(火) 11:53:12.03ID:jm08kgMyM796デフォルトの名無しさん (ワッチョイ 938b-Y9n/ [210.228.102.1])
2022/06/14(火) 20:15:11.04ID:QblsDI8c0 >>795
確認しました
朝はSafariだったので
SafariとFirefoxではそもそもawaitつけなくても>>789で問題なく動く
Chromeはawaitあるなし関係なくダメ、全体をthenに書き換えてもダメ
ちなみに全てMac版です
色々試してみた感じ
Chromeはalert()のダイアログを出したタイミングで次のPromiseを実行する
画面は止まってるが計算は実行されているので、OKでダイアログ閉じた時に辻褄合わせでワープする
SafariとFirefoxはダイアログのOKボタンを押したタイミングで次のPromiseを実行する
それまで画面も計算も止まってるのでダイアログ閉じてからアニメーションが始まる
かなあと思ったりしましたが、実際のところはわからないです
まあでもChromeで動かないならダメですね
確認しました
朝はSafariだったので
SafariとFirefoxではそもそもawaitつけなくても>>789で問題なく動く
Chromeはawaitあるなし関係なくダメ、全体をthenに書き換えてもダメ
ちなみに全てMac版です
色々試してみた感じ
Chromeはalert()のダイアログを出したタイミングで次のPromiseを実行する
画面は止まってるが計算は実行されているので、OKでダイアログ閉じた時に辻褄合わせでワープする
SafariとFirefoxはダイアログのOKボタンを押したタイミングで次のPromiseを実行する
それまで画面も計算も止まってるのでダイアログ閉じてからアニメーションが始まる
かなあと思ったりしましたが、実際のところはわからないです
まあでもChromeで動かないならダメですね
797デフォルトの名無しさん (ブーイモ MM27-uqWY [210.148.125.162])
2022/06/14(火) 21:03:39.71ID:BrOck07XM 戻り値のある confirm() や prompt() ならイケそうな気がするけど、どうだろう
798デフォルトの名無しさん (ブーイモ MM7f-yOxI [133.159.153.245])
2022/06/15(水) 11:59:48.35ID:1XehFqTjM >>795をawait confirmに変えてみたけど挙動は変化なし
799デフォルトの名無しさん (ワッチョイ 7f61-GnkG [211.122.215.44])
2022/06/15(水) 13:13:12.54ID:aRosNJLd0 そりゃPromise返さないやつにawait付けたところで変わるわけないわな
chromiumのモダールダイアログの処理に問題あるんだろうね
chromiumのモダールダイアログの処理に問題あるんだろうね
800デフォルトの名無しさん (ワッチョイ 938b-Y9n/ [210.228.102.1])
2022/06/15(水) 19:49:56.67ID:xgXbyqQZ0 awaitの後の式の値がPromiseでない場合はPromise.resolve()に変換されるってことなので
最初はそこかと思ったんですよね
>>793がどうしてChromeでちゃんと動くのかを考えたんだけど
おそらくChromeはダイアログ出した段階でPromisebフ中身を実行しbトるけど
OKを押すまでPromiseの状態は変えないんだと思います
つまりダミーのアニメーションはすぐ実行完了するけどOKを押すまではPendingなので次に行かない
なのでPendingで返却してすぐにFulfilledになるPromiseにすりゃいいのではと思って試したら多分できた
https://jsfiddle.net/v2c7baL3/
最初はそこかと思ったんですよね
>>793がどうしてChromeでちゃんと動くのかを考えたんだけど
おそらくChromeはダイアログ出した段階でPromisebフ中身を実行しbトるけど
OKを押すまでPromiseの状態は変えないんだと思います
つまりダミーのアニメーションはすぐ実行完了するけどOKを押すまではPendingなので次に行かない
なのでPendingで返却してすぐにFulfilledになるPromiseにすりゃいいのではと思って試したら多分できた
https://jsfiddle.net/v2c7baL3/
801デフォルトの名無しさん (ワッチョイ 775f-aKCl [14.11.194.224])
2022/06/18(土) 17:12:37.89ID:AZEFiuqJ0 ようやく大手を振ってIEサポート拒否出来るわ
IEモードなんて知らん
IEモードなんて知らん
802デフォルトの名無しさん (ワッチョイ b380-f2xl [202.12.244.105])
2022/06/20(月) 11:37:14.04ID:L+sRNCcV0 クラス内のコンストラクタについてこの認識で合ってますか?
constructor(引数){this.プロパティ名 = 値;}
1.受け取った引数は値に格納され
2.インスタンス生成することで値が「this.プロパティ名」に代入され
3.同時に「this.プロパティ名」はインスタンスに渡される。
ググれどググれどページによってニュアンスが違くて混乱しております。
constructor(引数){this.プロパティ名 = 値;}
1.受け取った引数は値に格納され
2.インスタンス生成することで値が「this.プロパティ名」に代入され
3.同時に「this.プロパティ名」はインスタンスに渡される。
ググれどググれどページによってニュアンスが違くて混乱しております。
803デフォルトの名無しさん (ワッチョイ 9710-QMhI [180.12.82.129])
2022/06/20(月) 18:00:16.96ID:HWRjc4FJ0 setInterval内でループ毎に変化するelementがあってそのelementに対してのaddEventListenerを使う場合は
イベントが蓄積されていくからremoveEventListenerでループ毎に削除する必要があるけど
プロミスは1回のイベントが実行されれば蓄積されないので削除しなくていいって聞いたけど正しいんですか?
イベントが蓄積されていくからremoveEventListenerでループ毎に削除する必要があるけど
プロミスは1回のイベントが実行されれば蓄積されないので削除しなくていいって聞いたけど正しいんですか?
804デフォルトの名無しさん (ワッチョイ 9710-QMhI [180.12.82.129])
2022/06/20(月) 18:10:56.22ID:HWRjc4FJ0 >>796
animateを関数で囲ってanimation.finished.then毎にその関数を再起呼び出しでできました
animateを関数で囲ってanimation.finished.then毎にその関数を再起呼び出しでできました
805デフォルトの名無しさん (ワッチョイ 7d80-4nyZ [202.12.244.105])
2022/06/27(月) 11:19:58.02ID:qD2YGrhX0 これだと、単に変数に文字列 "a" を代入しただけに思えるけど
どうしてobjのプロパティが代入されるんですか?
const obj = {a: 10, b:20};
const num = 'a';
console.log(obj[num]); // 10
どうしてobjのプロパティが代入されるんですか?
const obj = {a: 10, b:20};
const num = 'a';
console.log(obj[num]); // 10
806デフォルトの名無しさん (ブーイモ MM2b-akfb [163.49.214.208])
2022/06/27(月) 11:47:02.50ID:VP93VLfnM807デフォルトの名無しさん (ワッチョイ ab01-MWx3 [1.112.58.170])
2022/06/27(月) 16:22:22.11ID:Xs6h66q80 >>805
console.log(obj['a']) で同じ動作になるから
console.log(obj['a']) で同じ動作になるから
808デフォルトの名無しさん (ブーイモ MM2b-0CFZ [163.49.208.238])
2022/06/27(月) 17:24:02.66ID:R3+dz0k/M obj[num]のnumが評価されてobj[‘a’]になる
さらにobj[‘a’]が評価されて10になる
さらにobj[‘a’]が評価されて10になる
809デフォルトの名無しさん (ワッチョイ a510-sbT5 [180.12.82.129])
2022/07/01(金) 21:12:32.27ID:e3WLxABv0 varだとこのように書けるけど
if(a > 1){var b = 0;}
else{var b = 1;}
alert(b);
letだと
if(a > 1){let b = 0;}
else{let b = 1;}
alert(b);
のようには書けないので
let b;
if(a > 1){b = 0;}
else{b = 1;}
alert(b);
と書くしかないので行数が多くなるのでvarの方が使える場面もあるってこと?
if(a > 1){var b = 0;}
else{var b = 1;}
alert(b);
letだと
if(a > 1){let b = 0;}
else{let b = 1;}
alert(b);
のようには書けないので
let b;
if(a > 1){b = 0;}
else{b = 1;}
alert(b);
と書くしかないので行数が多くなるのでvarの方が使える場面もあるってこと?
810デフォルトの名無しさん (テテンテンテン MM92-REyO [193.119.157.53])
2022/07/02(土) 07:53:03.90ID:ZhYOvAvRM 代入してん?
811デフォルトの名無しさん (ブーイモ MMa6-T3cn [163.49.212.69])
2022/07/02(土) 08:46:29.95ID:k/gTnCZpM >>809
varは「既存コードとの互換性目的で残されているだけ」であって、利用禁止が大前提
無意味にletを使うのもやめた方がいい
例1 - 名付けあり
> const b = a > 1 ? 0 : 1;
> alert(b);
例2 - 名付けなし
> alert(a > 1 ? 0 : 1);
varは「既存コードとの互換性目的で残されているだけ」であって、利用禁止が大前提
無意味にletを使うのもやめた方がいい
例1 - 名付けあり
> const b = a > 1 ? 0 : 1;
> alert(b);
例2 - 名付けなし
> alert(a > 1 ? 0 : 1);
812デフォルトの名無しさん (ワッチョイ 3110-WqNE [180.12.82.129])
2022/07/02(土) 08:46:33.37ID:f8ozX99S0 代入してるよ
813デフォルトの名無しさん (ワッチョイ 3110-WqNE [180.12.82.129])
2022/07/02(土) 08:46:35.20ID:f8ozX99S0 代入してるよ
814デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/02(土) 09:07:06.91ID:7+dzE5OL0815デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/02(土) 14:56:48.12ID:7+dzE5OL0 とりあえず、[180.12.82.129]は何か反応したら?
816デフォルトの名無しさん (ベーイモ MMc6-A/OY [27.253.251.139])
2022/07/02(土) 18:09:44.92ID:5kfVxUizM iPadでJavaScriptの勉強したいんやけど可能?
一応外付けのマウスキーボードはあって、OracleのJava bronzeを取りたいんたけど。
一応外付けのマウスキーボードはあって、OracleのJava bronzeを取りたいんたけど。
817デフォルトの名無しさん (ワッチョイ 3110-BrNX [180.12.82.129])
2022/07/02(土) 18:11:06.76ID:f8ozX99S0 >>814
そうなんですか
そうなんですか
818デフォルトの名無しさん (ワッチョイ 5e2c-oh95 [153.194.206.50])
2022/07/02(土) 18:20:43.79ID:TQdsQirm0 var は使っちゃいけない。
スコープとか、色々とややこしいから、バグるだけ
そういうのを研究していない人には分からないし、
研究するだけ時間の無駄
varを使うな、という結論だけを使えばよい
スコープとか、色々とややこしいから、バグるだけ
そういうのを研究していない人には分からないし、
研究するだけ時間の無駄
varを使うな、という結論だけを使えばよい
819デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/02(土) 18:21:59.34ID:7+dzE5OL0820デフォルトの名無しさん (テテンテンテン MM96-E42W [133.106.51.63])
2022/07/02(土) 18:35:23.42ID:6gDxbKhpM >>816
JavaかJavaScriptかはっきりしてくれ
JavaかJavaScriptかはっきりしてくれ
821デフォルトの名無しさん (ワッチョイ 7568-kc9T [112.68.214.52])
2022/07/03(日) 21:22:54.13ID:u2gGVzOi0 javascriptでフォーム作ってます。
java scriptからメールを送る方法ってどんなのがありますでしょうか?
java scriptからメールを送る方法ってどんなのがありますでしょうか?
822デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/03(日) 21:32:55.50ID:W01+4hlo0823デフォルトの名無しさん (ワッチョイ 12ad-m2IM [59.168.54.96])
2022/07/03(日) 22:51:52.67ID:qXMK1yPV0 javascriptでメールの送信は無理!
rubyを使うと簡単にできるYO!
rubyを使うと簡単にできるYO!
824デフォルトの名無しさん (ワッチョイ 5e2c-Pt+j [153.194.206.50])
2022/07/03(日) 23:26:54.42ID:C1pvOjRy0 AWS Lambda/SNS, Ruby など、サーバーが無いと無理
825デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/03(日) 23:41:06.22ID:W01+4hlo0 無理といわれてるが、SmtpJSでは不可能なのか
まあ、俺もクライアントサイドでやろうとは思わんが
まあ、俺もクライアントサイドでやろうとは思わんが
826デフォルトの名無しさん (ワッチョイ 3261-FBfx [211.122.215.30])
2022/07/03(日) 23:44:24.18ID:QHM3Cg280 ブラウザ上のjavascriptから直にメールを送る機能はないので
822のqiitaで紹介されてるSmtpJSはSmtpJSのサーバーに通常のフォームデータとしてPOSTしてそのサーバーがメール送信を肩代わりしてくれる
信用できないなら自分でサーバーサイドもどうにかする
822のqiitaで紹介されてるSmtpJSはSmtpJSのサーバーに通常のフォームデータとしてPOSTしてそのサーバーがメール送信を肩代わりしてくれる
信用できないなら自分でサーバーサイドもどうにかする
827デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.16])
2022/07/03(日) 23:55:04.52ID:W01+4hlo0 SMTPサーバーが必要なのは>>822の通り、理解してる
最も、質問者はずっとスルーしてるが
最も、質問者はずっとスルーしてるが
828メールの質問者@時の旅人 (ワッチョイ 7568-kc9T [112.68.214.52])
2022/07/04(月) 00:11:28.80ID:rXJjm3cQ0 皆さま、ご教示ありがとうございます。
smtp.jsを使い、SMTPサーバーはsmtp.jsで紹介されてるSMTPを使用。
試してみたのですが、うまく動かせておりません。
メールは、サーバーサイドからやるのがベターですよね、やっぱり。。
smtp.jsを使い、SMTPサーバーはsmtp.jsで紹介されてるSMTPを使用。
試してみたのですが、うまく動かせておりません。
メールは、サーバーサイドからやるのがベターですよね、やっぱり。。
829デフォルトの名無しさん (スップ Sd12-WKon [1.75.228.186])
2022/07/04(月) 06:59:27.99ID:eZVYpHVcd var yyy =~/g;
var mmm = "$1~”;
aaa[0].innerHTML = aaa_html.replace(yyy, mmm);
で指定する$1の部分は、mmmの変数で指定するか、
複数の変数を埋めるにはどうしたら良いですか?
ようするにyyy以外の変数も埋め込めたい。
var mmm = "$1~”;
aaa[0].innerHTML = aaa_html.replace(yyy, mmm);
で指定する$1の部分は、mmmの変数で指定するか、
複数の変数を埋めるにはどうしたら良いですか?
ようするにyyy以外の変数も埋め込めたい。
830デフォルトの名無しさん (ブーイモ MM55-T3cn [210.138.208.22])
2022/07/04(月) 07:44:51.83ID:158REP8JM >>829
マッチ結果とは無関係の変数を使いたいってことなら、普通に変数を連結するなりテンプレートリテラルで表現したりすればOK
ある程度複雑なことをするつもりなら、別途置換処理用の関数を定義した上でreplace()の第二引数に渡した方が読みやすくなるかも(当然ながら「適切な名付け」が前提)
innerHTMLを使っている点については、あえて何も言わないでおく
マッチ結果とは無関係の変数を使いたいってことなら、普通に変数を連結するなりテンプレートリテラルで表現したりすればOK
ある程度複雑なことをするつもりなら、別途置換処理用の関数を定義した上でreplace()の第二引数に渡した方が読みやすくなるかも(当然ながら「適切な名付け」が前提)
innerHTMLを使っている点については、あえて何も言わないでおく
831デフォルトの名無しさん (ワッチョイ c101-UYEv [36.240.62.47])
2022/07/04(月) 08:16:00.18ID:X+I6pApT0 >>829
+で結合して代入
+で結合して代入
832デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.72.72])
2022/07/07(木) 08:46:34.07ID:hekaiUDAa 年月を設定した2段階プルダウンを作成しているのですが、JAVAを深く触ったことがない為アドバイス頂きたいです。
wordpressのデータベースからSQLを使います。Java scriptでプルダウン作成。
設計について
Java script→JSONで$(配列)に変える→archive.php→SQL→JSON→Java scriptという流れで良いでしょうか?
wordpressのデータベースからSQLを使います。Java scriptでプルダウン作成。
設計について
Java script→JSONで$(配列)に変える→archive.php→SQL→JSON→Java scriptという流れで良いでしょうか?
833デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.80])
2022/07/07(木) 08:56:00.01ID:sGvZpzJo0834デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.72.72])
2022/07/07(木) 09:00:19.50ID:hekaiUDAa >>833
JAVAは変換ミスです申し訳ありません。
option valueの値をそのままSQLに渡す事が出来ないとアドバイスもらいましたので、何とかSQLに渡す方法が知りたいです。
また渡したものと一致するデータをSQLで選別してJava scriptに返す必要があります。
コードは以下になります。
<option value="">年を選択</option>
<option value="op-a">2021</option>
<option value="op-b">2022</option>
</select>
<select name="op-a">
<option value="">2021グループから選択</option>
<option value="op-a-1">1</option>
<option value="op-a-2">2</option>
<option value="op-a-3">3</option>
<option value="op-a-4">4</option>
<option value="op-a-5">5</option>
<option value="op-a-6">6</option>
<option value="op-a-7">7</option>
<option value="op-a-8">8</option>
<option value="op-a-9">9</option>
<option value="op-a-10">10</option>
<option value="op-a-11">11</option>
<option value="op-a-12">12</option>
</select>
JAVAは変換ミスです申し訳ありません。
option valueの値をそのままSQLに渡す事が出来ないとアドバイスもらいましたので、何とかSQLに渡す方法が知りたいです。
また渡したものと一致するデータをSQLで選別してJava scriptに返す必要があります。
コードは以下になります。
<option value="">年を選択</option>
<option value="op-a">2021</option>
<option value="op-b">2022</option>
</select>
<select name="op-a">
<option value="">2021グループから選択</option>
<option value="op-a-1">1</option>
<option value="op-a-2">2</option>
<option value="op-a-3">3</option>
<option value="op-a-4">4</option>
<option value="op-a-5">5</option>
<option value="op-a-6">6</option>
<option value="op-a-7">7</option>
<option value="op-a-8">8</option>
<option value="op-a-9">9</option>
<option value="op-a-10">10</option>
<option value="op-a-11">11</option>
<option value="op-a-12">12</option>
</select>
835デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.72.72])
2022/07/07(木) 09:04:47.61ID:hekaiUDAa >>833
option valueの値をJSONを使い配列に変えた上でSQLに渡すことを考えておりました。
option valueの値をJSONを使い配列に変えた上でSQLに渡すことを考えておりました。
836デフォルトの名無しさん (ブーイモ MMa6-T3cn [163.49.200.120])
2022/07/07(木) 09:57:05.64ID:D+rw6Zs6M837デフォルトの名無しさん (ワッチョイ 5e2c-Pt+j [153.194.206.50])
2022/07/07(木) 12:45:33.04ID:ywWcbjyb0 例えば、Ruby on Rails みたいなMVC フレームワークなら、
<%= f.select :pet, [["犬", 1], ["猫", 2]], include_blank: "選択して下さい" %>
こういうselect ボックスで、猫を選べば、
データベース(DB)のpet列が、2 で保存される
多分フォーム送信で、value="2" がサーバーへ送られて、
Railsによって、自動的に整数型の2に変換されて、DBへ保存される
このように、Railsのようなフレームワークを使うと、
DBのテーブル構築とか、HTMLからDBの各列への対応付けも全自動
SQL 文を文字列で、自分で作ったりしない
<%= f.select :pet, [["犬", 1], ["猫", 2]], include_blank: "選択して下さい" %>
こういうselect ボックスで、猫を選べば、
データベース(DB)のpet列が、2 で保存される
多分フォーム送信で、value="2" がサーバーへ送られて、
Railsによって、自動的に整数型の2に変換されて、DBへ保存される
このように、Railsのようなフレームワークを使うと、
DBのテーブル構築とか、HTMLからDBの各列への対応付けも全自動
SQL 文を文字列で、自分で作ったりしない
838デフォルトの名無しさん (スッップ Sdb2-zJm+ [49.98.152.222])
2022/07/07(木) 15:15:03.26ID:1RhWyS0vd JavaScriptってクラス宣言も関数使ってるらしいけど、関数型言語なの?
839デフォルトの名無しさん (アウアウウー Sa4d-9ZeA [106.181.212.40])
2022/07/07(木) 16:06:18.67ID:8vD+8lwxa return {};
840デフォルトの名無しさん (ワッチョイ 5eb0-vrx9 [153.221.212.172])
2022/07/07(木) 21:11:15.45ID:/kE53AS+0 >>838
もとはschemeを参考にした関数型言語だったのをむりやり関数型言語っぽく仕立てたから
クロージャや部分適用は普通に使えるのに対し、thisやコンストラクタやメソッドはなんか
残念な仕様になった。
もとはschemeを参考にした関数型言語だったのをむりやり関数型言語っぽく仕立てたから
クロージャや部分適用は普通に使えるのに対し、thisやコンストラクタやメソッドはなんか
残念な仕様になった。
841デフォルトの名無しさん (ワッチョイ 5eb0-vrx9 [153.221.212.172])
2022/07/07(木) 21:11:55.11ID:/kE53AS+0 むりやりオブジェクト指向言語っぽく
だな。
だな。
842デフォルトの名無しさん (オッペケ Srf9-cwmE [126.254.152.249])
2022/07/07(木) 21:39:11.18ID:TVMHA1kRr console.logが1つしか表示されないんですが、何が原因なんでしょうか?
//オブジェクトを定義するvarは受け取る際にエラーが起きそう再宣言のできるletを選択
let objA = {
// プロパティを定義
// キー: 値
year: "2021",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
let objB = {
// プロパティを定義
// キー: 値
year: "2022",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
//オブジェクトをまとめる
let allobj = Object.assign(objA, objB);
//JSON.stringifyとは、JavaScriptのオブジェクトや値などのデータをJSONに変換するための関数
let result = JSON.stringify(objA,objB);
//変数「result」に代入
console.log(result);
//オブジェクトを定義するvarは受け取る際にエラーが起きそう再宣言のできるletを選択
let objA = {
// プロパティを定義
// キー: 値
year: "2021",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
let objB = {
// プロパティを定義
// キー: 値
year: "2022",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
//オブジェクトをまとめる
let allobj = Object.assign(objA, objB);
//JSON.stringifyとは、JavaScriptのオブジェクトや値などのデータをJSONに変換するための関数
let result = JSON.stringify(objA,objB);
//変数「result」に代入
console.log(result);
843デフォルトの名無しさん (オッペケ Srf9-cwmE [126.254.152.249])
2022/07/07(木) 21:40:14.54ID:TVMHA1kRr JSON.stringifyをまとめても、let result = JSON.stringify(allobj);
console.logを2つにわけても2021のみ表示されて、2022がどうしても表示されないのですが、何か考えられる原因はありますでしょうか?console.log=JSON.stringify(objA);console.log=JSON.stringify(objB);
console.logを2つにわけても2021のみ表示されて、2022がどうしても表示されないのですが、何か考えられる原因はありますでしょうか?console.log=JSON.stringify(objA);console.log=JSON.stringify(objB);
844デフォルトの名無しさん (ワッチョイ d15f-zJm+ [14.8.104.32])
2022/07/07(木) 21:56:36.52ID:E4BLf8JX0845デフォルトの名無しさん (ワッチョイ 3261-FBfx [211.122.215.30])
2022/07/07(木) 22:25:23.38ID:1JorfJ+H0 >>843
Object.assignは1番目の引数オブジェクトを直に2番目以降のオブジェクトのキー・値で上書きするものですよ
もしかして
let allobj = [ objA, objB ];
let result = JSON.stringify(allobj);
Object.assignは1番目の引数オブジェクトを直に2番目以降のオブジェクトのキー・値で上書きするものですよ
もしかして
let allobj = [ objA, objB ];
let result = JSON.stringify(allobj);
846デフォルトの名無しさん (オッペケ Srf9-cwmE [126.254.152.249])
2022/07/07(木) 23:19:17.49ID:TVMHA1kRr 下記のようにしたら表示されるんですが、変数「result」に代入しておく必要があるため困っております。
let result =にobjA,objB別々にすることはできますでしょうか?
//オブジェクトを定義するvarは受け取る際にエラーが起きそう再宣言のできるletを選択
let objA = {
// プロパティを定義
// キー: 値
year: "2021",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
let objB = {
// プロパティを定義
// キー: 値
year: "2022",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
//JSON.stringifyとは、JavaScriptのオブジェクトや値などのデータをJSONに変換するための関数
console.log(JSON.stringify(objA));console.log(JSON.stringify(objB));
let result =にobjA,objB別々にすることはできますでしょうか?
//オブジェクトを定義するvarは受け取る際にエラーが起きそう再宣言のできるletを選択
let objA = {
// プロパティを定義
// キー: 値
year: "2021",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
let objB = {
// プロパティを定義
// キー: 値
year: "2022",
month: "1,2,3,4,5,6,7,8,9,10,11,12",
};
//JSON.stringifyとは、JavaScriptのオブジェクトや値などのデータをJSONに変換するための関数
console.log(JSON.stringify(objA));console.log(JSON.stringify(objB));
847デフォルトの名無しさん (ワッチョイ 7509-m2IM [122.223.244.226])
2022/07/08(金) 00:03:23.67ID:PFDPpPXI0 何がやりたいのかサッパリわからん
848デフォルトの名無しさん (ワッチョイ 2d01-UYEv [114.48.125.80])
2022/07/08(金) 00:18:12.73ID:hP3rbItM0 >>842-843,846
マルチポストか
https://teratail.com/questions/u195apv1x9xtdv
せめてマルチポストのマナーを守れ
https://ja.meta.stackoverflow.com/questions/2418/
>>832,834-835もあなただと思うが、JavaScriptを学習する前にPHPの入門書買うのが先だと思うぞ
form送信するのなら、JacaScriptもJSONも必要ない
PHP側でGETもしくはPOSTでパラメータを受け取れば良い
PHPにはパラメータを配列で受け取る仕組みがあるからな
やりたいことから逆引きするのは止めて、入門書で基礎を固めるべき
回答もらっても理解できんのなら意味がない
回答もらえるだけの明確な質問内容を書けないのなら意味がない
突っ込みどころが多すぎる
マルチポストか
https://teratail.com/questions/u195apv1x9xtdv
せめてマルチポストのマナーを守れ
https://ja.meta.stackoverflow.com/questions/2418/
>>832,834-835もあなただと思うが、JavaScriptを学習する前にPHPの入門書買うのが先だと思うぞ
form送信するのなら、JacaScriptもJSONも必要ない
PHP側でGETもしくはPOSTでパラメータを受け取れば良い
PHPにはパラメータを配列で受け取る仕組みがあるからな
やりたいことから逆引きするのは止めて、入門書で基礎を固めるべき
回答もらっても理解できんのなら意味がない
回答もらえるだけの明確な質問内容を書けないのなら意味がない
突っ込みどころが多すぎる
849デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.74.59])
2022/07/08(金) 00:57:16.92ID:baa8V49za >>848
アドバイスありがとうございます
マルチポストはすみません。
form通信ではなくSQLを使いアーカイブを表示させるためにプルダウンを作成しています。
Java scriptのオブジェクトでは配列を渡せないのでJSONでシリアライズしてPHPでデコードしてそれをSQLに渡します。
渡されたものから該当の記事を出力させ、PHPで JSONシリアライズした後にAJAXでJava scriptに送り返します。
アドバイスありがとうございます
マルチポストはすみません。
form通信ではなくSQLを使いアーカイブを表示させるためにプルダウンを作成しています。
Java scriptのオブジェクトでは配列を渡せないのでJSONでシリアライズしてPHPでデコードしてそれをSQLに渡します。
渡されたものから該当の記事を出力させ、PHPで JSONシリアライズした後にAJAXでJava scriptに送り返します。
850デフォルトの名無しさん (オッペケ Srf9-7D/5 [126.33.105.236])
2022/07/08(金) 01:59:04.54ID:FyHcSsdCr teratailでのやり取りを見てても根本的に理解が足りてないのがよくわかる
プログラミング始めてどれぐらいか分からんけどもPHPとJavaScriptを組み合わせてどうこうするにはまだ早い気がする
プログラミング始めてどれぐらいか分からんけどもPHPとJavaScriptを組み合わせてどうこうするにはまだ早い気がする
851デフォルトの名無しさん (ワッチョイ d15f-fVpq [14.11.8.0 [上級国民]])
2022/07/08(金) 09:14:14.28ID:XXTPwuyz0 >>832見てると、やり方調べてるうちに、不明点の迷路にハマってる気がする
まずは最低限の実装から順番に理解していかないと、解決するものもしないぞ
①WordPressのフロントエンド側からSQLを呼び出す
※SQLの内容は固定、ボタン一つで1つ結果が返ってくれば良い
⇒これだけならWordPressのコミュニティやサポートに聞けば解答が来る
②WordPressのフロントエンドからプルダウン経由(動的に値を変えながら)
SQLを呼び出す
⇒これもWordPressのコミュニティで意見聞いてから、JavaScript側での実装を考えて確認
③以降も同じように実装領域に合わせて確認していく
プログラミングだといきなり最終系考えても
初心者だと実装の過程が滅茶苦茶になるから、まずはシンプルに考えた方が良い
まずは最低限の実装から順番に理解していかないと、解決するものもしないぞ
①WordPressのフロントエンド側からSQLを呼び出す
※SQLの内容は固定、ボタン一つで1つ結果が返ってくれば良い
⇒これだけならWordPressのコミュニティやサポートに聞けば解答が来る
②WordPressのフロントエンドからプルダウン経由(動的に値を変えながら)
SQLを呼び出す
⇒これもWordPressのコミュニティで意見聞いてから、JavaScript側での実装を考えて確認
③以降も同じように実装領域に合わせて確認していく
プログラミングだといきなり最終系考えても
初心者だと実装の過程が滅茶苦茶になるから、まずはシンプルに考えた方が良い
852デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.62.104])
2022/07/08(金) 14:59:56.45ID:XF8TEdVua >>851
アドバイスありがとうございます。
objAとobjBをボタンとしてクリックさせて、それをPHP側で$識別させることになるのでしょうか?
func btnCliked(
)
let objA=[{year:2021,month:[1,2,3,4,5,6,7,8,9,10,11,12],
}]
アドバイスありがとうございます。
objAとobjBをボタンとしてクリックさせて、それをPHP側で$識別させることになるのでしょうか?
func btnCliked(
)
let objA=[{year:2021,month:[1,2,3,4,5,6,7,8,9,10,11,12],
}]
853デフォルトの名無しさん (ワッチョイ 3601-UYEv [111.188.56.5])
2022/07/08(金) 15:38:46.43ID:NjcH7rpX0 >>849
謝罪するならすべきことをやってくれ
https://ja.meta.stackoverflow.com/questions/2418/
form送信しないならどうやってデータを送る?
select要素時点で文字列になってるのに、なぜJSONに変換する必要がある?
PHPでどうやって受け取る?
この辺、ちゃんと質問に起こせてないから、質問内容が伝わらなかったり、基礎的な知識不足を指摘されるんだと思うがな
謝罪するならすべきことをやってくれ
https://ja.meta.stackoverflow.com/questions/2418/
form送信しないならどうやってデータを送る?
select要素時点で文字列になってるのに、なぜJSONに変換する必要がある?
PHPでどうやって受け取る?
この辺、ちゃんと質問に起こせてないから、質問内容が伝わらなかったり、基礎的な知識不足を指摘されるんだと思うがな
854デフォルトの名無しさん (ワッチョイ d15f-fVpq [14.11.8.0 [上級国民]])
2022/07/08(金) 16:38:30.47ID:XXTPwuyz0 >>852
イメージ的にはそんな感じ
ただ>>853も言っているように、フロントエンド(HTML/JavaScript)とバックエンド(PHP)で
どうやってデータの受け渡しをしているのか、っていうのを理解できてないから
本当に入門書読んで勉強し直した方が良いと思うぞ
まずは本当にシンプルに
①Wordpress上でボタンを押して、固定値で値をPHP側に渡す(formのPOST通信)をする
②PHP側で値の受け取りが出来たかを確認する
③確認が出来たら、PHP側からJavaScript側に返り値を固定値で渡す
④WordPress上に返ってきた値を表示できるか確認する
とりあえず最低限の基礎的な動作を実装して、拡張するっていうやり方しないと
この先も大変な事になるぞ
イメージ的にはそんな感じ
ただ>>853も言っているように、フロントエンド(HTML/JavaScript)とバックエンド(PHP)で
どうやってデータの受け渡しをしているのか、っていうのを理解できてないから
本当に入門書読んで勉強し直した方が良いと思うぞ
まずは本当にシンプルに
①Wordpress上でボタンを押して、固定値で値をPHP側に渡す(formのPOST通信)をする
②PHP側で値の受け取りが出来たかを確認する
③確認が出来たら、PHP側からJavaScript側に返り値を固定値で渡す
④WordPress上に返ってきた値を表示できるか確認する
とりあえず最低限の基礎的な動作を実装して、拡張するっていうやり方しないと
この先も大変な事になるぞ
855デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.60.34])
2022/07/08(金) 16:45:31.09ID:FYSMny9Ka >>853
シリアライズするのはJavascript側から配列を渡せないからですよね?
PHPではJSONファイルをnode.jsで作成してそれをPHP側で取得→デコードしてSQLに渡す?でしょうか?
シリアライズするのはJavascript側から配列を渡せないからですよね?
PHPではJSONファイルをnode.jsで作成してそれをPHP側で取得→デコードしてSQLに渡す?でしょうか?
856デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.60.55])
2022/07/08(金) 16:52:48.63ID:IP56XoY2a857デフォルトの名無しさん (オッペケ Srf9-7D/5 [126.194.27.80])
2022/07/08(金) 17:48:25.41ID:BhrsH9/Er858デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.60.152])
2022/07/08(金) 18:08:14.67ID:iDDaPeaDa859デフォルトの名無しさん (スッップ Sdb2-zJm+ [49.98.158.250])
2022/07/08(金) 18:09:52.75ID:RjBHtpmod PHPはめちゃくちゃHTMLやMySQLと親和性高いからJSは足りない部分補うのが主になるかな
多分他のサーバーサイド言語だとJSの活躍の場広がるんだろう
多分他のサーバーサイド言語だとJSの活躍の場広がるんだろう
860デフォルトの名無しさん (ワッチョイ d15f-fVpq [14.11.8.0 [上級国民]])
2022/07/08(金) 18:10:43.61ID:XXTPwuyz0 >>856
バックエンド側をどうやって実装するかにもよるけど
例えばSQLに必要な検索キーが1つだけなら、単体の変数でも良いし
複数あっても。渡し方は極端に言ったら自由だぞ?
とりあえず動かすだけなら、複数の値をカンマ区切りの文字列として渡して
PHP側でカンマでsplitかけたら配列として使えるようになるから
それこからSQL文に埋め込むとかでも良いし……
それこそJSON.stringifyとかも、JavaScript上の辞書とか配列を
JSONとして対応できるように文字列に変換してるっていう感じだから
応用みたいな使い方だな(PHP側でunserializeすれば辞書とか配列に復元できる)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
バックエンド側をどうやって実装するかにもよるけど
例えばSQLに必要な検索キーが1つだけなら、単体の変数でも良いし
複数あっても。渡し方は極端に言ったら自由だぞ?
とりあえず動かすだけなら、複数の値をカンマ区切りの文字列として渡して
PHP側でカンマでsplitかけたら配列として使えるようになるから
それこからSQL文に埋め込むとかでも良いし……
それこそJSON.stringifyとかも、JavaScript上の辞書とか配列を
JSONとして対応できるように文字列に変換してるっていう感じだから
応用みたいな使い方だな(PHP側でunserializeすれば辞書とか配列に復元できる)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
861デフォルトの名無しさん (オッペケ Srf9-7D/5 [126.194.17.224])
2022/07/08(金) 18:16:53.33ID:oRgFDmccr862デフォルトの名無しさん (ワッチョイ 3601-UYEv [111.188.56.5])
2022/07/08(金) 20:40:22.78ID:NjcH7rpX0863デフォルトの名無しさん (ワッチョイ 3601-UYEv [111.188.56.5])
2022/07/08(金) 20:46:54.00ID:NjcH7rpX0 >>855
> PHPではJSONファイルをnode.jsで作成してそれをPHP側で取得→デコードしてSQLに渡す?でしょうか?
そもそも、これサーバサイド側の処理になってる
クライアントサイドのJSとサーバサイドのPHPを連携させる話じなかったの?
Node.jsが出てくる理由も謎
> PHPではJSONファイルをnode.jsで作成してそれをPHP側で取得→デコードしてSQLに渡す?でしょうか?
そもそも、これサーバサイド側の処理になってる
クライアントサイドのJSとサーバサイドのPHPを連携させる話じなかったの?
Node.jsが出てくる理由も謎
864デフォルトの名無しさん (ワッチョイ 5eb0-vrx9 [153.221.212.172])
2022/07/08(金) 21:15:58.38ID:vEJej2ti0 マルチポスト警察ウザ。
865デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.60.222])
2022/07/08(金) 22:52:34.37ID:X5TUJXwua これあとでアドバイス貰ったんですがwordpressのSQLにJavascriptを流すって出来ないんですね
フロントデータの送受信が出来ないようなので、という事はwordpressでJavascriptは使えないってことでしょうか…
フロントデータの送受信が出来ないようなので、という事はwordpressでJavascriptは使えないってことでしょうか…
866デフォルトの名無しさん (ブーイモ MM96-SGcD [133.159.153.167])
2022/07/08(金) 23:02:23.38ID:8WwUcj98M いよいよ何を言ってるかわかんねえ
867デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.61.190])
2022/07/08(金) 23:07:34.08ID:VQz+8WUxa >>866
wordpressのJSONをwordpressの SQLに流す事は不可能なようです。
どうやら過去にウイルスを流された事があるらしくAPI通信が遮断されているようです。
jQuearyなどでファイルをクッションにして無理やり送る事は出来ないんですかね…
wordpressのJSONをwordpressの SQLに流す事は不可能なようです。
どうやら過去にウイルスを流された事があるらしくAPI通信が遮断されているようです。
jQuearyなどでファイルをクッションにして無理やり送る事は出来ないんですかね…
868デフォルトの名無しさん (ブーイモ MM96-SGcD [133.159.153.167])
2022/07/08(金) 23:19:43.07ID:8WwUcj98M869デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.63.141])
2022/07/08(金) 23:26:57.20ID:rnkihMoNa >>868
申し訳ありません。
2段階式年月プルダウンをfront-page.phpに設置しております。
そこからarchive.phpのデータベース(SQL)に送りたいです。
プルダウンでクリックされた月を元にSQLに渡したいのですが、片方がJavascriptである場合、wordpressはフロントデータの送受信が出来ない為成立しません。
これを回避する方法が知りたいです。
申し訳ありません。
2段階式年月プルダウンをfront-page.phpに設置しております。
そこからarchive.phpのデータベース(SQL)に送りたいです。
プルダウンでクリックされた月を元にSQLに渡したいのですが、片方がJavascriptである場合、wordpressはフロントデータの送受信が出来ない為成立しません。
これを回避する方法が知りたいです。
870デフォルトの名無しさん (テテンテンテン MM96-E42W [133.106.49.35])
2022/07/08(金) 23:33:14.22ID:v6YmQ/+dM 会話も噛み合わないし最早全コード晒した方がはえーぞ
現状秘密にするほどの価値も無いだろうし
現状秘密にするほどの価値も無いだろうし
871デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.61.244])
2022/07/08(金) 23:36:09.51ID:F1gZYOBca >>860
ボタンクリックが動的だとすると、JavascriptやjQueryから信号を出さないといけない気がするんですが、両方PHPで2段階プルダウンアーカイブ機能を作る事はできるのでしょうか?
ボタンクリックが動的だとすると、JavascriptやjQueryから信号を出さないといけない気がするんですが、両方PHPで2段階プルダウンアーカイブ機能を作る事はできるのでしょうか?
872デフォルトの名無しさん (アウアウウー Sa4d-uVV9 [106.146.61.244])
2022/07/08(金) 23:36:46.39ID:F1gZYOBca >>870
wandboxでコードを書いて載せます
wandboxでコードを書いて載せます
873デフォルトの名無しさん (ブーイモ MM96-SGcD [133.159.153.167])
2022/07/08(金) 23:37:21.48ID:8WwUcj98M >>869
>片方がJavascriptである場合、wordpressはフロントデータの送受信が出来ない為成立しません。
これが何言ってるかわからん
具体的なphpなりSQLなりのコードも出してみなよ
もう完全にスレ違いだけど
>片方がJavascriptである場合、wordpressはフロントデータの送受信が出来ない為成立しません。
これが何言ってるかわからん
具体的なphpなりSQLなりのコードも出してみなよ
もう完全にスレ違いだけど
874デフォルトの名無しさん (オッペケ Srf9-cwmE [126.33.108.116])
2022/07/08(金) 23:44:33.83ID:LpFPYqzOr https://wandbox.org/permlink/Fal7HBABk3wT4fpd
archive.phpの170行目から2段階式プルダウン、339行目からSQLになります。
archive.phpの170行目から2段階式プルダウン、339行目からSQLになります。
875デフォルトの名無しさん (オッペケ Srf9-cwmE [126.33.108.116])
2022/07/08(金) 23:52:24.56ID:LpFPYqzOr https://wandbox.org/permlink/ymaf7S1uQ92PbiP8
scriptエラーになってるので変更しました。170~270が2段階式プルダウンです。
scriptエラーになってるので変更しました。170~270が2段階式プルダウンです。
876デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 00:02:51.10ID:R84UyFQQM877デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.77])
2022/07/09(土) 00:06:59.88ID:cNMjwuhqa >>876
1.選択した年と月をJSONにして文字にシリアライズします
2.PHP側でJSONでシリアライズします
3.SQLに配列を渡します
4.Javascript側で結果をAJAXで受け取ります
これでプルダウン機能が動作します。
何か間違ってる事はありますでしょうか?
1.選択した年と月をJSONにして文字にシリアライズします
2.PHP側でJSONでシリアライズします
3.SQLに配列を渡します
4.Javascript側で結果をAJAXで受け取ります
これでプルダウン機能が動作します。
何か間違ってる事はありますでしょうか?
878デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 00:09:11.44ID:5lHQxv9F0 >>877
1と2で合計2回シリアライズしてるのが意味不明
1と2で合計2回シリアライズしてるのが意味不明
879デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 00:11:14.44ID:R84UyFQQM880デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.252])
2022/07/09(土) 00:18:11.07ID:iVSPF+ILa881デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.252])
2022/07/09(土) 00:18:52.21ID:iVSPF+ILa >>879
SQLでwordpressのデータベースから該当する記事を出力してPHPで表示したいです
SQLでwordpressのデータベースから該当する記事を出力してPHPで表示したいです
882デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 00:29:37.92ID:R84UyFQQM883デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 00:33:28.58ID:5lHQxv9F0884デフォルトの名無しさん (オッペケ Srdd-aP0v [126.33.108.116])
2022/07/09(土) 00:44:35.23ID:ifkPFCzpr885デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.155])
2022/07/09(土) 00:45:00.56ID:9ZaaLUbUa886デフォルトの名無しさん (オッペケ Srdd-aP0v [126.33.108.116])
2022/07/09(土) 00:46:14.61ID:ifkPFCzpr archive.phpの254行目からSQLを組んでいます。
887デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.154])
2022/07/09(土) 00:47:27.37ID:E6hL7TiQa >>883
配列にしたいからですね
配列にしたいからですね
888デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 00:57:10.79ID:R84UyFQQM889デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.198])
2022/07/09(土) 01:03:38.45ID:TjvgNrJja890デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.198])
2022/07/09(土) 01:04:31.60ID:TjvgNrJja ANDはwordpressのテーブルからカラムで条件を引いてます
891デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 01:08:11.05ID:R84UyFQQM892デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.63.239])
2022/07/09(土) 01:20:47.68ID:R5/OxtTaa893デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 01:26:28.50ID:R84UyFQQM894デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.61.156])
2022/07/09(土) 01:28:08.76ID:O/RwhBiHa php get_search_form(); で貰ったワードから検索ページのSQLは出力されています
アーカイブページもおそらくwordpressの既存のアーカイブをクリックしてSQLに繋がるはずです
この配列の渡し方もよく分かってない状態です…
アーカイブページもおそらくwordpressの既存のアーカイブをクリックしてSQLに繋がるはずです
この配列の渡し方もよく分かってない状態です…
895デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 01:31:51.09ID:5lHQxv9F0 >>869,877,880,887
要件
- front-page.phpにselect要素で年月のブルダウンメニュー設置
- front-page.phpの入力値をAjaxでarchive.phpにリクエスト
- archive.phpでパラメータを配列で受け取る
実装
1. front-page.php: のselect要素で配列にしたいもののname属性値に [] をつけておく
2. front-page.php: Fetch APIでFormDataをarchive.phpにリクエスト
3. archive.php: 受け取った配列を元にSQL文生成→クエリを発行→結果をJSONで出力
4. front-page.php: JSON.parse()して後続処理
SQLの下りはPHPの処理なので、ここでは言及しない
要件
- front-page.phpにselect要素で年月のブルダウンメニュー設置
- front-page.phpの入力値をAjaxでarchive.phpにリクエスト
- archive.phpでパラメータを配列で受け取る
実装
1. front-page.php: のselect要素で配列にしたいもののname属性値に [] をつけておく
2. front-page.php: Fetch APIでFormDataをarchive.phpにリクエスト
3. archive.php: 受け取った配列を元にSQL文生成→クエリを発行→結果をJSONで出力
4. front-page.php: JSON.parse()して後続処理
SQLの下りはPHPの処理なので、ここでは言及しない
896デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 01:39:36.21ID:R84UyFQQM897デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.61.98])
2022/07/09(土) 01:45:04.90ID:GEdQauyNa898デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.164])
2022/07/09(土) 01:52:27.26ID:oGz1rKt0a >>895
- front-page.phpの入力値をAjaxでarchive.phpにリクエスト
についてお聞きしたいんですが、これはフロントデータの送受信にあたらないのでしょうか?
wordpressはJavascriptとjQueryから受け取ることも渡すことも出来ません
- front-page.phpの入力値をAjaxでarchive.phpにリクエスト
についてお聞きしたいんですが、これはフロントデータの送受信にあたらないのでしょうか?
wordpressはJavascriptとjQueryから受け取ることも渡すことも出来ません
899デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 01:57:57.75ID:R84UyFQQM900デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.82])
2022/07/09(土) 02:01:20.50ID:bBBYb9fqa >>899
いえ配列である必要はないですが、SQLで検索する際に文字は無理だと思うので、一回デコードしてデータにする必要があると思います…
いえ配列である必要はないですが、SQLで検索する際に文字は無理だと思うので、一回デコードしてデータにする必要があると思います…
901デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 02:02:16.29ID:5lHQxv9F0 >>898
勿論、フロントデータだ
HTMLに書かれたselect要素に入力されたデータはクライアントサイドの情報だからな
WordPressがフロントデータを受信できないのなら、プルダウンメニューに入力された情報をWordPressで受け取る手段がないことになる
ブラウザを使えないようだから、サーバにtxtファイルをアップロードするとか、手段を変えるしかないのでは?
勿論、フロントデータだ
HTMLに書かれたselect要素に入力されたデータはクライアントサイドの情報だからな
WordPressがフロントデータを受信できないのなら、プルダウンメニューに入力された情報をWordPressで受け取る手段がないことになる
ブラウザを使えないようだから、サーバにtxtファイルをアップロードするとか、手段を変えるしかないのでは?
902デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.169])
2022/07/09(土) 02:07:50.54ID:fbyrksNGa >>901
やはり1回クッションを挟む必要があるんですよね?
ただ厄介なのはSQLからも送れないことですねwordpressの SQLなので記事の情報を全てファイルに送ってそれを再度Javascriptに送り返す必要があります
やはり1回クッションを挟む必要があるんですよね?
ただ厄介なのはSQLからも送れないことですねwordpressの SQLなので記事の情報を全てファイルに送ってそれを再度Javascriptに送り返す必要があります
903デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.169])
2022/07/09(土) 02:09:25.27ID:fbyrksNGa 皆さんアドバイスありがとうございます
とても勉強になりました
とても勉強になりました
904デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 02:09:27.83ID:R84UyFQQM >>900
>SQLで検索する際に文字は無理だと思うので
何を言いたいのか分からん
post.post_date LIKE '2021-01%'
って検索条件にすれば2021年1月の記事は検索できるんじゃないの?
>SQLで検索する際に文字は無理だと思うので
何を言いたいのか分からん
post.post_date LIKE '2021-01%'
って検索条件にすれば2021年1月の記事は検索できるんじゃないの?
905デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.169])
2022/07/09(土) 02:11:17.73ID:fbyrksNGa906デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 02:13:21.75ID:R84UyFQQM907デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.60.169])
2022/07/09(土) 02:14:16.13ID:fbyrksNGa >>906
文字列変数ですね、失礼致しました。
文字列変数ですね、失礼致しました。
908デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 02:16:02.68ID:R84UyFQQM あと君さ、物を知らなくて教えを乞う立場なのに~出来ません、~必要がありますとか断定形使うのやめようよ
君の知らない解決方法なんていくらでもある
君の知らない解決方法なんていくらでもある
909デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 02:21:08.51ID:5lHQxv9F0 >>902
1回クッションとは?
フロントデータを受け付けないとは、通信を受け付けないということ
そんなWordPressがあるなら、ブラウザでWordPressを閲覧することすらできない
前提がありえないと俺は思うけどね
あなたは通信周りの知識がかなり怪しい
PHPも明らかに基礎知識が不足してる
この課題は今すぐ解決は諦めて、入門書から始めるのが妥当なんじゃないと俺は思う
1回クッションとは?
フロントデータを受け付けないとは、通信を受け付けないということ
そんなWordPressがあるなら、ブラウザでWordPressを閲覧することすらできない
前提がありえないと俺は思うけどね
あなたは通信周りの知識がかなり怪しい
PHPも明らかに基礎知識が不足してる
この課題は今すぐ解決は諦めて、入門書から始めるのが妥当なんじゃないと俺は思う
910デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 02:22:46.19ID:R84UyFQQM >>907
で、SQLが配列やオブジェクトを受け取る必要がないなら画面からは年のselectから2021を、月のselectから1を渡せば済む話じゃないの?
で、SQLが配列やオブジェクトを受け取る必要がないなら画面からは年のselectから2021を、月のselectから1を渡せば済む話じゃないの?
911デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.145])
2022/07/09(土) 02:31:00.30ID:Wx4GDmQ6a912デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.145])
2022/07/09(土) 02:33:37.34ID:Wx4GDmQ6a913デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.62.145])
2022/07/09(土) 02:34:45.13ID:Wx4GDmQ6a >>909
外部のJavascriptとjQeary限定ですので内部データは受け付けてるのではないでしょうか
外部のJavascriptとjQeary限定ですので内部データは受け付けてるのではないでしょうか
914デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 02:35:31.13ID:5lHQxv9F0915デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.153.167])
2022/07/09(土) 02:36:16.13ID:R84UyFQQM >>909
完全に同意する
プログラミング全般についてもググって言葉はあれこれ知ってるけど
知識として吸収できてなくてそれらが繋がってないと感じる
こちらから伝えてることも正しく理解できてないだろう
これ以上続けても得るものも少ないだろうし何よりスレ違いだしここまでにしとく
長々とレスしてしまって申し訳なかった
完全に同意する
プログラミング全般についてもググって言葉はあれこれ知ってるけど
知識として吸収できてなくてそれらが繋がってないと感じる
こちらから伝えてることも正しく理解できてないだろう
これ以上続けても得るものも少ないだろうし何よりスレ違いだしここまでにしとく
長々とレスしてしまって申し訳なかった
916デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 02:38:54.67ID:5lHQxv9F0917デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/09(土) 02:41:49.97ID:5lHQxv9F0918デフォルトの名無しさん (アウアウウー Sac1-dkZz [106.146.63.210])
2022/07/09(土) 02:48:31.51ID:KXWHUUgBa >>916
朝起きてからwordpressの問い合わせフォーラムでもう少し詳しく聞いてみます
朝起きてからwordpressの問い合わせフォーラムでもう少し詳しく聞いてみます
919デフォルトの名無しさん (スップ Sd4a-dc7i [49.97.102.111])
2022/07/09(土) 05:00:15.88ID:Eo+xJyold 完全にスレチ
920デフォルトの名無しさん (オッペケ Srdd-7sqz [126.33.127.222])
2022/07/09(土) 08:04:40.38ID:/eREX8sAr またあちこちに場違いで意味不明な質問をバラ撒いて場を荒らしていくのだろう
921デフォルトの名無しさん (ワッチョイ 655f-f+ri [14.11.8.0 [上級国民]])
2022/07/09(土) 10:02:17.20ID:Ed2YpxlV0 プログラミングって「とりあえずやってみて、分からない所を調べる」
ってやり方すると信じられないぐらい余計に分からなくなるからな
体系的に一回勉強して全体のシステムイメージとか
実装のイメージとかがある程度掴まないとマジで意味不明な事をやりだす……
ってやり方すると信じられないぐらい余計に分からなくなるからな
体系的に一回勉強して全体のシステムイメージとか
実装のイメージとかがある程度掴まないとマジで意味不明な事をやりだす……
922デフォルトの名無しさん (ワッチョイ 262c-0UEB [153.176.51.249])
2022/07/09(土) 17:10:46.65ID:al4zTytR0 YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンでは、
半年でポートフォリオを作って転職していく
KENTA は、PHP, Scala をオワコン認定した。
プロは今後、これらの言語で作らない
Rails以外では学習環境がないから、勉強できない。
本屋でWord Press の本を見たけど、ソースコードを書いているような本は無かった。
あるのはデザインの本ばかり
一方Railsなら、黒田努の3冊の本とか、パーフェクト Ruby on Rails、
Ruby on Rails 6 エンジニア養成読本とか、他の著者の本も何冊かある
Rails Guide, Rails チュートリアル、
YouTube のDean など一杯ある
KENTAのサロンには、日本6位の3千人が入っている。
1位はキングコング西野の数万人。
ガーシー・参政党なども、数万人ぐらいかな?
半年でポートフォリオを作って転職していく
KENTA は、PHP, Scala をオワコン認定した。
プロは今後、これらの言語で作らない
Rails以外では学習環境がないから、勉強できない。
本屋でWord Press の本を見たけど、ソースコードを書いているような本は無かった。
あるのはデザインの本ばかり
一方Railsなら、黒田努の3冊の本とか、パーフェクト Ruby on Rails、
Ruby on Rails 6 エンジニア養成読本とか、他の著者の本も何冊かある
Rails Guide, Rails チュートリアル、
YouTube のDean など一杯ある
KENTAのサロンには、日本6位の3千人が入っている。
1位はキングコング西野の数万人。
ガーシー・参政党なども、数万人ぐらいかな?
923デフォルトの名無しさん (ワッチョイ 7602-G37O [113.158.207.182])
2022/07/09(土) 20:22:33.93ID:pnXxhBAU0 なんやかんや言いながら、突き放さずに細かくアドバイスしてる諸兄の面倒見の良さにホッコリしたわw
924デフォルトの名無しさん (ブーイモ MM69-x9bc [210.138.177.228])
2022/07/09(土) 21:18:10.25ID:cRLvSY3PM 正直後悔してる
まず相手のレベルを見定めるのが重要だと悟った
理解できるレベルに達してない相手にアドバイスとか虚無以外の何物でもないわ
まず相手のレベルを見定めるのが重要だと悟った
理解できるレベルに達してない相手にアドバイスとか虚無以外の何物でもないわ
925デフォルトの名無しさん (ワッチョイ 655f-N0na [14.11.194.224])
2022/07/09(土) 21:42:04.17ID:6TIrzOkD0 いきあたりばったり感が前スレのYAGNIの人を彷彿とさせるな
926デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/10(日) 02:20:27.58ID:4q1Imc8s0 >>925
思想は同じだと思う
(A) 必要になったら調べる(体系的な学習はしない)
(B) 足りない知識は妄想で補完する
(C) 苦言は聞き流す
本人としては調べる時間を極限まで減らして効率的に学習しているつもりなのだろう
実際は理解できてなくて、無駄に学習時間を減らしてるだけだが
思想は同じだと思う
(A) 必要になったら調べる(体系的な学習はしない)
(B) 足りない知識は妄想で補完する
(C) 苦言は聞き流す
本人としては調べる時間を極限まで減らして効率的に学習しているつもりなのだろう
実際は理解できてなくて、無駄に学習時間を減らしてるだけだが
927デフォルトの名無しさん (オッペケ Srdd-w86d [126.208.227.77])
2022/07/10(日) 11:37:41.66ID:D2fk2WhOr まだプログラミング始めて間もないのかと思ったら1年とかやってるのか
https://teratail.com/users/homepage-site?feed=question
質問もいろいろアレだけど限界まで考えたとかあらゆる方法を試したとか言えちゃうのはすごいな
https://teratail.com/users/homepage-site?feed=question
質問もいろいろアレだけど限界まで考えたとかあらゆる方法を試したとか言えちゃうのはすごいな
928デフォルトの名無しさん (オッペケ Srdd-aP0v [126.133.215.226])
2022/07/13(水) 14:00:11.96ID:HJBy50kar 一応方法はわかりました。
WordPressを通せばそれ自体がフロント動作をしてしまうので、
全部ぶった切って、APIとしての出力=VIEW
STDINを乗っ取ってWordPressの初期化経路を通さずに、
DBを使う
WordPressを通せばそれ自体がフロント動作をしてしまうので、
全部ぶった切って、APIとしての出力=VIEW
STDINを乗っ取ってWordPressの初期化経路を通さずに、
DBを使う
929デフォルトの名無しさん (ワッチョイ 1d01-f7UQ [60.100.198.133])
2022/07/13(水) 15:08:50.99ID:1epm7SNo0 ここのスレの住人は自称プログラマーのアホ無職ばっかりだからマトモな回答は得られないよ
続きはコッチでやればいいよ。親切な達人プログラマーが懇切丁寧に教えてくれるから
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
続きはコッチでやればいいよ。親切な達人プログラマーが懇切丁寧に教えてくれるから
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
930デフォルトの名無しさん (アウアウクー MM9d-G37O [36.11.228.85])
2022/07/13(水) 15:42:32.38ID:dcWzCYhCM JavaScript の質問者をRuby板に誘導する無能あらわる
931デフォルトの名無しさん (オッペケ Srdd-KYHT [126.166.212.122])
2022/07/13(水) 15:49:35.21ID:deFlrBOmr >>928はWordPressの質問をJavaScriptスレで質問した質問者の手落ち
マルチポスト先を含めて多くの回答者の時間を無駄にさせた
マルチポスト先を含めて多くの回答者の時間を無駄にさせた
932デフォルトの名無しさん (ブーイモ MMfe-x9bc [133.159.152.48])
2022/07/13(水) 16:05:33.79ID:rQQlyOmYM >>927見たら質問が増えててまだ配列をSQLに~とか言っててため息しか出ない
933デフォルトの名無しさん (テテンテンテン MMfe-N0na [133.106.48.190])
2022/07/13(水) 16:26:27.80ID:KuhsWpp+M rubyスレがスレチの質問で溢れかえる分には俺は困らんから好きにすればいいよ
934922 (ワッチョイ 262c-0UEB [153.176.51.249])
2022/07/13(水) 18:08:13.50ID:EtP8dxEe0 >>922
に書いた
学習環境が無いもので開発したら、勉強できないから数年以上掛かる
一方、Ruby on Rails なら学習環境があるから、
半年ぐらいでポートフォリオを作れる
大切なのは何かを勉強する事ではなくて、勉強する方法を勉強すること!
どういうやり方をすれば、勉強・上達できるのか。
これが成長には大事。
企業が求める自走力。自分で探して解決する能力
だからKENTA が、Django, Laravel で作っても採用されませんと言うわけ。
技術選定で、Railsよりも、Django, Laravelを選んだ理由は何ですか? と聞かれる。
答えられないでしょ
単にこの香具師は、調べる能力がない・適材適所ではないと思われるだけ
に書いた
学習環境が無いもので開発したら、勉強できないから数年以上掛かる
一方、Ruby on Rails なら学習環境があるから、
半年ぐらいでポートフォリオを作れる
大切なのは何かを勉強する事ではなくて、勉強する方法を勉強すること!
どういうやり方をすれば、勉強・上達できるのか。
これが成長には大事。
企業が求める自走力。自分で探して解決する能力
だからKENTA が、Django, Laravel で作っても採用されませんと言うわけ。
技術選定で、Railsよりも、Django, Laravelを選んだ理由は何ですか? と聞かれる。
答えられないでしょ
単にこの香具師は、調べる能力がない・適材適所ではないと思われるだけ
935メールの質問者@時の旅人 (ワッチョイ 9968-KWb1 [112.68.214.52])
2022/07/13(水) 22:31:32.60ID:Eqkp2lTo0 >>921
僕のディスはそこまでにしてw
僕のディスはそこまでにしてw
936デフォルトの名無しさん (ワッチョイ 7985-kiqj [218.45.162.156])
2022/07/14(木) 20:00:33.34ID:AABV7RLe0 「とりあえずやってみる」の人によりけりだから、話が通じにくいね
入門書を一通りまねてみるってなら有りだろ
問題は、初心者がよい入門書を判別できない
入門書を一通りまねてみるってなら有りだろ
問題は、初心者がよい入門書を判別できない
937メールの質問者@時の旅人 (テテンテンテン MMfe-KWb1 [133.106.192.152])
2022/07/14(木) 22:34:10.26ID:0uPY6WX6M 僕は、逆引きから入るのが良いかもしれないと思ってる人です。
やりたい事がタイトルになってて、サンプルコードも載っている書籍からプログラミングの入り口にちょうど良い気がしています。
やりたい事がタイトルになってて、サンプルコードも載っている書籍からプログラミングの入り口にちょうど良い気がしています。
938デフォルトの名無しさん (ワッチョイ 5e01-KYHT [111.188.56.5])
2022/07/15(金) 10:12:59.14ID:MQXq2CEo0939デフォルトの名無しさん (ワッチョイ bbc3-GsVe [159.28.152.184])
2022/07/17(日) 12:49:24.94ID:QAgCXqq90 すいません、
文書の中から決まったパターンに合致する部分を全部抽出して配列にしたいので、
matchと正規表現を使ったのですが結果が惜しいです…
a href="hoge"
の「引用符内のみ」を抽出したいので
let regexp = /a href="(.*?)"/;
と書いたのですが結果は
a href="hoge" と丸ごとごろっと抽出されてしまいます
普通にdocument.getElementsByTagName("a");でDOMアクセスすれば?
と思われるかもしれませんが、XMLhttpRequestで取得したテキストなのでできません
どなたかアドバイスいただけないでしょうか
文書の中から決まったパターンに合致する部分を全部抽出して配列にしたいので、
matchと正規表現を使ったのですが結果が惜しいです…
a href="hoge"
の「引用符内のみ」を抽出したいので
let regexp = /a href="(.*?)"/;
と書いたのですが結果は
a href="hoge" と丸ごとごろっと抽出されてしまいます
普通にdocument.getElementsByTagName("a");でDOMアクセスすれば?
と思われるかもしれませんが、XMLhttpRequestで取得したテキストなのでできません
どなたかアドバイスいただけないでしょうか
940デフォルトの名無しさん (ワッチョイ d5a5-BDaN [42.127.91.26])
2022/07/17(日) 13:03:11.91ID:wjgru9qH0 まずはそのコードを提示して
941デフォルトの名無しさん (ワッチョイ e361-HEGZ [125.175.33.224])
2022/07/17(日) 13:09:51.96ID:U0JA+oIi0 >>939
DOMParser使えば?
DOMParser使えば?
942デフォルトの名無しさん (ワッチョイ bbc3-GsVe [159.28.152.184])
2022/07/17(日) 13:10:59.56ID:QAgCXqq90 こうでしょうか
const loadText=//aタグが入ったhtml文書ならなんでも
let regexp = /a href="(.*?)"/g
let result = loadText.match(regexp);
console.log(result[0]);
const loadText=//aタグが入ったhtml文書ならなんでも
let regexp = /a href="(.*?)"/g
let result = loadText.match(regexp);
console.log(result[0]);
943デフォルトの名無しさん (オッペケ Sr29-Gdun [126.166.205.55])
2022/07/17(日) 13:11:37.96ID:jpL8yKJIr >>939
正規表現でも出来なくはないが、DOMParserやinnerHTMLでDOMに変換するのが確実だと思うぞ
正規表現でも出来なくはないが、DOMParserやinnerHTMLでDOMに変換するのが確実だと思うぞ
944デフォルトの名無しさん (ブーイモ MM41-F4R+ [210.138.179.227])
2022/07/17(日) 13:12:39.13ID:5lTMvyOcM >>939
const targetText = 'aaa"bbb"ccc"ddd"eee"';
const quart = targetText.split('"').filter((e, i) => i % 2 && e != '');
これじゃダメかな?
const targetText = 'aaa"bbb"ccc"ddd"eee"';
const quart = targetText.split('"').filter((e, i) => i % 2 && e != '');
これじゃダメかな?
945デフォルトの名無しさん (ワッチョイ bbc3-GsVe [159.28.152.184])
2022/07/17(日) 13:17:54.06ID:QAgCXqq90 みなさんありがとうございます!
DOMパーサーってやつ使ったらできました!DOMParserすごい!
正規表現のやり方も後でためしてみます!
DOMパーサーってやつ使ったらできました!DOMParserすごい!
正規表現のやり方も後でためしてみます!
946デフォルトの名無しさん (ワッチョイ 05b0-btS4 [114.164.18.98])
2022/07/17(日) 14:21:17.89ID:R88kcvl50 result[0] だから全部返ってきただけじゃね?
947デフォルトの名無しさん (ワッチョイ a35c-BDaN [211.3.241.11])
2022/07/17(日) 16:14:33.63ID:zcNS1AQ+0 >>942
let regexp = /a href="(.*?)"/g
console.log(result[0]);
↓
let regexp = /a href="(.*?)"/
console.log(result[1]);
gフラグの有無で返り値が異なる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/match
let regexp = /a href="(.*?)"/g
console.log(result[0]);
↓
let regexp = /a href="(.*?)"/
console.log(result[1]);
gフラグの有無で返り値が異なる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/match
948デフォルトの名無しさん (ワッチョイ bb01-qysg [111.188.56.5])
2022/07/17(日) 21:17:50.79ID:Fj+O5aYq0 >>945
・属性値がダブルコーテーションで括っている
・属性値内のダブルコーテーション、<>がエスケープされている
上記条件を満たすならば、
/<a\s[^>]*href\s*=\s*"([^"]*)"/i.exec('<a class="foo" href="bar.html">')[1]; // "bar.html"
・属性値がダブルコーテーションで括っている
・属性値内のダブルコーテーション、<>がエスケープされている
上記条件を満たすならば、
/<a\s[^>]*href\s*=\s*"([^"]*)"/i.exec('<a class="foo" href="bar.html">')[1]; // "bar.html"
949デフォルトの名無しさん (ワッチョイ 7d3b-BDaN [164.70.137.225])
2022/07/17(日) 22:54:51.79ID:xCeiI5nR0 キチャナイ
950デフォルトの名無しさん (ワッチョイ cd59-Vb2/ [150.246.105.131])
2022/07/18(月) 19:41:18.90ID:Te2cv+NU0 javascriptで金稼げますか?(´・ω・`)、、、
ストップウォッチ
ストップウォッチ
951デフォルトの名無しさん (ワッチョイ cd59-Vb2/ [150.246.105.131])
2022/07/18(月) 20:26:01.15ID:Te2cv+NU0952メールの質問者@時の旅人 (ワッチョイ b568-r0Wp [112.68.214.52])
2022/07/22(金) 00:25:43.27ID:j2plnp0L0 >>951
スレッドストッパー力半端ないですねw
スレッドストッパー力半端ないですねw
953デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 17:18:57.58ID:SC3zs6/n0 初歩的な質問で申し訳ありません
英単語学習用のタイピングゲームを作ってましてその要素が1000ほどあるのですが
csvからランダムに取り込むことは可能でしょうか?
やはり一度コードに記述した方がいいのでしょうか?
英単語学習用のタイピングゲームを作ってましてその要素が1000ほどあるのですが
csvからランダムに取り込むことは可能でしょうか?
やはり一度コードに記述した方がいいのでしょうか?
954デフォルトの名無しさん (ワッチョイ 427c-VsAj [43.235.241.201])
2022/07/25(月) 17:26:43.95ID:mBcdUBse0 当然だけどローカルのファイルを直接は扱えない
input fileなどでファイルを指定してそれを解読することは可能だが
ゲームみたいなデータなら予めそのデータをコードにしておいた方が良いだろうね
input fileなどでファイルを指定してそれを解読することは可能だが
ゲームみたいなデータなら予めそのデータをコードにしておいた方が良いだろうね
955デフォルトの名無しさん (ブーイモ MM6e-tFcp [133.159.150.165])
2022/07/25(月) 17:31:13.98ID:pUxwYfAFM956デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 17:47:36.16ID:SC3zs6/n0957デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 17:49:54.22ID:SC3zs6/n0958デフォルトの名無しさん (ワッチョイ 2b68-Ecv2 [112.68.214.52])
2022/07/25(月) 20:08:35.78ID:wW8PXS4e0959デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 20:32:00.49ID:SC3zs6/n0960デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 20:34:39.14ID:SC3zs6/n0 あと、アポストロフィも認識できるようにしたいのですがご教示くださると幸いです。
961デフォルトの名無しさん (オッペケ Sr0f-k5OS [126.205.247.4])
2022/07/25(月) 20:38:46.87ID:2fvgenPbr ブラウザの方がcsvにランダムアクセスするのかえって面倒な気がするが・・・
962デフォルトの名無しさん (ワッチョイ e6bb-4g6k [217.178.131.122])
2022/07/25(月) 20:42:57.38ID:SC3zs6/n0963デフォルトの名無しさん (オッペケ Sr0f-k5OS [126.205.247.4])
2022/07/25(月) 21:20:37.02ID:2fvgenPbr >>959
具体的なアドバイスが欲しいならせめて今どういうコードになってるのかぐらい貼ろう
具体的なアドバイスが欲しいならせめて今どういうコードになってるのかぐらい貼ろう
964デフォルトの名無しさん (ワッチョイ 5f2c-ofYn [180.44.59.188])
2022/07/25(月) 22:38:29.79ID:gTrk2zFk0 漏れは、英単語テストのアプリを作っているけど、
word.json ファイルに、中高生の単語を書いて、それを読み込むようにしている
[ ["accept","…を受け入れる" ],["achieve","…を達成する" ] ]
ブラウザ用のモジュールで、CSV を使えるものもある?
サーバー用のモジュールなら、あるだろうが
word.json ファイルに、中高生の単語を書いて、それを読み込むようにしている
[ ["accept","…を受け入れる" ],["achieve","…を達成する" ] ]
ブラウザ用のモジュールで、CSV を使えるものもある?
サーバー用のモジュールなら、あるだろうが
965デフォルトの名無しさん (ワッチョイ 5301-EENC [114.48.57.70])
2022/07/26(火) 01:47:59.80ID:URJV9HvJ0966デフォルトの名無しさん (ワッチョイ 8f10-qy/x [180.12.82.129])
2022/08/06(土) 22:44:05.88ID:q9NAcyW50 <img src="./test.png" id="test">
これにjsであとからリンクをつけるにはどうやったらいいですか?
htmlで書くと<a href="../"><img src="./test.png" id="test"></a>
のようにです
これにjsであとからリンクをつけるにはどうやったらいいですか?
htmlで書くと<a href="../"><img src="./test.png" id="test"></a>
のようにです
967デフォルトの名無しさん (ワッチョイ 062d-Kj84 [121.102.74.207])
2022/08/06(土) 23:00:00.17ID:0QdRcuux0 test.outerHTML = `<a href="../">${test.outerHTML}</a>`
968デフォルトの名無しさん (ワッチョイ 8f10-6xaW [180.12.82.129])
2022/08/06(土) 23:18:20.35ID:q9NAcyW50969デフォルトの名無しさん (ワッチョイ 062d-Kj84 [121.102.74.207])
2022/08/06(土) 23:23:20.66ID:0QdRcuux0 テンプレートリテラルで調べてください
970デフォルトの名無しさん (ワッチョイ 4690-sFmp [153.207.71.13])
2022/08/06(土) 23:59:57.44ID:BqHdFQKs0 jQuery なら、
<img src="test.png" id="test">
$( function ( ) {
// 画像リンクを作る。$( 子 ).wrap( 親 );
$( "#test" ).wrap( "<a href='index.html'></a>" );
} );
変換後
<a href="index.html"><img src="test.png" id="test"></a>
<img src="test.png" id="test">
$( function ( ) {
// 画像リンクを作る。$( 子 ).wrap( 親 );
$( "#test" ).wrap( "<a href='index.html'></a>" );
} );
変換後
<a href="index.html"><img src="test.png" id="test"></a>
971デフォルトの名無しさん (ワッチョイ 6f5f-NC/G [14.8.104.32])
2022/08/07(日) 00:08:55.51ID:KRzr0Ia80 PHPでもこんな書き方あるよね
972デフォルトの名無しさん (ワッチョイ 820d-rSKY [147.192.114.152])
2022/08/07(日) 00:23:34.07ID:0Ezlk0yu0 PHPはオワコン。
それに初心者には難しすぎる
初心者はRubyから始めるべき
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
それに初心者には難しすぎる
初心者はRubyから始めるべき
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
973デフォルトの名無しさん (ワッチョイ 4663-JRyS [153.163.61.233])
2022/08/07(日) 03:30:30.75ID:5+LGzHnw0 質問です。仕事の業務を効率化したいです。
とあるサイトにログインし、
そのページにある 「30個のボタン」 をクリックするという作業を毎日しているのですが、30回クリックする作業を簡略化したく、方法を模索しています。
(30個のクリック後の動作はそれぞれ
「斎藤さんにメールを送る」 「田中さんにメールを送る」
といった感じのものです (例:send_TANAKA、send_SAITOU…)
(↑クリック後の動作は 必ず send_ という文字列から始まります)
(斎藤や田中といった名前は100人以上の会員名からランダムに選ばれています)
chromeのデベロッパーツールで
クリックした後の動作を コンソールで直接実行すれば可能であるのは分かったのですが (send_TANAKA 等と直接コンソールに記述する)
30個のclick動作を記述するのは手間がかかるため
もっと効率のいい方法を探しております。どなたか知恵を貸してください。
sendという文字列を含む命令を30個探し、それらを上から順番に実行する、といったことをコンソール上で実行したいです
とあるサイトにログインし、
そのページにある 「30個のボタン」 をクリックするという作業を毎日しているのですが、30回クリックする作業を簡略化したく、方法を模索しています。
(30個のクリック後の動作はそれぞれ
「斎藤さんにメールを送る」 「田中さんにメールを送る」
といった感じのものです (例:send_TANAKA、send_SAITOU…)
(↑クリック後の動作は 必ず send_ という文字列から始まります)
(斎藤や田中といった名前は100人以上の会員名からランダムに選ばれています)
chromeのデベロッパーツールで
クリックした後の動作を コンソールで直接実行すれば可能であるのは分かったのですが (send_TANAKA 等と直接コンソールに記述する)
30個のclick動作を記述するのは手間がかかるため
もっと効率のいい方法を探しております。どなたか知恵を貸してください。
sendという文字列を含む命令を30個探し、それらを上から順番に実行する、といったことをコンソール上で実行したいです
974デフォルトの名無しさん (ワッチョイ 6b5f-rPrA [106.72.163.96 [上級国民]])
2022/08/07(日) 03:47:36.25ID:Zc4u6CYP0 ボタンをクリックすることとJavaScriptの関係が書いてないうえに、ボタンをクリックすると何が起こるのかさえ書いてない。
何をどう答えろというのか?
何をどう答えろというのか?
975デフォルトの名無しさん (ワッチョイ 6b5f-rPrA [106.72.163.96 [上級国民]])
2022/08/07(日) 03:48:21.96ID:Zc4u6CYP0 >>973
それ広告か?
それ広告か?
976デフォルトの名無しさん (ワッチョイ 4690-sFmp [153.207.71.13])
2022/08/07(日) 06:59:14.67ID:gU8eDduE0 メタプログラミングか?
文字列で、関数名を作って呼び出す?
文字列で、関数名を作って呼び出す?
977デフォルトの名無しさん (ワッチョイ 8e02-N11w [119.106.222.232])
2022/08/07(日) 07:16:41.96ID:6UBQvGhh0 ブラウザを自動で操作するってやつでは?
978デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 09:40:14.60ID:zWsPVUqF0 趣味でJavaScript(vscode+nodejs)を勉強してます。
まだよく分からなくて色々なサイトを巡りながら理解を深めているのですが実際何が分からなのか分からない状態です。
初心者向きのサイトを参考にせず入門書を1冊買った方が良いですか?
自分が今参考にしているサイトは
https://www.tohoho-web.com/js/
https://developer.mozilla.org/ja/docs/Learn/JavaScript
です。
まだよく分からなくて色々なサイトを巡りながら理解を深めているのですが実際何が分からなのか分からない状態です。
初心者向きのサイトを参考にせず入門書を1冊買った方が良いですか?
自分が今参考にしているサイトは
https://www.tohoho-web.com/js/
https://developer.mozilla.org/ja/docs/Learn/JavaScript
です。
979デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 10:56:23.83ID:TS5TGpUB0 >>978
「とほほ」は情報が古いのでやめたほうがいい
MDNはMozilla運営で一定の信頼性があるので、9割程度は信用していい(100%とは言わない)
MDNは入門向けコンテンツが少ないので入門書を買ったほうが勉強しやすいとは思う
買うなら外国人が著者の翻訳本をお勧めする
日本人が著者の本を何冊か持ってるが、信頼性が低い本が大半といわざるを得ない
オライリーとか一定の文量がある書籍がいいと思う
「とほほ」は情報が古いのでやめたほうがいい
MDNはMozilla運営で一定の信頼性があるので、9割程度は信用していい(100%とは言わない)
MDNは入門向けコンテンツが少ないので入門書を買ったほうが勉強しやすいとは思う
買うなら外国人が著者の翻訳本をお勧めする
日本人が著者の本を何冊か持ってるが、信頼性が低い本が大半といわざるを得ない
オライリーとか一定の文量がある書籍がいいと思う
980デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 10:59:45.46ID:zWsPVUqF0981デフォルトの名無しさん (ワッチョイ 3b0e-7aqZ [218.220.38.116])
2022/08/07(日) 11:19:44.72ID:3UJQLJGZ0 でもその日本語訳の信頼性はどうなのじゃ?
982デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 11:24:56.82ID:zWsPVUqF0 何度もすいません。
甘え承知で教えて頂きたいのですが具体的におすすめの本ありますか?
自分は業務(組み込み系)でC/C++言語をやってました。
甘え承知で教えて頂きたいのですが具体的におすすめの本ありますか?
自分は業務(組み込み系)でC/C++言語をやってました。
983デフォルトの名無しさん (オッペケ Srff-xtT/ [126.33.99.231])
2022/08/07(日) 11:27:46.08ID:JhpYRoYbr Amazonで評価高いの買えばいいのに
まず評価みれるようになったらどうか
まず評価みれるようになったらどうか
984デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 11:31:03.03ID:zWsPVUqF0985デフォルトの名無しさん (オッペケ Srff-xtT/ [126.33.99.231])
2022/08/07(日) 11:52:14.01ID:JhpYRoYbr986デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 12:30:19.38ID:TS5TGpUB0 >>982
俺は古い人間だから今の時代に合った入門書は知らない
昔はテンプレに定番書籍が載ってたが、今は保守する人間かいなくてテンプレからも消えたしな
とはいえ、JavaScriptは後方互換性のある言語なので、昔の書籍が使えないわけではない
最新情報はネットで補完するとして、お勧めするなら次の2冊
- DOM Scripting 標準ガイドブック ~やさしく学ぶ、JavaScriptとDOMによるWebデザイン~ (Web Designing BOOKS)
- JavaScript 第7版
JavaScriptで抑えるべきは「ECMAScript」、次に「DOM」
DOM Scripting 標準ガイドブック はDOM中心だが、ECMAScriptにもある程度触れて平易な説明なので入門書向き
基本的なAPIのみしか載ってないので、高度なAPIはMDNとDOM仕様書で補完する
「JavaScript 第7版」は中上級者向けだが、一番重要なECMAScriptについてしっかり解説してくれる
ECMAScriptを詳説してる書籍は少なく、一冊持っておくと大概の疑問は解決する
足りない部分はMDNとECMA仕様書で補完する
俺は古い人間だから今の時代に合った入門書は知らない
昔はテンプレに定番書籍が載ってたが、今は保守する人間かいなくてテンプレからも消えたしな
とはいえ、JavaScriptは後方互換性のある言語なので、昔の書籍が使えないわけではない
最新情報はネットで補完するとして、お勧めするなら次の2冊
- DOM Scripting 標準ガイドブック ~やさしく学ぶ、JavaScriptとDOMによるWebデザイン~ (Web Designing BOOKS)
- JavaScript 第7版
JavaScriptで抑えるべきは「ECMAScript」、次に「DOM」
DOM Scripting 標準ガイドブック はDOM中心だが、ECMAScriptにもある程度触れて平易な説明なので入門書向き
基本的なAPIのみしか載ってないので、高度なAPIはMDNとDOM仕様書で補完する
「JavaScript 第7版」は中上級者向けだが、一番重要なECMAScriptについてしっかり解説してくれる
ECMAScriptを詳説してる書籍は少なく、一冊持っておくと大概の疑問は解決する
足りない部分はMDNとECMA仕様書で補完する
987デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 12:38:51.93ID:zWsPVUqF0988デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 12:47:45.09ID:TS5TGpUB0 >>983
Amazonの高評価と俺の評価は一致しなかったな
例えば、「パーフェクトJavaScript」は概ね良書と認知されてるが、細かい部分で説明に疑問に思う点が散見されて、仕様を確認しながら読んだら疲れてしまった
出版社レベルで見ると「オライリー >>> 技術評論社」の印象
Amazonを参考にしつつ、書店で実物を手にとって確認すればいいんだが、入門者に確認できる方法じゃないんだな
初心者は入門書を選ぶのが非常に難しい
Amazonの高評価と俺の評価は一致しなかったな
例えば、「パーフェクトJavaScript」は概ね良書と認知されてるが、細かい部分で説明に疑問に思う点が散見されて、仕様を確認しながら読んだら疲れてしまった
出版社レベルで見ると「オライリー >>> 技術評論社」の印象
Amazonを参考にしつつ、書店で実物を手にとって確認すればいいんだが、入門者に確認できる方法じゃないんだな
初心者は入門書を選ぶのが非常に難しい
989デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 13:13:16.92ID:TS5TGpUB0 >>982,987
スコープが狭いが、Promiseは下記とMDNでほぼ解決する
JavaScript Promiseの本
https://azu.github.io/promises-book/
著者は日本人だが、数少ない信頼できる人だ
同じ人が書いた「JavaScript Primer」はESレベルで読むと疑問に思う説明がいくつかあるが、確度は高い方だと思う
「Promiseの本」は文句なしにお勧め出来る
---
実際のところ、すべてに満足する書籍はまずない
書籍は体系的な知識を蓄えるまとめて得られるのがいいのであって、最新かつ確度の高い情報は公式サイトの「仕様書」のみ
「MDN」から「仕様書」を辿れるようになったら、書籍の利用頻度は下がる傾向にある
当然だが、読むだけでは身につかないから、書籍から学んだ内容から、コードを書いて、動作を確かめることは最重要
初心者を自認する質問は何も確かめないで質問するタイプが非常に多い(このスレの質問者も大半がそう)
普段からコードを書いて確かめる癖をつけたほうがいい
スコープが狭いが、Promiseは下記とMDNでほぼ解決する
JavaScript Promiseの本
https://azu.github.io/promises-book/
著者は日本人だが、数少ない信頼できる人だ
同じ人が書いた「JavaScript Primer」はESレベルで読むと疑問に思う説明がいくつかあるが、確度は高い方だと思う
「Promiseの本」は文句なしにお勧め出来る
---
実際のところ、すべてに満足する書籍はまずない
書籍は体系的な知識を蓄えるまとめて得られるのがいいのであって、最新かつ確度の高い情報は公式サイトの「仕様書」のみ
「MDN」から「仕様書」を辿れるようになったら、書籍の利用頻度は下がる傾向にある
当然だが、読むだけでは身につかないから、書籍から学んだ内容から、コードを書いて、動作を確かめることは最重要
初心者を自認する質問は何も確かめないで質問するタイプが非常に多い(このスレの質問者も大半がそう)
普段からコードを書いて確かめる癖をつけたほうがいい
990デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 13:27:02.95ID:zWsPVUqF0991デフォルトの名無しさん (オッペケ Srff-xtT/ [126.33.99.231])
2022/08/07(日) 13:27:06.59ID:JhpYRoYbr >>988
つまりお前の評価が正しいというわけか?
何よりも自分で判断できる能力のほうが重要だろ
読んでみてお前のように疑問を持つことが大事なのになぜかそれを示さない
というわけでコイツは他人の意見だけで動くからお前が一生教えてやればいい
つまりお前の評価が正しいというわけか?
何よりも自分で判断できる能力のほうが重要だろ
読んでみてお前のように疑問を持つことが大事なのになぜかそれを示さない
というわけでコイツは他人の意見だけで動くからお前が一生教えてやればいい
992デフォルトの名無しさん (ワッチョイ 8f10-NH+6 [180.50.203.130])
2022/08/07(日) 13:51:00.89ID:zWsPVUqF0 >>980を踏んでしまったので新スレを立てようと思いましたがエラーが出てしまいスレを立てることが出来ませんでしたのですいませんがどなたか新スレお願いしますを
993デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 16:06:09.09ID:TS5TGpUB0994デフォルトの名無しさん (ワッチョイ 3f01-RMnj [36.240.123.227])
2022/08/07(日) 16:33:46.15ID:TS5TGpUB0 >>991
質問者にとっては、俺もお前もAmazonレビュアーも赤の他人
「誰が正しいか」は質問者が判断すればいいことだ
俺にできるのは、初心者時代に読んで今振り返っても役に立った本を紹介することだけだ
俺が主張してるのは、初心者にとってはAmazonレビューの正しさをはかる指標がないということだ
中級者以上の俺でさえ、レビューから正しさを正確にはかるのは不可能だ
俺に出来るのは書店で実物をとって自分の知識と本の内容を照らし合わせることだけ
お前は「Amazonで評価高いの買えばいいのに」というが、赤の他人のレビューが信用出来るのか?
初心者でも信用性をはかる方法があるなら、まずはそれを示すべきだろう
付け加えると、初心者に内容の正しさを判断出来るはずがないので、初心者のレビューは信用に値しないと俺は考えている
入門書を読んで数年たって、もう一度入門書を読み直した後にレビューを書くなら、ある程度は信頼出来るだろう
そこまで時間をかけてレビューを書く人はほとんどいないと俺は思うが
> 読んでみてお前のように疑問を持つことが大事なのになぜかそれを示さない
疑問を持つことは大切だが、信頼できる判断材料が必要だ
信頼出来ない情報源(Amazonレビュー)では考えることすら出来ない
無理筋の方法を提案しても意味がない
質問者にとっては、俺もお前もAmazonレビュアーも赤の他人
「誰が正しいか」は質問者が判断すればいいことだ
俺にできるのは、初心者時代に読んで今振り返っても役に立った本を紹介することだけだ
俺が主張してるのは、初心者にとってはAmazonレビューの正しさをはかる指標がないということだ
中級者以上の俺でさえ、レビューから正しさを正確にはかるのは不可能だ
俺に出来るのは書店で実物をとって自分の知識と本の内容を照らし合わせることだけ
お前は「Amazonで評価高いの買えばいいのに」というが、赤の他人のレビューが信用出来るのか?
初心者でも信用性をはかる方法があるなら、まずはそれを示すべきだろう
付け加えると、初心者に内容の正しさを判断出来るはずがないので、初心者のレビューは信用に値しないと俺は考えている
入門書を読んで数年たって、もう一度入門書を読み直した後にレビューを書くなら、ある程度は信頼出来るだろう
そこまで時間をかけてレビューを書く人はほとんどいないと俺は思うが
> 読んでみてお前のように疑問を持つことが大事なのになぜかそれを示さない
疑問を持つことは大切だが、信頼できる判断材料が必要だ
信頼出来ない情報源(Amazonレビュー)では考えることすら出来ない
無理筋の方法を提案しても意味がない
995デフォルトの名無しさん (オッペケ Srff-xtT/ [126.33.99.231])
2022/08/07(日) 20:29:17.22ID:JhpYRoYbr996デフォルトの名無しさん (ワッチョイ 4f8a-rSKY [116.82.121.117])
2022/08/07(日) 22:46:56.17ID:p4VkSvXn0 長文書く奴大体馬鹿
997デフォルトの名無しさん (ワッチョイ ff01-qy/x [126.242.196.185])
2022/08/07(日) 23:15:25.18ID:r7YsBDkd0 技術評論社はあまり良い印象がないな。
どうしても必要な時を除き、買わないよう心掛けたほうが良いと思う。
どうしても必要な時を除き、買わないよう心掛けたほうが良いと思う。
998デフォルトの名無しさん (ワッチョイ 4690-sFmp [153.207.71.13])
2022/08/07(日) 23:29:45.93ID:gU8eDduE0 この2冊のサイの表紙のサイ本は初心者用ではない。プロ用
JavaScript 第7版、2021/12, David Flanagan
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
パーフェクトRuby、パーフェクト Ruby on Rails などのパーフェクトシリーズもプロ用
これらは、YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンでも使わない。
こんなプロレベルの勉強をしていたら、半年でポートフォリオを作って転職できない
初心者用は、ドットインストール・progate などで、基礎だけサッと学ぶ
深入りしたら切りがない。
それに難しい割には、使用頻度が低い
JavaScript 第7版、2021/12, David Flanagan
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
パーフェクトRuby、パーフェクト Ruby on Rails などのパーフェクトシリーズもプロ用
これらは、YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンでも使わない。
こんなプロレベルの勉強をしていたら、半年でポートフォリオを作って転職できない
初心者用は、ドットインストール・progate などで、基礎だけサッと学ぶ
深入りしたら切りがない。
それに難しい割には、使用頻度が低い
999デフォルトの名無しさん (ワッチョイ ff01-qy/x [126.242.196.185])
2022/08/07(日) 23:35:07.06ID:r7YsBDkd0 技術評論社は、そういう偏った見解が多いよね。
誌面で個人叩きも多いし。
誌面で個人叩きも多いし。
1000デフォルトの名無しさん (ワッチョイ 6f5f-NC/G [14.8.104.32])
2022/08/07(日) 23:41:06.98ID:KRzr0Ia80 1000ならnodejsしか動かない世界
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 270日 8時間 16分 43秒
新しいスレッドを立ててください。
life time: 270日 8時間 16分 43秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★4 [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★5 [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★3 [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★6 [Ailuropoda melanoleuca★]
- 首相、自民幹部にコメ高騰対策策定を指示 [首都圏の虎★]
- 永野芽郁、文春第2弾でフジも痛恨 『パリピ孔明 THE MOVIE』大コケで、永野主演映画は必勝が望まれていた [ネギうどん★]
- 【文春砲第2弾】永野芽郁と田中圭の不倫LINE流出 ★2 [839150984]
- 【文春砲】永野芽郁さんと田中圭さん、燃え上がる不倫LINEが流出
- 【文春砲第2弾】永野芽郁と田中圭の不倫LINE流出 ★3 [197015205]
- 【文春砲】永野芽郁さんと田中圭さん、燃え上がる不倫LINEが流出 ★2
- 【大阪万博】「3000円ぐらいがいいのでは」 吉村知事が価格引き下げを提案 [147827849]
- 京都人気付く「外国人観光客の方がジャップよりマナーと金払いが良い、完全上位互換」 [817260143]