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.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10755デフォルトの名無しさん (ワッチョイ 4b2d-ZfRL [220.100.114.30])
2021/08/18(水) 04:14:03.58ID:MlgFIKsc0 >>751
レスありがとうございます。
ご助言頂いた後に、何故「parent」を包括してるのに
わざわざ「...parent」と展開しているのかに悩まされたのですが、
継承元のメソッドをオーバーライドしているため、
継承元のメソッドを参照するための措置だと理解するに至りました。
何はともあれすっきりいたしました。ありがとうございました。
レスありがとうございます。
ご助言頂いた後に、何故「parent」を包括してるのに
わざわざ「...parent」と展開しているのかに悩まされたのですが、
継承元のメソッドをオーバーライドしているため、
継承元のメソッドを参照するための措置だと理解するに至りました。
何はともあれすっきりいたしました。ありがとうございました。
756デフォルトの名無しさん (ワッチョイ 0fdb-NTPF [217.178.96.78])
2021/08/18(水) 12:01:29.72ID:PUOUx4QT0757デフォルトの名無しさん (ワッチョイ ebe6-zvAr [14.3.135.95])
2021/08/18(水) 13:25:34.20ID:tXUUSdLY0 デザイナーですらjsバリバリですから
758デフォルトの名無しさん (ワッチョイ 4b5c-NTPF [220.212.122.252])
2021/08/18(水) 15:45:08.23ID:wgqyPKZK0 今やデザイナーもJSは必須だよなあ
759デフォルトの名無しさん (オッペケ Sr4f-zvAr [126.194.245.205])
2021/08/18(水) 16:45:19.75ID:UItnOrZNr デザイナーの方が
複雑なアニメションや3Dとか
実装のスキル高かったりしますよ
cssとかのビルドシステムとかも
開発同等ですし
複雑なアニメションや3Dとか
実装のスキル高かったりしますよ
cssとかのビルドシステムとかも
開発同等ですし
760デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
2021/08/19(木) 20:25:30.16ID:DoSdBCp10 プログラミングにはまる方法ありますか?
もう1日獣コーディング出来るという感じの
もう1日獣コーディング出来るという感じの
761デフォルトの名無しさん (ブーイモ MM7f-Vt5m [163.49.207.219])
2021/08/19(木) 20:29:27.31ID:XQ1nrb4AM 百獣の王ライオンのように獣分勉強することが獣要だ。
762デフォルトの名無しさん (ワッチョイ 0bac-V791 [150.249.131.45])
2021/08/19(木) 21:40:17.09ID:1kNwAhId0 獣コーディングってカッコいいな
コーディングバトルものにありそう
コーディングバトルものにありそう
763デフォルトの名無しさん (ワッチョイ 0f63-NG3H [153.228.32.95])
2021/08/19(木) 23:00:55.88ID:JbrAGmXW0 地水火風のコーディング
光と闇のコーダー
光と闇のコーダー
764デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/20(金) 10:32:33.93ID:Z+g/1lv60 javascriptでゲージを表示出来るライブラリってないですか?
かんたんなものでいいんですが
円形や半円形で、残り時間を表示出来るようなもの
かんたんなものでいいんですが
円形や半円形で、残り時間を表示出来るようなもの
765デフォルトの名無しさん (ワッチョイ 757d-FcIJ [118.240.65.15])
2021/08/20(金) 10:52:39.21ID:kEo814pT0766デフォルトの名無しさん (ワッチョイ 85e6-Hlob [14.3.135.95])
2021/08/20(金) 11:10:11.76ID:fkI3imbk0 scssとかのcssプリプロセッサやら普通に使うんやから
glupとかGruntとかのビルドシステム組むでしょ
そもそもjsでアニメーションコード書いてんだし
glupとかGruntとかのビルドシステム組むでしょ
そもそもjsでアニメーションコード書いてんだし
767デフォルトの名無しさん (ワッチョイ 85e6-Hlob [14.3.135.95])
2021/08/20(金) 11:13:32.72ID:fkI3imbk0 あと、UI/UXの設計もデザイナー側でやることが多くなった
そうすると、開発屋はデザイナーの下位作業(下請け感がある)ぽくなる
そうすると、開発屋はデザイナーの下位作業(下請け感がある)ぽくなる
768デフォルトの名無しさん (ワッチョイ 0b63-1tx4 [153.228.32.95])
2021/08/20(金) 11:46:11.89ID:lyH6KwTF0 工程として下流になるのはわかるがなんで下請けやねん
769デフォルトの名無しさん (ワッチョイ e32c-RUy2 [211.11.11.1])
2021/08/20(金) 13:30:58.07ID:TjGw1Vbs0 JavaScript, CSS のビルドは、Ruby on Rails でも使う。
Webpack, Babel, Gulp など
Bootstrap も、SCSS
>>764
「javascript グラフ ライブラリ おすすめ」で検索!
Google Charts, Highcharts, Chart.js, C3(D3)
Webpack, Babel, Gulp など
Bootstrap も、SCSS
>>764
「javascript グラフ ライブラリ おすすめ」で検索!
Google Charts, Highcharts, Chart.js, C3(D3)
770デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/20(金) 14:54:30.33ID:Z+g/1lv60 没頭できる方法はないかしら
771デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.73.97])
2021/08/20(金) 21:46:27.63ID:a4ptYSCBa772デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.73.17])
2021/08/20(金) 22:31:55.01ID:FxyObMJ7a773デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/21(土) 06:10:37.76ID:kZOy5p0X0 >>772
それにしときます
それにしときます
774デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/21(土) 13:43:38.68ID:kZOy5p0X0 プログラミン好きになりたい
775デフォルトの名無しさん (オッペケ Srb1-Hlob [126.204.225.74])
2021/08/21(土) 17:31:43.12ID:8vON4ltjr 好き好き好きぃーー好き好き〜〜♪
776デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.141.43])
2021/08/21(土) 19:36:40.29ID:IJG/Rocua >>770
JavaScriptでのアプリってさ
静止画で動かないものをプログラミングするよりも
動きのあるものやインタラクションで即応性のあるもののが楽しいと思うよ
canvasやったらお絵描きやら、three.js使ってマウスでグリグリ動かせる3Dも作れるし
JavaScriptでのアプリってさ
静止画で動かないものをプログラミングするよりも
動きのあるものやインタラクションで即応性のあるもののが楽しいと思うよ
canvasやったらお絵描きやら、three.js使ってマウスでグリグリ動かせる3Dも作れるし
777デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/22(日) 12:53:46.24ID:M/f8ZXpG0778デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
2021/08/24(火) 08:35:43.20ID:MyDy/SP/0 コツコツやってれば楽しくなるかしら
779デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.128.115.218])
2021/08/24(火) 12:57:17.13ID:jjxwJFYFa 自分の好きなものとか作ってみたいアイデアを形にすれば楽しい
780デフォルトの名無しさん (オイコラミネオ MMe1-CXBN [150.66.82.157])
2021/08/26(木) 12:42:23.70ID:ReNipBHPM セールストークのような短文が浮かんでは消えるようなスクリプトを書きたいです
その場で表示されて、消えて、別の短文が表示されるみたいに
リストした候補を順番、ランダムで代わる代わる表示させるには
どんなキーワードで検索したら似たような機能のスクリプトを探せますか?
素人が引き継ぎをするようになり、webプログラムの機能の専門用語が分からず難儀しています、、
その場で表示されて、消えて、別の短文が表示されるみたいに
リストした候補を順番、ランダムで代わる代わる表示させるには
どんなキーワードで検索したら似たような機能のスクリプトを探せますか?
素人が引き継ぎをするようになり、webプログラムの機能の専門用語が分からず難儀しています、、
781デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.128.113.118])
2021/08/26(木) 17:49:38.75ID:QBOoVl/3a >>780
そのままJavaScriptアニメーションとかでググればいい
基本的な仕組みは紙芝居やアニメーションと同じで
setIntervalの関数で
DOMの要素なりプロパティを一定時間毎に入れ替えれば良い
そのままJavaScriptアニメーションとかでググればいい
基本的な仕組みは紙芝居やアニメーションと同じで
setIntervalの関数で
DOMの要素なりプロパティを一定時間毎に入れ替えれば良い
782デフォルトの名無しさん (オイコラミネオ MM09-GAdy [150.66.89.164])
2021/08/27(金) 00:44:52.42ID:B3pyqp0/M783デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
2021/08/27(金) 13:43:18.46ID:qCuii4QT0784デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
2021/08/27(金) 14:09:02.43ID:qCuii4QT0 即時関数ってのは全体の構造を把握しやすくするために使うんでしょうか?
関数化すればアウトラインに出ますもんね。
関数化すればアウトラインに出ますもんね。
785デフォルトの名無しさん (ワッチョイ 6b63-9Rg1 [153.228.32.95])
2021/08/27(金) 15:39:43.68ID:+rhdjjD60 スキルというか目的じゃないかな
出会い系サイトで女に足跡つけまくるスクリプト書いてた時とか楽しかったわ
すぐ対策されたけど
出会い系サイトで女に足跡つけまくるスクリプト書いてた時とか楽しかったわ
すぐ対策されたけど
786デフォルトの名無しさん (ワッチョイ 1d6e-XeGO [124.219.198.89])
2021/08/27(金) 17:07:32.29ID:h8MNocFf0 java/C++/C#辺りやってたのでオブジェクトの扱いがよく分からないというかプロトタイプベース?というのを聞いて分からない!文化が違う!ってなってます
なんかその辺上手いこと説明してくれてるとこないですかね
なんかその辺上手いこと説明してくれてるとこないですかね
787デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.128.115.216])
2021/08/27(金) 17:44:28.50ID:H0yOmdsJa jsもクラス対応してたっしょ
788デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
2021/08/27(金) 18:57:04.42ID:qCuii4QT0 >>785
目的あるけど、スキル不足でまだ楽しくない
目的あるけど、スキル不足でまだ楽しくない
789デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.128.115.4])
2021/08/27(金) 19:32:29.78ID:eShI7uDWa まず目的を明確にすれば?
「Program」には「計画」と言う意味があって
目的に沿って計画を書くのがプログラミング(手続き型言語)
「Program」には「計画」と言う意味があって
目的に沿って計画を書くのがプログラミング(手続き型言語)
790デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
2021/08/27(金) 21:24:03.62ID:cMIVTei20 >>780
要素が自動的に流れ続ける、loop slider, slide show とか
要素が自動的に流れ続ける、loop slider, slide show とか
791デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
2021/08/27(金) 21:27:41.85ID:cMIVTei20792デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
2021/08/27(金) 21:58:17.72ID:cMIVTei20 >>786
prototype, __proto__ は継承チェーン
let Person = function (name) {
this.name = name;
};
let taro = new Person('太郎');
taro.age = 20;
console.log(taro); //=> Person { name: '太郎', age: 20 }
let jiro = new Person('次郎');
console.log(jiro); //=> Person { name: '次郎' }
taro.age = 20;
みたいに、インスタンスにメンバー(データ・関数)を直接追加しても、
そのインスタンスにしか追加されない。
Ruby の特異メソッドと同じ
1階層上に追加しないといけない。
それをプロトタイプチェーンを遡ると言う
prototype, __proto__ は継承チェーン
let Person = function (name) {
this.name = name;
};
let taro = new Person('太郎');
taro.age = 20;
console.log(taro); //=> Person { name: '太郎', age: 20 }
let jiro = new Person('次郎');
console.log(jiro); //=> Person { name: '次郎' }
taro.age = 20;
みたいに、インスタンスにメンバー(データ・関数)を直接追加しても、
そのインスタンスにしか追加されない。
Ruby の特異メソッドと同じ
1階層上に追加しないといけない。
それをプロトタイプチェーンを遡ると言う
793デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
2021/08/28(土) 19:18:57.18ID:g8WbsRiO0 >>780
function f() {
const ary = ["あ","い","うう"]
let i = 1;
const timer_id = setInterval(function () {
// 0〜配列の要素数未満の乱数を発生させて、少数点以下を切り捨てる。つまり、0〜2
idx = Math.floor(Math.random() * ary.length)
console.log(i, ary[idx]);
i++;
// 指定回数でタイマーを解除する
if (i > 5) { clearInterval(timer_id); }
}, 1000);
}
f()
function f() {
const ary = ["あ","い","うう"]
let i = 1;
const timer_id = setInterval(function () {
// 0〜配列の要素数未満の乱数を発生させて、少数点以下を切り捨てる。つまり、0〜2
idx = Math.floor(Math.random() * ary.length)
console.log(i, ary[idx]);
i++;
// 指定回数でタイマーを解除する
if (i > 5) { clearInterval(timer_id); }
}, 1000);
}
f()
794デフォルトの名無しさん (オイコラミネオ MM09-GAdy [150.66.71.102])
2021/08/29(日) 15:56:34.06ID:IDEI2UK0M >>793
有難うございます!
これはJavaScript?
自分で考えてからあれこれ加工するまでには全然至っていません・・
アニメーションも探すとcss3でも可能みたいですね
セールストークの文字列が2箇所あって
例「みんなのお役に立てる」「◯◯です」みたいな感じなのですが
こういう場合は一個づつの要素を動かしてあげる方が簡単ですよね?
3つくらいの組み合わせを、季節ごとに変えようとか考えていて色々試行錯誤してます
ワンセットで、1→2→3と時間指定で変えられれば一番楽なのですが
有難うございます!
これはJavaScript?
自分で考えてからあれこれ加工するまでには全然至っていません・・
アニメーションも探すとcss3でも可能みたいですね
セールストークの文字列が2箇所あって
例「みんなのお役に立てる」「◯◯です」みたいな感じなのですが
こういう場合は一個づつの要素を動かしてあげる方が簡単ですよね?
3つくらいの組み合わせを、季節ごとに変えようとか考えていて色々試行錯誤してます
ワンセットで、1→2→3と時間指定で変えられれば一番楽なのですが
795デフォルトの名無しさん (ワッチョイ c502-cE3l [106.166.135.3])
2021/08/30(月) 14:47:37.94ID:4x4SXrWk0 >>793
idxは宣言しないんか?
idxは宣言しないんか?
796デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.129.74.51])
2021/08/30(月) 17:56:17.86ID:RiczHxxva 無名関数内スコープでなおかつ実行時未確定乱数だからかなぁ・・
797デフォルトの名無しさん (テテンテンテン MMab-OZcf [133.106.47.107])
2021/08/30(月) 18:26:37.84ID:v1JP3SQOM 多分忘れただけでしょ
とりたてて言うことでもない
とりたてて言うことでもない
798デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42])
2021/09/03(金) 20:32:19.52ID:L3QItCYH0 オブジェクトのプロパティの値に対して、falseを入れておくと、その一つ下のプロパティの存在チェックが
できるのですが、nullにするとエラーが出てしまいます。
一体どのような理由なのでしょうか?
obj = {
obj.abc = false;
// obj.abc = null;
};
if (obj.abc,def) {...}
できるのですが、nullにするとエラーが出てしまいます。
一体どのような理由なのでしょうか?
obj = {
obj.abc = false;
// obj.abc = null;
};
if (obj.abc,def) {...}
800デフォルトの名無しさん (ワッチョイ 4b61-KrGZ [153.217.1.146])
2021/09/03(金) 22:30:41.85ID:5CZYJcHV0801793 (ワッチョイ 4b2c-3Lnd [153.136.94.40])
2021/09/03(金) 22:57:56.98ID:pInph4TO0 >>793
自己修正
>idx = Math.floor(Math.random() * ary.length)
let が抜けていた
VSCode で、拡張機能・ESLint も入れているけど、
letが無くても警告されない
自己修正
>idx = Math.floor(Math.random() * ary.length)
let が抜けていた
VSCode で、拡張機能・ESLint も入れているけど、
letが無くても警告されない
802デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42])
2021/09/04(土) 09:37:20.21ID:EhGYuF7y0803デフォルトの名無しさん (テテンテンテン MM4b-oJEa [133.106.52.57])
2021/09/04(土) 11:16:44.89ID:F9ZtkFjVM804デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42])
2021/09/04(土) 14:34:40.34ID:EhGYuF7y0805デフォルトの名無しさん (ワッチョイ 4b2c-3Lnd [153.136.94.40])
2021/09/05(日) 00:45:07.05ID:UFxCuC9Y0 ぼっち演算子・Null条件演算子・Null安全演算子か
Ruby にも導入された。&.
object&.method
Ruby にも導入された。&.
object&.method
806デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/05(日) 04:32:46.84ID:oH2jfftx0 戻り値のない関数ってどういうときに使うんでしょうか?
807デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.215.65])
2021/09/05(日) 06:50:44.94ID:uH4eg5q/M 無数にあるけど例えばalertとか
808デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/05(日) 10:32:02.35ID:oH2jfftx0 >>807
alertやconsole.logなどの何らかの出力処理を関数内に含めるか、returnを使うかしないと、外部とのやり取りは出来ないんですよね?
alertやconsole.logなどの何らかの出力処理を関数内に含めるか、returnを使うかしないと、外部とのやり取りは出来ないんですよね?
809デフォルトの名無しさん (ワッチョイ 955f-oJEa [14.11.194.224])
2021/09/05(日) 11:31:11.96ID:aRsSXuKi0 ごめんけど何言ってるか分からん
810デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/05(日) 12:47:36.39ID:oH2jfftx0811デフォルトの名無しさん (ワッチョイ 3501-hAxB [126.28.71.248])
2021/09/05(日) 13:42:05.76ID:rMLShDrA0 >>806
「プログラミング 関数を作る意味」でググっていくつか読めば分かると思う
「プログラミング 関数を作る意味」でググっていくつか読めば分かると思う
812デフォルトの名無しさん (ワッチョイ d5b0-ypAh [180.46.85.8])
2021/09/05(日) 14:46:48.17ID:7oSpDR4l0 >>808
alertやconsoleに限らず、その関数内から呼び出せる任意の関数を使って外部とのやりとりはできるわけだが。
alertやconsoleに限らず、その関数内から呼び出せる任意の関数を使って外部とのやりとりはできるわけだが。
813デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/05(日) 18:55:22.30ID:oH2jfftx0814デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/07(火) 11:24:53.81ID:S+wKaSSK0 localStrageに複数のデータを保存して、ループで取り出したいのですが、pushで保存は可能です。しかし、forで取り出すとカンマの区切りが機能していないようです。
[1,2,3]
こういう配列があった場合、forで取り出すと以下のようになります。
1
,
2
,
3
つまりこれは配列ではなく、文字列として扱われているのだと思います。
localStrageへの保存はどのような方法が一般的なのでしょうか?
以下はstartを押すとlocalStrageに配列を保存し、outputで取りだすというものです。
<button id="start">ボタン</button>
<button id="test">output</button>
<div id="timer" style="border:1px solid red;width:500px;height:500px;"></div>
<script>
let startButton = document.getElementById("start");
let testButton = document.getElementById("test");
let timer = document.getElementById("timer");
let num = 0;
let arr = [];
startButton.addEventListener("click" , function()
{num += 1;
timer.insertAdjacentHTML("afterbegin" ,"<div>" + num + "</div>");
arr.push(num);
localStorage.setItem("saveArray" , arr);
});
testButton.addEventListener("click" , function()
{let array = localStorage.getItem("saveArray");
for(let i = 0;i < array.length ; i ++)
{console.log(array[i]);}});
</script>
[1,2,3]
こういう配列があった場合、forで取り出すと以下のようになります。
1
,
2
,
3
つまりこれは配列ではなく、文字列として扱われているのだと思います。
localStrageへの保存はどのような方法が一般的なのでしょうか?
以下はstartを押すとlocalStrageに配列を保存し、outputで取りだすというものです。
<button id="start">ボタン</button>
<button id="test">output</button>
<div id="timer" style="border:1px solid red;width:500px;height:500px;"></div>
<script>
let startButton = document.getElementById("start");
let testButton = document.getElementById("test");
let timer = document.getElementById("timer");
let num = 0;
let arr = [];
startButton.addEventListener("click" , function()
{num += 1;
timer.insertAdjacentHTML("afterbegin" ,"<div>" + num + "</div>");
arr.push(num);
localStorage.setItem("saveArray" , arr);
});
testButton.addEventListener("click" , function()
{let array = localStorage.getItem("saveArray");
for(let i = 0;i < array.length ; i ++)
{console.log(array[i]);}});
</script>
815デフォルトの名無しさん (ワッチョイ 4b61-KrGZ [153.217.1.146])
2021/09/07(火) 11:29:52.51ID:cJmyi1+i0 >>814
JSON.stringify(), JSON.parse()
JSON.stringify(), JSON.parse()
816デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/07(火) 15:35:10.78ID:S+wKaSSK0 >>815
jsonにするということですが、なぜ配列だと駄目なんですかね。
jsonにするということですが、なぜ配列だと駄目なんですかね。
817デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10])
2021/09/07(火) 15:44:10.61ID:1upJrmlw0 pythonにとって読み込んだテキストは単なる文字列だから。
“[1,2,3]”と同じ。
“[1,2,3]”と同じ。
818デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10])
2021/09/07(火) 15:48:32.44ID:1upJrmlw0 おっとpythonスレじゃなかった。javascriptにとってね。
819デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
2021/09/07(火) 15:57:51.34ID:S+wKaSSK0820デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
2021/09/07(火) 20:38:17.68ID:YcIWO4/P0 外部とのやり取りは、文字列だけ
オブジェクトのシリアル化(直列化)、serialize
オブジェクトのシリアル化(直列化)、serialize
821デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.200.166])
2021/09/07(火) 22:51:34.49ID:G3yrM4UCM localstorageだと強制的に文字列に変換されるから、それが嫌ならlocalforageとかのラッパーを使うといい
822デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/08(水) 15:58:10.14ID:Zc9KUQv/0 はい(´・ω・`)
823デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/08(水) 21:31:41.92ID:Zc9KUQv/0 innerhtmlはfor内では機能しないのでしょうか?
クリックしたときにtimerの中にnum_arrの中身をセットしたいです。
しかし、console.log(num_arr[i])での展開はされますが、innerhtmlでのセットは機能していないです。
なぜでしょうか?
<button id="test2">
test2
</button>
<div id="timer"></div>
<script>
let testButton2 = document.getElementById("test2");
let num_arr = [1,2,3,4,5];
testButton2.addEventListener("click" , function()
{
for(let i = 0;i <num_arr.length ; i ++)
{
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
console.log(num_arr[i]);
}
});
</script>
クリックしたときにtimerの中にnum_arrの中身をセットしたいです。
しかし、console.log(num_arr[i])での展開はされますが、innerhtmlでのセットは機能していないです。
なぜでしょうか?
<button id="test2">
test2
</button>
<div id="timer"></div>
<script>
let testButton2 = document.getElementById("test2");
let num_arr = [1,2,3,4,5];
testButton2.addEventListener("click" , function()
{
for(let i = 0;i <num_arr.length ; i ++)
{
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
console.log(num_arr[i]);
}
});
</script>
824デフォルトの名無しさん (テテンテンテン MM4b-oJEa [133.106.194.111])
2021/09/08(水) 21:50:08.74ID:PiHp4Uh3M 書いた通りに動いてるじゃん
一瞬で上書きされるから人間の目には何が起きてるか見えんけど
一瞬で上書きされるから人間の目には何が起きてるか見えんけど
825デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62])
2021/09/08(水) 21:52:59.07ID:pthgZojC0826デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
2021/09/08(水) 21:56:09.90ID:dK8gXF1C0 変数timer が未定義だから
let timer = document.getElementById("timer");
が必要なのでは?
let timer = document.getElementById("timer");
が必要なのでは?
827デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62])
2021/09/08(水) 22:05:24.18ID:pthgZojC0 >>826
その方がお行儀がいいのでそうすべきだが、定義はされてる
その方がお行儀がいいのでそうすべきだが、定義はされてる
828デフォルトの名無しさん (アウアウウー Sa69-AvaG [106.129.116.79])
2021/09/08(水) 22:13:11.22ID:6Ur8A06Za >>823
プラスイコールにしてみればわかるよ
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
timer.innerHTML += "<div>" + num_arr[i] + "</div>" ;
プラスイコールにしてみればわかるよ
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
timer.innerHTML += "<div>" + num_arr[i] + "</div>" ;
829デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62])
2021/09/08(水) 23:14:26.26ID:pthgZojC0 >>828
innerHTMLでなくていい気はするが、原因はその通りだな
https://developer.mozilla.org/ja/docs/Web/API/Element/insertAdjacentHTML
innerHTMLでなくていい気はするが、原因はその通りだな
https://developer.mozilla.org/ja/docs/Web/API/Element/insertAdjacentHTML
830デフォルトの名無しさん (ワッチョイ 6501-lYlz [60.126.191.83])
2021/09/09(木) 00:07:10.15ID:nyRHg+r60 chrome拡張機能を作っているのですが、insertRuleしようとするとたまにエラーが出てしまいます。
調べてもよくわからなかったのですが、原因わかる方いますか?
Error handling response: Error: Failed to execute 'insertRule' on 'CSSStyleSheet': Failed to parse the rule 'undefined'.
調べてもよくわからなかったのですが、原因わかる方いますか?
Error handling response: Error: Failed to execute 'insertRule' on 'CSSStyleSheet': Failed to parse the rule 'undefined'.
831デフォルトの名無しさん (アウアウウー Sa69-AvaG [106.129.118.72])
2021/09/09(木) 00:10:23.30ID:4mdtO86la832デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
2021/09/09(木) 00:21:08.30ID:sZM33J3R0 >>830
そのエラー文字列で、Google 検索すれば?
そのエラー文字列で、Google 検索すれば?
833デフォルトの名無しさん (ワッチョイ 3501-UAwi [126.28.239.133])
2021/09/09(木) 01:04:57.92ID:gVcxc3AP0 jsを勉強し始めたんですがコールする関数タイポしてもコンパイルエラーとかないんで実行してコケて気づいて直す、を繰り返してしまいます。
こういうテスト以前のコーディングミスについて、コンパイル言語のように事前に検知する方法はないでしょうか?
ちなみにvscodeで開発してます。
こういうテスト以前のコーディングミスについて、コンパイル言語のように事前に検知する方法はないでしょうか?
ちなみにvscodeで開発してます。
834デフォルトの名無しさん (ブーイモ MM6b-FGfd [163.49.207.128])
2021/09/09(木) 01:27:37.42ID:BO4ka+Z8M コケちゃいました
835デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.206.211])
2021/09/09(木) 01:53:20.98ID:EzLIxC6LM eslintとかtypescript使うとか
836デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
2021/09/09(木) 03:49:44.49ID:sZM33J3R0 漏れは、VSCode で、スクラッチパッドみたいな拡張機能・Quokka.js で、
コードを入力してるけど、文法エラーでは、赤い波線が表示される
拡張機能・ESLint も使っているからかな?
もちろん、Node.js もインストールしているから、
Quokka.jsに書いたコードは、Node.jsで実行されるので、時刻が9時間ずれる
コードを入力してるけど、文法エラーでは、赤い波線が表示される
拡張機能・ESLint も使っているからかな?
もちろん、Node.js もインストールしているから、
Quokka.jsに書いたコードは、Node.jsで実行されるので、時刻が9時間ずれる
837デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/09(木) 06:09:13.65ID:MrnZHVcA0838デフォルトの名無しさん (ワッチョイ 3501-UAwi [126.28.239.133])
2021/09/09(木) 08:16:04.83ID:gVcxc3AP0 eslint、こんなのあるんですね ありがとうございます
839デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/09(木) 15:28:43.86ID:MrnZHVcA0 プログラミンコードの校正ってどこでアドバイスもらえますか?
ストップウォッチ作ったはいいものの、コードぐちゃぐちゃで読んでて分からない
分かりやすく書く方法を教えてほしいのです(´・ω・`)、、、
ストップウォッチ作ったはいいものの、コードぐちゃぐちゃで読んでて分からない
分かりやすく書く方法を教えてほしいのです(´・ω・`)、、、
840デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10])
2021/09/09(木) 15:40:55.41ID:MjE68I3R0 処理や変数など要所にコメント入れるようにして、
自分でわかるように書き直してみたらいい。
理解も深まるし無駄なところもわかったりする。
自分でわかるように書き直してみたらいい。
理解も深まるし無駄なところもわかったりする。
841デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/09(木) 15:52:13.51ID:MrnZHVcA0 https://ideone.com/O5tsDV
ideonにupしました(´・ω・`)、、、
コメント入れているのですが、改善点のアドバイスもらえますか?
コメントアウトしている部分はとりあえずは使わない機能です。
ideonにupしました(´・ω・`)、、、
コメント入れているのですが、改善点のアドバイスもらえますか?
コメントアウトしている部分はとりあえずは使わない機能です。
842デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10])
2021/09/09(木) 16:17:46.87ID:MjE68I3R0 >>841
適当にコード拾ってきてつなぎ合わせたのでなけりゃ、十分理解できるコードだと思うが。
それなりにコメント入ってるし。
むしろ具体的にどこがわからんのよ。
自分で理解して書いたコードだったら、一回全内容にコメント入れてみたら?
適当にコード拾ってきてつなぎ合わせたのでなけりゃ、十分理解できるコードだと思うが。
それなりにコメント入ってるし。
むしろ具体的にどこがわからんのよ。
自分で理解して書いたコードだったら、一回全内容にコメント入れてみたら?
843デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
2021/09/09(木) 19:26:54.34ID:MrnZHVcA0 >>842
どういう部分と言われても難しいですが、しばらく放置してから見ると動きを理解するのに少し時間がかかるというか
この程度の短いコードですが
複数ファイルに分けたりしたほうがいいのでしょうか?
おそらく、良くわからないのは実行の流れです
フローチャートなどは苦手で書いていません
どういう部分と言われても難しいですが、しばらく放置してから見ると動きを理解するのに少し時間がかかるというか
この程度の短いコードですが
複数ファイルに分けたりしたほうがいいのでしょうか?
おそらく、良くわからないのは実行の流れです
フローチャートなどは苦手で書いていません
844デフォルトの名無しさん (ワッチョイ 4bbb-nTGN [217.178.195.45])
2021/09/09(木) 20:13:16.49ID:B3AuMWY60 >>843
できるだけ関数化するのと、その関数の名前にはこだわった方がよいかも
ファイルは分けなくてよい
フローチャートは自分も書いたことはない
例えばタイマの初期化が先頭部分とリセットボタンクリックイベントの2箇所にあるが、読みづらい上に不具合のもと
実際にリセットボタンクリック時にはミリ秒がクリアされるのに
起動時にはミリ秒がクリアされていないように見える(ローカルストレージから前回の値を拾ってきてる?)
関数外にはグローバルっぽく扱いたい変数の宣言のみを置いて
初期化は名前を付けて関数にする
イベント内の処理も関数化する
そうするとソースを読むとき、先頭から追いかけるときは
原則関数だけが並んでいる形になり、そこでは細かな処理を気にする必要はない
イベントの処理ではイベント関数の先頭からソースを追いかけるが、
そこでも関数だけがあって細かな内容は気にしなくてよい、という形にする
あとはセンスも必要になるけど、処理の内容を的確に表す分かりやすい関数名であれば、
関数名それ自体がコメントのような役割をはたすので、さらに読みやすくなる
できるだけ関数化するのと、その関数の名前にはこだわった方がよいかも
ファイルは分けなくてよい
フローチャートは自分も書いたことはない
例えばタイマの初期化が先頭部分とリセットボタンクリックイベントの2箇所にあるが、読みづらい上に不具合のもと
実際にリセットボタンクリック時にはミリ秒がクリアされるのに
起動時にはミリ秒がクリアされていないように見える(ローカルストレージから前回の値を拾ってきてる?)
関数外にはグローバルっぽく扱いたい変数の宣言のみを置いて
初期化は名前を付けて関数にする
イベント内の処理も関数化する
そうするとソースを読むとき、先頭から追いかけるときは
原則関数だけが並んでいる形になり、そこでは細かな処理を気にする必要はない
イベントの処理ではイベント関数の先頭からソースを追いかけるが、
そこでも関数だけがあって細かな内容は気にしなくてよい、という形にする
あとはセンスも必要になるけど、処理の内容を的確に表す分かりやすい関数名であれば、
関数名それ自体がコメントのような役割をはたすので、さらに読みやすくなる
845デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
2021/09/09(木) 20:27:52.09ID:sZM33J3R0 フレームワーク無しで開発すると、最後には暴発する。
デザインパターン・ファイル分割などが、統一的に決まっていないから
他人のクソコードを誰も読みたくない
だから、Ruby on Rails を使って、
全員が同じ規約で、レールに乗る。Rails Way
Rails では、Node.js, React, Vue.js, Bootstrap を使う。
これらもフレームワークだから、規約で決まっている
だから、独自のデザインパターンを使うことや、我流は、すべて禁止されている。
つまり、全てフレームワークに従う
コードレビューも、フレームワークに従っていない部分を、修正させられる。
フレームワークのやり方と違いますよと
例えば、伊藤淳一のコードレビュー。
YouTube 動画、2018/10
RSpecで書かれたRailsチュートリアル 第6章のテストコードをレビューしてみた
デザインパターン・ファイル分割などが、統一的に決まっていないから
他人のクソコードを誰も読みたくない
だから、Ruby on Rails を使って、
全員が同じ規約で、レールに乗る。Rails Way
Rails では、Node.js, React, Vue.js, Bootstrap を使う。
これらもフレームワークだから、規約で決まっている
だから、独自のデザインパターンを使うことや、我流は、すべて禁止されている。
つまり、全てフレームワークに従う
コードレビューも、フレームワークに従っていない部分を、修正させられる。
フレームワークのやり方と違いますよと
例えば、伊藤淳一のコードレビュー。
YouTube 動画、2018/10
RSpecで書かれたRailsチュートリアル 第6章のテストコードをレビューしてみた
846デフォルトの名無しさん (ワッチョイ 4bbb-nTGN [217.178.195.45])
2021/09/09(木) 20:34:47.79ID:B3AuMWY60 >>844
関数化すると、レビューやテストがやりやすくなる
というのも追加で
あと、関数化といっているのは規模が小さいからで、
規模が大きくなってきたらクラス化したりファイルを分けたりとかの考慮は当然必要になる
関数化すると、レビューやテストがやりやすくなる
というのも追加で
あと、関数化といっているのは規模が小さいからで、
規模が大きくなってきたらクラス化したりファイルを分けたりとかの考慮は当然必要になる
847デフォルトの名無しさん (ブーイモ MM6b-Ndt7 [163.49.209.85])
2021/09/09(木) 20:52:57.96ID:kZqbipt0M 関心事がごっちゃ混ぜだから分かりにくい
アプリケーションが管理する状態(モデル)とその状態をユーザーに見せる表現(ビュー)に対する処理を意識して分けること
MVCの基本を学ぶと良い
モデルの初期化処理やビューの初期化処理、モデルのsave/load処理を関数等でまとめること
モデルの変更イベント(mode: stopped -> running)をリッスンしてビューを更新する作りにすると関心事の分離的にも依存性の方向的にも見通しがよくなる
アプリケーションが管理する状態(モデル)とその状態をユーザーに見せる表現(ビュー)に対する処理を意識して分けること
MVCの基本を学ぶと良い
モデルの初期化処理やビューの初期化処理、モデルのsave/load処理を関数等でまとめること
モデルの変更イベント(mode: stopped -> running)をリッスンしてビューを更新する作りにすると関心事の分離的にも依存性の方向的にも見通しがよくなる
848デフォルトの名無しさん (ワッチョイ e563-ypAh [124.84.94.103])
2021/09/09(木) 21:53:27.14ID:t1bpdD770 ねこ
849デフォルトの名無しさん (ワッチョイ 8901-gPUP [126.28.239.133])
2021/09/10(金) 00:38:04.25ID:mUaFezuu0 eslint、入れてみたところ明らかに怒られる筋合いのない箇所で大量に怒られが発生して鎮火に試行錯誤してたらクソ時間食って本末転倒だったので切ってしまいました・・・
850デフォルトの名無しさん (ワッチョイ a9e6-Tf2k [14.3.135.95 [上級国民]])
2021/09/10(金) 11:56:08.39ID:L+jftwLU0 糞コード書くなゴラーかな?
851デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
2021/09/10(金) 15:55:30.36ID:rOEuM+530852845 (ワッチョイ 8b2c-aIS6 [153.136.94.40])
2021/09/10(金) 21:07:41.01ID:kAVp3Lay0 Ruby on Rails が、MVC の代表
React, Vue.js のFlux 系フレームワーク。
Store, View, Action
サーバーがRails のAPI モード・Web Socket などで、
クライアント側のHTML が、React, Vue.js, Bootstrap が多い
React, Vue.js のFlux 系フレームワーク。
Store, View, Action
サーバーがRails のAPI モード・Web Socket などで、
クライアント側のHTML が、React, Vue.js, Bootstrap が多い
853デフォルトの名無しさん (ワッチョイ 8bbb-dGLa [217.178.195.45])
2021/09/11(土) 04:28:54.23ID:TBXgXRUv0 >>851
ソースを修正してみた
https://codepen.io/cocotto/pen/OJgmXyo
自分はMVCとかよく分からんので、元のロジックは基本的にそのままで
機械的に細かく関数に分けてみただけだが
一応意識したのはタグの操作(insertAdjacentHTMLとかsetAttributeなどの行)は
ソースとしては非常に読みづらいので1行2行でも関数化したのと、
ボタンの状態変化をupdateButtonStatus()の1箇所にまとめ、
アクションの種類によらずその1種類の関数だけを呼べばよいようにしたことくらい
ソースを修正してみた
https://codepen.io/cocotto/pen/OJgmXyo
自分はMVCとかよく分からんので、元のロジックは基本的にそのままで
機械的に細かく関数に分けてみただけだが
一応意識したのはタグの操作(insertAdjacentHTMLとかsetAttributeなどの行)は
ソースとしては非常に読みづらいので1行2行でも関数化したのと、
ボタンの状態変化をupdateButtonStatus()の1箇所にまとめ、
アクションの種類によらずその1種類の関数だけを呼べばよいようにしたことくらい
854デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
2021/09/11(土) 06:58:37.14ID:Uw+xpz9o0 mvcってどうやってエリアを分けるんでしょうか?
model controller viewのエリアです
単にコメントアウトで分けるのですか?
model controller viewのエリアです
単にコメントアウトで分けるのですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 20代の3割が「テレビ見ない」現実…そして静かに広がる「究極のテレビ離れ」とは [muffin★]
