■ このスレッドは過去ログ倉庫に格納されています
+ JavaScript の質問用スレッド vol.123 +
- 1 :デフォルトの名無しさん(ワッチョイ efff-U/Pn [183.76.238.232]):2017/04/02(日) 23:30:38.56 ID:Qcd0Qmy10.net
- 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
- 2 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.233]):2017/04/02(日) 23:31:20.89 ID:J0EiWdZO0.net
- ■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■前スレ
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1463914293/
■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
■テンプレ案
https://fiddle.jshell.net/6018r9tu/1/show/light/
■関連スレ
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465399470/
JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465566635/
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1460359714/
(X)HTML/CSS の質問に優しく答えるスレ23 [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467511443/
Canvasについて語ろう
http://peace.2ch.net/test/read.cgi/hp/1305093769/
- 3 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.234]):2017/04/02(日) 23:31:42.41 ID:eyqt1DHr0.net
- ■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
- Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
▼要素を検証
1. ページ上で右クリックして [要素を検証]
2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
3. 右側のサイドバーから知りたいステータス名のタブを選択する
- [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
- [Computed] タブ … CSSプロパティの算出値を表示(
- 4 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.235]):2017/04/02(日) 23:32:04.43 ID:JvqUgcKr0.net
- ■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。
■各種仕様 ( http://fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 )
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
- 5 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.236]):2017/04/02(日) 23:32:27.34 ID:9H7Qlx/w0.net
- ■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
- 6 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.237]):2017/04/02(日) 23:34:03.16 ID:yMf85zTs0.net
- 姉妹スレ
+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1482325013/
+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1456242505/
jQuery 質問スレッド vol.7 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1478055094/
- 7 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.238]):2017/04/02(日) 23:34:22.33 ID:/e4PIjSH0.net
- テンプレ終了
- 8 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.240]):2017/04/02(日) 23:43:11.66 ID:j3L/IfxA0.net
- ワッチョイとは
BBS_SLIP
http://info.2ch.net/index.php/BBS_SLIP
スレ立て主が設定する事で、レスした人のIPアドレスからIDを変換して名前欄の横に表示が出ます。
荒らし対策という名目で広がったのですが、一言でいえば強制固定ハンドルネームのようなものです。
中段あたりに解説がありますが、浪人という名前の有料専用ブラウザを導入すれば、ワッチョイ表示なしで書き込む事も出来るようになります。
●注意点
ワッチョイ(SLIP)の変換は全板共通です。
IPアドレスから特定の法則で文字列に変換しているだけなので、IPアドレスが変わらない限り全部同じになります。
ですので、漫画板のワッチョイスレで○○かわえー、なんてレスした後、他のお硬い板のワッチョイスレで大議論になったり
なんかしてて議論相手にあなたのワッチョイのIDググられれば普通に他の板の書き込みがヒットします、
全く関係ないスレで別のスレの恥ずかしいレスを相手に突っ込まれたりする可能性があったりします。
これらを自覚してレスをしていないと、あるスレで下の名前をレスして、別の板のスレで苗字をレスして、
と...実は自分から身バレをしていたという可能性も無い訳ではありません。何万人もレスしてますからね、誰かがそういうポカをする事だってあり得ます。
変換自体は一週間でまた変わるので一生同じIDという訳ではないですが、注意しなければならないのはIPアドレスそれ自体が表示されているSLIPスレ。
IPアドレスは固定アドレスにしない限り変動すると思いがちですが、今は変動アドレスでも
殆ど固定と変わらない事が多いのです。下手をすればプロバイダ解約するまで同じIPアドレス。
IPアドレス表示されるスレに一度でもレスすれば、ワッチョイ=IPアドレスの関係がバレてしまうので
他のワッチョイスレでもIP表示で書き込んでる事と実質同じになってしまいます。
2週に渡ってIPアドレス表示のスレに書き込めば、ワッチョイIDは変わってますがIPは同じなので週を
跨いでも同じ人というのがバレますね。同じIPの過去のワッチョイIDをググればいくらでも過去に遡れる事になります。
- 9 :デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.241]):2017/04/02(日) 23:44:59.15 ID:VQKc27JK0.net
- 掲示板を見れば閲覧者のIPアドレスは管理者にわかるので日常的に第三者に渡っている情報ですが、
2chのレスでIPが残る(Googleの検索に引っ掛かる)となると少し意味が違ってきます。
IPアドレスからは接続地域と回線種類くらいしかわかりません。それぞれが情報を持っていても
外に開示している情報ではないので個々の情報では価値が薄いのですが、2chにレスがあれば情報を共有できます。一つ一つは薄い情報でも繋げれば意味が出てきます。
また、IPアドレスと本名住所を元々知っている相手にはどうでしょうか?
まず普通に家族が家のIPをググったら2chのレスを見られますね。
あなたの2chの書き込みが全てわかる訳です。趣味嗜好、悩み等を書き込んでいれば筒抜け。
あなたの知り合いがふざけてこのIPの奴○○って奴だよ、と書き込む事だってあるかもしれません。
例えば本名IP掴んでる通販業者が2chググってレス見て病気で悩んでいたのが知れたらその情報を心霊治療の業者に流されたりする可能性だってあります。
まぁそういう可能性も無いとは言えないのでIP表示のスレだけは気をつけて下さい。
先にその危険性を知っていればレスの内容も気をつけるでしょうけど、現状はその危険性をそもそも全く知らずに呑気に匿名だと思ってレスしている人が大半なのです。
- 10 :デフォルトの名無しさん (ワッチョイ f2a8-zcaE [59.85.147.21]):2017/04/08(土) 00:59:32.54 ID:/cdCDPu40.net
- ゴミ屑みたいなアンギュラ1.2の保守やらされて死にそう
今日も終電帰り
なにがSPAだ死ね
- 11 :デフォルトの名無しさん (ササクッテロル Sp57-410j [126.236.128.137]):2017/04/08(土) 04:20:53.67 ID:kzatgIpup.net
- >>132
お前みたいなネトウヨがアベ糞の擁護してるんだな
俺は日本生まれの日本人市民だよバ〜カ
バカのひとつ覚えの国籍透視みっともねーな
- 12 :デフォルトの名無しさん (ワッチョイ edd8-ZLad [36.2.194.98]):2017/06/28(水) 13:02:29.11 ID:QB56clcA0.net
- これ読んだけど、なんで関数内で設定されているのに
グローバル変数なのかわけわからん。
この言語設計したやつ頭おかしいわ。
関数呼び出しパターンの「this」はいかに…
関数呼び出しパターン
function show() {
console.log(this);
this.value = 1; // 注1
}
show(); // thisはグローバルオブジェクトをさす
この場合は「this」は「グローバルオブジェクト」を指してしまいます。
なので、注1の「value」は「グローバル変数」となります。
これを抑えておくのがポイントです。
次の例を考えてみましょう。
- 13 :デフォルトの名無しさん (ワッチョイ eb4b-q+YL [121.85.119.194]):2017/06/28(水) 13:24:39.86 ID:jRWvPNDP0.net
- thisがグローバルオブジェクトを参照してるからthisのプロパティもグローバルになる
var hoge = {};
function fuga(){
hoge.hage = 1;
}
fuga();
を実行するとグローバル変数hogeが参照するオブジェクトに関数内でプロパティhageが追加されるが
hogeがグローバルだからhoge.hageもグローバルなのと同じ
- 14 :デフォルトの名無しさん (ワッチョイ 35a9-cBwf [218.221.143.177]):2017/07/04(火) 08:09:29.12 ID:G1Se2kAk0.net
- そもそもただの関数にthis使う違和感はない?
そっちのほうが気になるけど
- 15 :デフォルトの名無しさん (オイコラミネオ MM96-cdfR [61.205.2.215]):2017/07/30(日) 13:27:23.77 ID:0zCGyZpbM.net
- 複数のテキストボックスの名前をhoge1、hoge2…とかつけて、数字部分を変数にして回そうとすると、evalの中身が超面倒くさい感じになるんだけど、そんなもんなの?
- 16 :デフォルトの名無しさん (ワッチョイ 2e6f-ZO1u [121.118.118.251]):2017/07/30(日) 14:14:20.78 ID:zJPw7vAu0.net
- eval?
- 17 :デフォルトの名無しさん (ワッチョイ e123-cdfR [124.215.138.88]):2017/07/30(日) 15:15:18.38 ID:uMgAwl9u0.net
- >>16
せめてググるぐらいしてから書き込め
- 18 :デフォルトの名無しさん (ワッチョイ 2e4b-l5iw [121.82.15.200]):2017/07/30(日) 15:49:56.33 ID:L4eXpSrk0.net
- >>15
配列を使えばevalを使わないし多分めんどくさくない
- 19 :デフォルトの名無しさん (ワッチョイ 2e6f-ZO1u [121.118.118.251]):2017/07/30(日) 18:30:42.36 ID:zJPw7vAu0.net
- >>17
いや
document.getElementById('hoge' + i)
やろ?
なんでevalと思って
- 20 :デフォルトの名無しさん :2017/09/13(水) 17:04:50.55 ID:6xoNDnWp0.net
- Chromeのブラウザで←で戻るのと
onClick="history.back()で戻るのとでは仕様が少し違うようだ
上の方法で戻すボタンが作りたのだが何か良い方法はないだろうか
- 21 :デフォルトの名無しさん :2017/09/15(金) 00:06:49.27 ID:Ed3viw7ea.net
- >>20
仕様がどう違うと思っているのだ?
- 22 :デフォルトの名無しさん :2017/09/15(金) 15:09:41.30 ID:rU1xFhYp0.net
- 上のは前の状態表示させているので情報はそのまま
下のは前のページを再表示しているので情報はリセットされている
- 23 :デフォルトの名無しさん :2017/09/17(日) 00:06:44.50 ID:+lojCGns0.net
- いろいろ試しましたが難しいようです。
ChromeはショートカットキーのAlt+←で同じことができるのですが、
javaScriptでボタンのクリックでAlt+←と同じようなことはできるのでしょうか?
- 24 :デフォルトの名無しさん :2017/09/17(日) 12:17:26.41 ID:imu4JSFLM.net
- >>23
出来ない
- 「任意のキー入力をエミュレート出来る」は「任意の動作を誘発させる」と同義で非常に危険
- [Alt] + [←] を誘発させる実装は [Alt] + [←] に別の動作を割り当てるな、と主張してるのと同義でユーザビリティが悪い
- 25 :デフォルトの名無しさん :2017/09/17(日) 19:53:01.24 ID:THymvUqj0.net
- >>24
お前の思い込みを世間の常識みたいに語るなよ
- 26 :デフォルトの名無しさん :2017/09/17(日) 21:40:14.41 ID:imu4JSFLM.net
- >>25
思い込みとは何のことだ?
- 27 :デフォルトの名無しさん :2017/09/19(火) 18:28:59.52 ID:wwWOD2e70.net
- >>23
お返事遅くなってしまいすいません。
できないという事がわかっただけでも助かりました。
ありがとうございます。
- 28 :デフォルトの名無しさん :2017/09/19(火) 18:29:54.45 ID:wwWOD2e70.net
- すいません。
上は>>24です。
- 29 :デフォルトの名無しさん :2017/10/06(金) 17:17:12.64 ID:TJk1AKwf0.net
- そもそも違いなんてあるか?
- 30 :デフォルトの名無しさん :2017/11/11(土) 14:41:47.21 ID:o3JCbP+4a.net
- Angularってどれくらいの勢力を誇っていますか
勉強する価値はありますか?
それともその内廃れて消えますか?
- 31 :デフォルトの名無しさん :2017/11/12(日) 04:45:54.55 ID:R+fVxE0p0.net
- 勉強なんて数日ありゃできるから気に入ったなら使ってみればいい
- 32 :デフォルトの名無しさん :2017/11/12(日) 18:38:18.63 ID:gQq+Xagd0.net
- React>Vue>>Angular
- 33 :デフォルトの名無しさん :2017/11/19(日) 16:06:59.97 ID:ANnOsUYp0.net
- 投票です。
現在JavaScript関連にはまともなスレがありません。
新しいスレを立てた方がいいと思いますが賛同する方はいますか?
新しいスレの内容の条件
・JavaScriptだけを扱う(AltJSやBabelやTypeScript禁止)
・ブラウザのDOM APIだけを使う(jQueryなどのライブラリやフレームワーク禁止)
・サーバーサイド禁止(nodejsなど禁止)
- 34 :デフォルトの名無しさん :2017/11/19(日) 16:08:48.43 ID:ANnOsUYp0.net
- 賛同者が多ければ、新しいスレたてまーす
- 35 :デフォルトの名無しさん :2017/11/19(日) 16:22:04.41 ID:AZU6DnHQ0.net
- Web制作板の荒らしの立てたスレを再利用しているスレから誘導で来た
新スレ(復活)には賛同するけど、以前ここに立っていたJS質問スレと同じ轍を踏む気がする
あれが落ちた原因はJS関連スレに長年巣食っている荒らしとは別の荒らしだったし
一応最後にまともなテンプレで立ってた最後のWeb制作とここの両スレを貼っておく
+ JavaScript の質問用スレッド vol.129 +©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1456250334/
JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1491147085/
- 36 :デフォルトの名無しさん :2017/11/19(日) 17:11:11.54 ID:CDwPHEzDa.net
- ここに書き込むのは久方ぶりだな。上に同じく、Web制作板の再利用スレか来た。
>>35
そのスレのテンプレ案がこちら。
Web制作板 vol.127 テンプレ案
http://fiddle.jshell.net/fH4cC/174/show/light/
プログラム板 vol.121 テンプレ案
https://fiddle.jshell.net/6018r9tu/1/show/light/
乱立スレの1もなかなか綺麗にまとまっていると思った。
https://mevius.5ch.net/test/read.cgi/hp/1501503056/1
- 37 :デフォルトの名無しさん :2017/11/19(日) 17:26:50.32 ID:CDwPHEzDa.net
- >>35
> 新スレ(復活)には賛同するけど、以前ここに立っていたJS質問スレと同じ轍を踏む気がする
原因と対策を考える必要があが、あなたはどう考える?
前回の失敗は事実上1人にテンプレ案作成をまかせていて、その人が保守しなくなったからテンプレ維持がままならなくなった気がする。
- 苦言や提案はするけど、テンプレ作るのは面倒くさい
- 2chなんだから適当でいいだろ
こういうスタンスでは間違いなく破綻する。
最低でも、3人はテンプレ保守する人が必要だと思うな。
- 38 :デフォルトの名無しさん :2017/11/19(日) 17:29:24.70 ID:ANnOsUYp0.net
- 現在プログラム板にあるJavaScript関係の質問スレ
+ JavaScript の質問用スレッド vol.124 + [転載禁止](c)2ch.net (2015/03/22- 286レス )
http://mevius.2ch.net/test/read.cgi/tech/1427008785/
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (2015/12/07- 539レス )
http://mevius.2ch.net/test/read.cgi/tech/1449440793/
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net (2016/04/11- 882レス )
http://mevius.2ch.net/test/read.cgi/tech/1460359714/
+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net (2016/12/21- 24レス )
http://mevius.2ch.net/test/read.cgi/tech/1482325013/
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net (2016/10/01- 658レス )
http://mevius.2ch.net/test/read.cgi/tech/1475332848/
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net (2017/04/02- 36レス )
http://mevius.2ch.net/test/read.cgi/tech/1491143438/
JavaScript 4(c)2ch.net (2014/12/05- 319レス )
http://mevius.2ch.net/test/read.cgi/tech/1417749547/
+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net (2016/07/08- 10レス )
http://mevius.2ch.net/test/read.cgi/tech/1467906869/
jQuery,.js [無断転載禁止]©2ch.net (2016/09/13- 7レス )
http://mevius.2ch.net/test/read.cgi/tech/1473773598/
- 39 :デフォルトの名無しさん :2017/11/19(日) 17:34:25.31 ID:ANnOsUYp0.net
- >>37
> 最低でも、3人はテンプレ保守する人が必要だと思うな。
その三人の中に裏切り者がいたらどうしましょうか?
まずその人が信頼できる人か素性を調べる必要があるのでは?
その上で公平な投票システムが必要でしょう
荒らしがIPアドレス変えて大量に投票したら意味ないですからね
- 40 :デフォルトの名無しさん :2017/11/19(日) 17:34:54.01 ID:CDwPHEzDa.net
- >>33
> 新しいスレを立てた方がいいと思いますが賛同する方はいますか?
賛成。
> ・JavaScriptだけを扱う(AltJSやBabelやTypeScript禁止)
反対。
スレッドが埋まるほどAltJS質問が来るならともかく、現状分化する程の量はないと思う。
採用するなら誘導先のスレッドが必要。
> ・ブラウザのDOM APIだけを使う(jQueryなどのライブラリやフレームワーク禁止)
賛成。
ライブラリ荒らしがひどいので、ライブラリスレへ誘導すべき。
> ・サーバーサイド禁止(nodejsなど禁止)
微妙。禁止するなら、誘導先スレを決めるべき。
サーバサイドJavaScriptスレがあるならいいが、今あるのはnode.jsスレか。
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1460359714/
- 41 :デフォルトの名無しさん :2017/11/19(日) 17:36:10.38 ID:ANnOsUYp0.net
- あとそもそも疑問なんですが、テンプレをちゃんと管理していれば
スレの内容はテンプレしたがってくれるんでしたっけ?
運営と連携したブロックする仕組みが必要になるのかな?
- 42 :デフォルトの名無しさん :2017/11/19(日) 17:46:27.64 ID:CDwPHEzDa.net
- >>39
> その三人の中に裏切り者がいたらどうしましょうか?
それは別の問題。
俺が危惧しているのは、あなたのいうところの「裏切り者」だけが存在し、良識あるテンプレ保守者がゼロの状態。
こうなると「裏切り者」がやりたい放題になる。
粘着質な荒らしはいつまでも5chに常駐していられるが、我々は人間だから疲れもするし、諦めもする。
あなたも今は元気な状態だが、今後もずっとテンプレ保守をして面倒になっても投げ出したりしない、とはいえないだろう。
一人が欠けても機能する為には、複数人での協力体制が必要。
- 43 :デフォルトの名無しさん :2017/11/19(日) 17:48:54.08 ID:ANnOsUYp0.net
- > こうなると「裏切り者」がやりたい放題になる。
「やりたい放題」って具体的に何をやるんですか?
それを防ぐにはどうしたらいいのでしょうか?
- 44 :デフォルトの名無しさん :2017/11/19(日) 17:55:31.71 ID:ANnOsUYp0.net
- 3人の管理者には給料だした方がいいですかね?
- 45 :デフォルトの名無しさん :2017/11/19(日) 18:02:33.77 ID:CDwPHEzDa.net
- >>41
勿論、テンプレだけ直してもダメだな。
5chでシステム的な強制力は期待できないので、基本的には利用するユーザの良識ある姿勢が必要になる。
模範となる人間が複数人いて、悪意あるユーザが荒らしても是正されたり、無視される文化(空気)がなければならない。
外部サイトになるが、https://ja.stackoverflow.com/questions/tagged/javascript にはそれがあるな。
昔の2chでは一時期その空気があったのだが、vol.115でlodashを啓蒙する荒らしが出たころからおかしくなった。
今、その空気を作り出す為には、最低三人の人間が回答/テンプレ保守に参加する姿勢が必要だと思う。
+ JavaScript の質問用スレッド vol.88 +
http://www2.atpages.jp/mirror/2ch/javascript/read.php/1308664388/
大分前のスレだが、この頃は比較的まともだった。
> 運営と連携したブロックする仕組みが必要になるのかな?
システム的な是正を問うなら、「他のフォーラムへ移行しよう」が結論になるだろうな。
- 46 :デフォルトの名無しさん :2017/11/19(日) 18:04:27.49 ID:ANnOsUYp0.net
- なぜ三人の人間が必要なのでしょうか?
結論ありきで語ってませんか?
- 47 :デフォルトの名無しさん :2017/11/19(日) 18:06:32.16 ID:ANnOsUYp0.net
- 「他のフォーラムへ移行しよう」が結論で良いのでは?
だってテンプレだけを必死に守ったって
意味ないんでしょう?
- 48 :デフォルトの名無しさん :2017/11/19(日) 18:08:39.76 ID:AG+sglXv0.net
- 新スレ建てるのは別に良いと思う
ただ詳細なテンプレに従う行儀の良い奴は少ない
ecmascript&DOMオンリーくらいハッキリしたスレタイにしないと同じ轍を踏む事になると思う
- 49 :デフォルトの名無しさん :2017/11/19(日) 18:08:59.72 ID:CDwPHEzDa.net
- >>63
例えば、次のシナリオが考えられる。
1. テンプレを改変してライブラリ許容したルールの新スレを立てる
2. 新スレで「なんでもかんでも、ライブラリを推奨するな」と苦情が来る
3. 1が「このスレのルールを守れ」と反論し、「jQueryがいかに有用か」を懇切丁寧に語る
4. 不毛な議論
Web制作板で現在進行形で起きている問題だな。
- 50 :デフォルトの名無しさん :2017/11/19(日) 18:11:10.34 ID:ANnOsUYp0.net
- まず、
1. なにをするためにを書く
2. 案をだしてそれが有効な根拠を書く
3. そして最後に結論としてやることを書く
このスタイルで書いてくれないかな?
- 51 :デフォルトの名無しさん :2017/11/19(日) 18:12:07.28 ID:CDwPHEzDa.net
- >>47
> 「他のフォーラムへ移行しよう」が結論で良いのでは?
では、「質問スレを立てる必要はない」があなたの結論?
質問ばかりであなたの考えがはっきりしないな。
あなたはどうすべきだと考えている?
- 52 :デフォルトの名無しさん :2017/11/19(日) 18:15:46.01 ID:CDwPHEzDa.net
- >>50
>>45で書いた通りだが。
1. (目的) 荒らされない空気を作り出す為
2. (行動) 複数人の良識ある回答者/テンプレ保守者が定期的に投稿する
3. (結論) 同上
- 53 :デフォルトの名無しさん :2017/11/19(日) 18:19:07.84 ID:ANnOsUYp0.net
- >>52
荒らされないことではなくて、
荒らされない「空気を作るだけ」ってこと?
空気作ったって荒らす人は荒らすでしょ?
- 54 :デフォルトの名無しさん :2017/11/19(日) 18:31:26.65 ID:CDwPHEzDa.net
- 俺が言いたいことは、「テンプレ(ルール)は守る人間がいて初めて機能する」という事。
テンプレがあっても守られなければ、「ここはテンプレ通りに質問/回答しなくていいのか、じゃあ好き勝手に質問/回答しよう」となる。
はっきりいって「テンプレなんて守る人はいない」という意識でいるなら、新しくスレを立てても上手くいかないと俺は思うぞ。
ルールを簡潔にしても守らない人は守らない。
ルールを率先して守る人間が複数人いて、ルールから外れた事を是正する働きかけがないと上手くいかない。
「最低、3人」といったのは1人が欠けても複数人(2人)で事に当たれるから。
スレに張り付いている荒らしと1対1になると持久戦で負ける。
お互いに生活リズムがあるのだから、生活リズムの異なる人間が複数人いるのが望ましいといえるが、それは難しいだろうな。
現状は「ルールなんて守る人はいない」「2chに何を求めているんだ?」状態の人が多いので、むやみに新スレだけ立てても上手くいかない、と俺は思う。
その空気を変える必要がある。
- 55 :デフォルトの名無しさん :2017/11/19(日) 18:35:13.14 ID:CDwPHEzDa.net
- >>53
全員にルールを守らせるのは無理に決まってるだろう?
(それとも、あなたには全員にルールを守らせる素晴らしい案があるのだろうか)
日本人は空気に敏感だから、それを利用した方が良い。
あなたの考える「現在の 問題点」と「対策」を教えてくれ。
悪いが、質問攻めで疲弊するのを待っているようにも読める。
- 56 :デフォルトの名無しさん :2017/11/19(日) 18:43:39.45 ID:ANnOsUYp0.net
- 俺が言いたいのは手段が目的になってるんじゃないかってこと
目的を実現できないのに手段だけを作って苦労したって意味が無いだろ
目的が達成できない手段だから、その手段は廃れるんだよ
前の人がテンプレを管理しなくなったのも同じ理由
目的が達成できないのに仕事だけやらされて何もメリットがない
- 57 :デフォルトの名無しさん :2017/11/19(日) 18:52:02.15 ID:CDwPHEzDa.net
- >>56
もっと具体的に頼む。
それと批判だけでなく、対案をいってくれ。
あなたの考える「現在の 問題点」と「対策」を教えてくれ。
- 58 :デフォルトの名無しさん :2017/11/19(日) 18:56:38.41 ID:ANnOsUYp0.net
- 現在の問題点、スレの内容が関係ない話で荒らされること
解決するわけがない問題は終わることもはないから延々と荒らされるだけ
対策、スレと関係ない話はどっか隔離スレでやってくれ、ここのように
- 59 :デフォルトの名無しさん :2017/11/19(日) 19:08:00.77 ID:CDwPHEzDa.net
- >>58
> 対策、スレと関係ない話はどっか隔離スレでやってくれ、ここのように
何が対策なのか不明だが、スレ違いの話題が出る度に「スレと関係ない話はどっか隔離スレでやってくれ」とお願いするのか?
今までも適切なスレに誘導されて上手くいかなかったはずだが、どうしてそれが上手く機能する?
- 60 :デフォルトの名無しさん :2017/11/19(日) 19:11:16.76 ID:ANnOsUYp0.net
- 現にうまく機能してるよ。新しいスレ立てるか立てないかみたいな、
jQueryはJavaScriptとして認めるかどうかみたいな
意味がない議論は、こっちに誘導できた
元スレはJavaScriptに関係ある話だけになった
- 61 :デフォルトの名無しさん :2017/11/19(日) 19:16:32.68 ID:CDwPHEzDa.net
- 話が噛み合わないと思ったが、「なんでもいいからスレを立てさせて隔離スレとして利用させよう」という腹積もりの人か。
時間を無駄にしたな。
- 62 :デフォルトの名無しさん :2017/11/19(日) 19:22:40.32 ID:ANnOsUYp0.net
- 別に新しいスレを立てるに賛同するものが少なければ
立てなくていいと思うよ。少なくともここに隔離されてる分には
本スレは平和だからいい
- 63 :デフォルトの名無しさん :2017/11/19(日) 21:34:42.00 ID:oda4btU40.net
- > ・ブラウザのDOM APIだけを使う(jQueryなどのライブラリやフレームワーク禁止)
反対
jQuery, lodash(Underscore) で、すぐに書ける事が多いので、便利。
JavaScript だけを使えとか、非効率な事で、時間を浪費させる奴がいる。
そいつが荒らし
getElementById() とか、ブラウザの差異とか、
仕事時間の8割が、ビジネスロジックとは無関係で、無駄な時間
多くの開発者が、jQuery, lodash(Underscore), React など、
JavaScript の無駄な時間からの、脱却を目指してきた
それに延々と反対する、荒らしがいる。
JavaScript だけを使えとか
C言語を勧める奴と同じ。
非効率な事をさせて、相手の時間をつぶさせる
- 64 :デフォルトの名無しさん :2017/11/19(日) 21:39:54.28 ID:oda4btU40.net
- CSS の質問に、SASS で答えたら「死ね」とか、
新技術・新ライブラリで答えると、荒らしてくる奴がいる
新しい知識を邪魔しよる。
人に新技術を教えると、教えるなって荒らしてくる
教えると、自分が食えなくなるから、荒らしてくる
- 65 :デフォルトの名無しさん :2017/11/19(日) 22:02:08.40 ID:jY4FOG+m0.net
- 便所の落書き程度の内容に目くじら立てすぎ
- 66 :デフォルトの名無しさん :2017/11/19(日) 22:28:43.77 ID:4vEA1DleM.net
- ちゃんとしたテンプレで建てるのはいいと思うけど
建てたところで間違いなくテンプレ無視したレスと煽りを繰り返された挙げ句に後半また改竄したテンプレでスレを乱立して乗っ取られるよ
同じことをもう5年くらい繰り返してるんだよ
5chのシステムだと常駐している荒らしに利用者が抵抗するのは無理
- 67 :デフォルトの名無しさん :2017/11/19(日) 22:46:41.75 ID:oda4btU40.net
- 荒らしは放っておくべき。
相手をする奴がいるから、いつまでも荒らしてくる
相手をしなければ、書くことが無くなるはずだが、
荒らしに反論するから、荒らしが喜んで書き込んでくる
- 68 :デフォルトの名無しさん :2017/11/20(月) 11:42:33.22 ID:VyTKZ5qIM.net
- 乗っ取られた、という考え方がもうすでに見当違い。
いつからお前のものになったのかと
- 69 :デフォルトの名無しさん :2017/11/28(火) 12:23:36.35 ID:lxdnA1vD0.net
- 最後にフォーカスがあったウィンドウのキャレット位置にテンプレートのテキストを書き込むアプリを作りたいのですがjavascriptで可能でしょうか。
- 70 :デフォルトの名無しさん :2018/02/16(金) 06:46:55.50 ID:W1XJdyx10.net
- ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
- 71 :デフォルトの名無しさん :2018/05/11(金) 08:34:24.43 ID:aEco1fjbM.net
- 仕事でIEのブラウザ上を普通にctrl cコピーしてExcelに貼ることが多いんだけど、セル一枠がクレジットカード番号のみ情報が混じってると勝手に16文字目が0にされてしまう
セルに直接クレジットカード番号打ち直せばいいんだけど、いちいち結構な手間になってしまう
特にブラウザのCSSのデザインもExcel上に残したいからなおさら
Excelのフォーマットの文字列に該当する設定ってJavaScriptでできたりする?
- 72 :デフォルトの名無しさん :2018/05/11(金) 10:03:04.34 ID:yUktgmmn0.net
- あの、すみません、スレチだったり、既出だったらゴメンナサイ。
CSSでID=AAAを「display:none;」にしてある状態(今このDivは非表示になってます)で、
Javasceipt側で
function Button() {
document.getElementById('AAA').style.display = 'block';
alert('OK');
}
これでHTML側のButton()を実行すると、
ChromeとFireFoxでは先にアラートが出て、アラートを閉じるとAAA属性のDivが表示される。
IEだと意図した通りAAA属性のDivが表示されてからアラートが出る。
ChromeやFireFoxで意図した通りの動作をさせる工夫などはできますでしょうか?
ちなみにアラートの手前に疑似Sleepを5秒とか挟んでもダメでした。
document.get〜〜〜の部分を、同じ記述を10行連続で書いてもダメでした。
どうぞ宜しくお願いします。
- 73 :デフォルトの名無しさん :2018/05/11(金) 11:28:21.90 ID:yUktgmmn0.net
- 72です
すみません、自己解決しました。
- 74 :デフォルトの名無しさん :2018/05/11(金) 16:36:05.22 ID:avRTxrQg0.net
- 疑似sleepをどうやって作ったのかが気になる
- 75 :デフォルトの名無しさん :2018/05/12(土) 03:41:37.50 ID:hwxaPbIq0.net
- JS の話題は、この板よりも、
web制作管理板の方へ書き込んで
- 76 :デフォルトの名無しさん :2018/05/12(土) 03:45:24.23 ID:eof7Lg4H0.net
- >>74
無限ループっぽくすればできるよ
- 77 :デフォルトの名無しさん :2018/05/23(水) 19:25:54.79 ID:Au5e7VGg0.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
FKHQT
- 78 :デフォルトの名無しさん :2018/06/30(土) 06:33:23.34 ID:N4Bz9b1e0.net
- ようやくリリース来たね
http://www.ecma-international.org/publications/standards/Ecma-262.htm
- 79 :デフォルトの名無しさん :2018/07/05(木) 01:55:13.62 ID:RfoszcD20.net
- F15
- 80 :デフォルトの名無しさん :2018/08/07(火) 04:43:19.27 ID:xLB66AnX0.net
- すいません。
frameの取得方法で教えてください。
var frame = document.getElementsByName("header")[0].contentWindow.document;
frame.getElementById('main').value;//取得できる
frame.getElementsByName('tdBody')[0].innerText;//取得できない
この違いは何でしょうか。どちらもページ内埋め込みフレームですが、getElementsByNameのほうはこのメソッド自体使えないと出てしまいます。
- 81 :デフォルトの名無しさん:2019/02/05(火) 04:46:22.39 ID:kWJBisTJ9
- 先輩方よろしくお願いします。
https://www.youtube.com/watch?v=DIVfDZZeGxM&index=2&list=PLillGF-RfqbbnEGy3ROiLWk7JMCuSyQtX
この動画(コードがディスクリプションにあります)の中でこのような記述があります。以下はinnerHTMLにアペンドする際javascriptでHTMLを記載する際の1行です:
' <a onclick="deleteBookmark(\''+url+'\')" class="btn btn-danger" href="#">Delete</a> ' +
deleteBookmark関数に変数urlを渡す際に「(\''+url+'\')"」と記述するのはなぜでしょうか?動画の中では「ちょっとここ変だけど」としか説明されていません。
エスケープするのは分かるのですが、関数(この場合はdeleteBookmark)にjs内のHTMLから変数を渡す際のルールを教えてくれませんでしょうか?
- 82 :デフォルトの名無しさん :2019/04/21(日) 18:38:01.87 ID:XAIRd91T0.net
- Windows8.1 64bit 環境での質問です
JScriptはjavascriptではないと言われそうですが、この環境では
let i = 0;
のようなコードは全てエラーになると考えて良いのでしょうか?
また
var stdout = WScript.StdOut;
for ( var i = 0; i < 5; i++ ) {
stdout.Write("i ");
stdout.writeline(i);
//stdout.writeln(i);
}
stdout.writeline(i);
で5を表示するような挙動はECMA Scriptでは一般的でしょうか
- 83 :デフォルトの名無しさん :2019/05/04(土) 12:56:56.84 ID:adnCRUw60.net
- https://www.atmarkit.co.jp/ait/articles/0904/20/news124_2.html
> 例えば、WebブラウザでJavaScriptを実行する場合には、
セキュリティ上の制約でJavaScriptからクライアントマシン上のファイルを
読み込んだり、書き出したりすることはできません。
しかし、ファイルシステムAPIというのが検索すると出てきます。
現在のJSの「できること、できないこと」は何ですか?
- 84 :デフォルトの名無しさん :2019/05/04(土) 13:36:33.55 ID:adnCRUw60.net
- もう一つ質問です。
JSは通信に関する制限があるようですが、
オフラインで動作するデスクトップアプリに近いようなもの(ブラウザで動いても良い)を
作ったとして、それも通信が制限されますか?
- 85 :デフォルトの名無しさん :2019/05/04(土) 14:08:37.00 ID:cfO7GTAv0.net
- JSはIOも持たないスクリプト言語だからそれだけでは何もできない
何ができるかはどんな外部APIが与えられてるかによる
- 86 :デフォルトの名無しさん :2019/05/04(土) 14:37:28.46 ID:j+k4q4Y+0.net
- >>83
ローカルでどうのこうのはnode.jsを調べてくれ
言語の問題じゃない
- 87 :デフォルトの名無しさん :2019/05/04(土) 15:21:23.82 ID:adnCRUw60.net
- 質問し直します。
WEBブラウザ上で動作するJSはlocalhostとのHTTP通信ができますか?
その他どんな制限がありますか?
- 88 :デフォルトの名無しさん :2019/05/04(土) 15:52:03.60 ID:cfO7GTAv0.net
- それはもちろんWebブラウザによる
これは意地悪で言ってるわけではなく本当にブラウザによってポリシーや機能は様々だから
気になるブラウザスレで聞いたほうが良い
- 89 :デフォルトの名無しさん :2019/05/04(土) 16:06:09.43 ID:adnCRUw60.net
- もう一つ聞きたいです。
GitHubでJSが非常に人気があるようです。
https://githut.info/
言語人気ランキングによっては7位。
https://www.tiobe.com/tiobe-index/
これが意味する事は使ってる人は少なめだけど活発に使っているという事になりますか?
JSにこれほど人気がある理由は何だと思いますか?
- 90 :デフォルトの名無しさん :2019/05/05(日) 00:45:28.67 ID:tvdtPjB+0.net
- この板には、あまり回答者がいないから、
詳しくは、この板よりも、web 制作管理板のJavaScript スレの方へ、書き込んでください!
>JSは通信に関する制限があるようですが
JS も、Ruby などと同じで、単なる言語です。
その言語の実行環境には、基本的なものしか含まれていないので、たいした事は出来ない
JSの実行環境には主に、ブラウザ・Node.js の2つがある
ブラウザはセキュリティーが厳しいので、
各ブラウザで機能は異なるが、基本的には、ローカルPC・クロスドメインにはアクセスできない
ローカルPC内のHTML を、ダブルクリックすると、ブラウザで見れる。
jQuery も使える。
これぐらい単純なら出来る
一般的には、ローカルファイルにアクセスするには、
実行環境にNode.js を使った、Electron などで作る。
VSCode も、Electron製
- 91 :デフォルトの名無しさん :2019/05/05(日) 02:10:00.63 ID:VtQYfSta0.net
- >>89
基本的に言語というのはどれでもいい。
大抵のことはどの言語でもできる。
ただ稀にこの言語でなければダメという理由がある。
(他の言語でも不可能ではないが大きく不便になる)
その理由は言語そのものではなくて、言語を取り巻く環境にある。
JavaScriptもその一つ。ブラウザでそのまま動く言語はJavaScriptしかない。
他にも機械学習系のライブラリが揃ってるのはPythonだし、
Linuxでカーネルやドライバを作ろうと思ったらC言語しかろくにサポートされてない。
これらは言語の差じゃない。環境の違い。
今はウェブサービスの開発が主流なので、それにうまくハマってるのがJavaScriptというわけ
- 92 :89 :2019/05/05(日) 02:32:25.11 ID:tvdtPjB+0.net
- Ruby, Python など、多くの言語では、ローカルファイルアクセスなどのライブラリも、
最初から、その言語の標準ライブラリに入っている
これを、battery included と言う。
製品を買ったら、電池も入っていること
ところが、JS では、言語に標準装備のライブラリが少ないから、
各人で、誰かが作ったライブラリを探さないといけない
ブラウザ・Node.js, Electron, Cordova, jQuery とか、各人で機能を調べる
まあ詳しくは、この板よりも、web 制作管理板のJavaScript スレの方で、聞いてください!
- 93 :デフォルトの名無しさん :2019/05/05(日) 20:03:49.62 ID:yGiei76k0.net
- > Ruby, Python など、多くの言語では、ローカルファイルアクセスなどのライブラリも、
> 最初から、その言語の標準ライブラリに入っている
それは利点でも有るが、JavaScriptが対象とするブラウザでは逆にデメリットとなる
なぜならセキュリティの観点からローカルアクセスできてはいけないからだ。
ブラウザのための言語だから当たり前ではあるが、
こういう点もJavaScriptでなければいけない理由になってる。
かつてはブラウザでRubyなどを動かそうという計画もあったんだ
- 94 :デフォルトの名無しさん :2019/05/06(月) 08:25:29.89 ID:r9zJcDQk0.net
- 連休最後でやっと自主学習できます。
よろしくお願いします。
値が入っている場合と、入っていない場合の判定なのですが
var val=20;
if(val){alert(val);}
------------------
var val;
if(!val){alert(null);}
という真偽判定で問題なく稼働しますか?
誤作動したりしないでしょうか?
- 95 :デフォルトの名無しさん :2019/05/06(月) 08:38:39.09 ID:XhX25YODM.net
- web作成板に行きなボーイ
- 96 :デフォルトの名無しさん :2019/05/07(火) 17:11:26.08 ID:bWNU7R7F0.net
- >>90
> JSの実行環境には主に、ブラウザ・Node.js の2つがある
cscript さんの存在も
たまには思い出してください
えっ
古くさくて誰も顧みない?
- 97 :デフォルトの名無しさん :2019/05/07(火) 17:45:56.58 ID:bWNU7R7F0.net
- hta: ボクはブラウザ上で実行される環境だけど、知名度ほとんどないし、まれに出て来てもウィルス扱いだよぉ
- 98 :デフォルトの名無しさん :2019/05/08(水) 23:28:03.48 ID:PvsGTftQ0.net
- >>94
> という真偽判定で問題なく稼働しますか?
> 誤作動したりしないでしょうか?
0とかをどう扱う仕様かによるかと
https://developer.mozilla.org/ja/docs/Glossary/Falsy
とか見るとよいかも
- 99 :デフォルトの名無しさん :2019/05/12(日) 13:25:33.21 ID:4nx2To9cr.net
- ム板にspreadsheetのスレって無いんだな
- 100 :デフォルトの名無しさん :2019/05/16(木) 00:32:29.55 ID:tjD61nda0.net
- だれだよ Web 管理制作板へ誘導した奴
マウントばっかりしてマトモに回答しないクズの巣じゃねえか
知恵袋へ誘導した方がまだマシというか、知恵袋だと運営に通報されてBANだろアレ
- 101 :デフォルトの名無しさん :2019/05/16(木) 06:56:43.56 ID:s5lihM+Nr.net
- jsスレは質問者が酷いからまともに回答する人はほぼいなくなった
- 102 :デフォルトの名無しさん :2019/05/16(木) 09:28:35.68 ID:+WwLqBdS0.net
- うるせえteratailでも行ってろ!
- 103 :デフォルトの名無しさん :2019/05/16(木) 11:09:06.27 ID:tjD61nda0.net
- 質問者に「それだけでは返答できない」と確認を促し
答えたら「1行返答」とかいうのがマトモな回答?
- 104 :デフォルトの名無しさん :2019/05/16(木) 12:06:09.08 ID:BUJhrwgQ0.net
- この板のJS スレは、本来の場所じゃない。
web制作管理板のスレが荒らされて、この板に緊急避難しただけ!
もうこの板には、住民はいない
荒らしも、この板にやってきた。
スレタイに、jQuery, Lodash, ライブラリの話は禁止って書いて、スレ立てする奴
漏れらは、荒らしの立てたスレに書き込まないように誘導したり、荒らしを排除しようとした
今はこちらの板で、Ruby禁止って書いて、スレ立てしてる。
くだすれPython(超初心者用) その43【Ruby禁止】
今は、あちこちのスレで、Ruby 死ねとか書き込んでる
とにかく、荒らしと会話しないこと。
荒らしに反応すると、ずっと居座るだけ
- 105 :デフォルトの名無しさん :2019/05/16(木) 12:23:00.17 ID:s5lihM+Nr.net
- >>103
https://mevius.5ch.net/test/read.cgi/hp/1555750241/829 のことかな
使うか使わないかのYes/No質問だしおかしくはないと思うけど
- 106 :デフォルトの名無しさん :2019/05/16(木) 12:37:50.39 ID:M/ddkVVC0.net
- >>103
「来週の休日どこに行く?」
「来週の休日の天気を言わなければ返答できない」
「え?天気?晴れるんじゃないかな?」
「水族館に行こう」
(天気関係ないじゃん)
こういう感じなw
なんで天気聞いたのか追求すると、今度は台風だったらとか
極論言い出したりするし「晴れなら〜雨なら〜」という
答えかたをすることもできない。
一種のコミュニケーション能力不足かな
質問に対して、唯一の正解を答えるものだと思っている
だからすべての条件を先に聞き出し(後から言うと怒り出す)
返答は自分が考えた唯一の正解だけ(他の候補は間違い扱い)だから一行になる
- 107 :デフォルトの名無しさん :2019/05/16(木) 23:18:13.54 ID:+WwLqBdS0.net
- >>106
ローカル君wwww
ム板でも元気にガイジパワー発揮!w
- 108 :デフォルトの名無しさん :2019/05/16(木) 23:43:32.63 ID:bssc8EEh0.net
- 必死チェッカーもどき
http://hissi.org/read.php/tcg/20190403/UjBqN1Q2aDIw.html
【報酬制カード】DUELEAGUE【デュヱリーグ】90
325 :名無しプレイヤー@手札いっぱい。 (ワッチョイWW 9fb1-PIOM [221.91.136.7])[]:2019/04/03(水) 11:15:34.81 ID:R0j7T6h20
とりあえず其の頬に流れてる嫉妬まる出しグショ泣き悔し涙ふけよクソ漏らし>>323負・け・イ・ヌ( ´∀`)σ)Д`)
【報酬制カード】DUELEAGUE【デュヱリーグ】90
330 :名無しプレイヤー@手札いっぱい。 (ワッチョイWW 9fb1-PIOM [221.91.136.7])[]:2019/04/03(水) 17:26:25.26 ID:R0j7T6h20
俺は運営の思考分かるよ
お前みたいな害悪野郎に書き込んでほしくないんだよ
- 109 :デフォルトの名無しさん :2019/05/17(金) 12:44:41.69 ID:5yXwvpw50.net
- あんな奴が許容されがちだから「コミュニケーション能力のある人」が求められるんだよ。
>>105
たしかに Yes / No question に対する返答としては「文法的には」正しい。
しかし、そもそも相手に補足情報を要求しておいてアレは無い。
一般的に、「過去の状況・現在の状況・将来の見通し」くらいの返答は、社会通念上、期待される範囲。
まして相手に補足情報を要求した以上、自身も「当然期待されているであろう」返答を返すべきだよ、社会通念上。
- 110 :デフォルトの名無しさん :2019/05/17(金) 17:00:32.07 ID:iNSpWQN90.net
- >>108
必死チェッカーで反撃した気分になってるのカ・ワ・イ・イ♥
- 111 :デフォルトの名無しさん :2019/05/17(金) 20:11:06.84 ID:5yXwvpw50.net
- 「人を憎んで罪を憎まず」ってことだからな
- 112 :デフォルトの名無しさん :2019/05/17(金) 20:57:13.33 ID:r1fGMmwur.net
- >>109
社会常識を問うなら、質問者にもそれなりの社会常識があるべき
https://mevius.5ch.net/test/read.cgi/hp/1555750241/833 は新たな「さすがに」を生み出しいるだけで何の返答にもなっていない
端的な質問に端的な回答を返されるのは自業自得
- 113 :デフォルトの名無しさん :2019/05/18(土) 00:07:55.85 ID:ZrO4zGTX0.net
- …生産性ゼロの発言して楽しい?
- 114 :デフォルトの名無しさん :2019/05/18(土) 20:58:10.90 ID:3xvYFUWfF.net
- 生産性を考えるなんてつまらないことだよ
- 115 :デフォルトの名無しさん :2019/05/18(土) 21:04:18.33 ID:ZrO4zGTX0.net
- RFC1149(イヤナンデモナイ
- 116 :デフォルトの名無しさん :2019/05/19(日) 15:21:39.30 ID:dLV4jWSc0.net
- >>94
> 値が入っている場合と、入っていない場合の判定
http://blog.tojiru.net/article/205007468.html
そのまんまなページだな…コレで「不足ある」って気付いた人が居たら教えていただきたいものだわね
- 117 :デフォルトの名無しさん :2019/05/19(日) 15:37:44.32 ID:dLV4jWSc0.net
- 可読性に関しては void 0 ってCのキャストっぽくて分かりやすいかもしんない
- 118 :デフォルトの名無しさん :2019/05/19(日) 18:24:38.02 ID:jyVnriUQ0.net
- ははっ。 2011年の記事じゃん。void 0 とかもはや過去のもの
undefinedとの比較はundefinedと比較すればいい。
void 0とか使わんでいいよ
- 119 :デフォルトの名無しさん :2019/05/19(日) 22:00:42.37 ID:dLV4jWSc0.net
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined
> While it is possible to use it as an identifier (variable name)
> in any scope other than the global scope (because undefined is not a reserved word),
バカ対策は基本的に入れといた方が良いとおもう(私見
100%オレオレコードなら問題ないだろう
- 120 :デフォルトの名無しさん :2019/05/20(月) 03:49:09.84 ID:g68Ac+XT0.net
- バカがいるとしたら、バカに気づくことが重要なのであってバカを隠すことではない
お前は、undefinedを変更するコードがあったとして、
そんなコードが入ってるものを安心して使えるか?
- 121 :デフォルトの名無しさん :2019/05/20(月) 17:17:31.88 ID:VU00A0n20.net
- >>120
100%オレオレコードだったり、その部分を書き換えても問題ないのであれば
「書かない」「書き換える」はアリでしょ
- 122 :デフォルトの名無しさん :2019/05/24(金) 21:30:29.52 ID:DoRS/4HK0.net
- イベントハンドラを使うときにhtmlに書くと
<button id="btn" onclick="func();">クリック</button>
関数名()と実行まで書くのに
イベントハンドラをJavaScript内に書くと
document.getElmentById("btn").onclick=func;と関数名だけで()を付けないのは何故ですか?
onclick=func;←これは、イベントハンドラ(onclick)に関数を代入をしてるんですか?
そもそもイベントハンドラは属性ということで、もう何をやってるのかよく分からなくなってて、
これは理屈抜きで覚えるべきですか?
お願いします
- 123 :デフォルトの名無しさん :2019/05/24(金) 22:58:59.71 ID:iaDShfK2a.net
- >>122
理屈も覚えるべきだろう
https://www.google.com/search?q=onclick+%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0+addeventlistener+%E6%8B%AC%E5%BC%A7+-site%3Asejuku.net
- 124 :デフォルトの名無しさん :2019/05/25(土) 07:47:58.32 ID:FkX8hFOL0.net
- >>123
ありがとうございます。
初学本を終えた段階でコールバック関数について全く知りませんでした
詳しく読んでみます
- 125 :デフォルトの名無しさん :2019/05/25(土) 13:07:15.19 ID:yzyBLtFl0.net
- >>122
無名関数のことかしら
あと、こんにちでは var を新規で積極的に使う意味は無いとおもう
・プログラミング疎いので全部 let にする
・基本的に const を使い、結び付けられる対象となる値が変化する可能性がある場合のみ let を使う
あたりが方針としてベターだと思う
Hoisting とかクソでしょ
- 126 :デフォルトの名無しさん :2019/05/25(土) 13:09:46.07 ID:yzyBLtFl0.net
- foobar.onclick = function ...
とあったら「ああ、無名関数のことね」でスルーしてよし、と
- 127 :デフォルトの名無しさん :2019/05/25(土) 20:19:18.66 ID:3c9sJ6MS0.net
- ホイスティングがクソという理由を述べよ
いいじゃんKOOLな機能だと思うけど?
なんでクラスはホイスティングされないんだろうなあ
- 128 :デフォルトの名無しさん :2019/05/25(土) 22:17:01.85 ID:XvQPNj6a0.net
- >>125
どこからvarがでてきた?
それにどこにも無名関数のことなど書かれていてないようだが…
- 129 :デフォルトの名無しさん :2019/05/26(日) 15:33:48.96 ID:W10tX16pM.net
- 俺は女が買いたいんだ!おっぱいおっぱい!
- 130 :デフォルトの名無しさん :2019/05/26(日) 15:44:40.60 ID:l5IzIEQ20.net
- Javascriptはウェブ板へって書いてあるのにな。
- 131 :デフォルトの名無しさん :2019/05/27(月) 13:26:21.97 ID:BM/UqAnC0.net
- >>130
あっちの現状を分かっていて、その上で敢えて発言しているのかしらん
- 132 :デフォルトの名無しさん :2019/05/31(金) 00:19:02.96 ID:Cb7G0CcH0.net
- 度々の質問で申しわけありません
google chromeのデベロッパーツールを使っているのですがコンソールにjavascriptのメソッドなどを表示していたらエラー
faild to load resource:err_failedと表示され
それ以来ブラウザを閉じてもファイルを削除しても chromeをインストールし直してもエラーが消えず数ヶ月間騙し騙し使っていたのですが
今度はjqueryを使うとchromeのデベロッパーのsources画面のbreak pointsに黄色い文字でエラーが表示されて固まるようになり
やはり新たにjqueryをダウンロードしても変わらず、色々試したところ
jqueryのファイルをjqueryという名前のフォルダーから出して
<script src=jquery/jquery.〜>→<script src=jquery.〜>
このようにsourceを変えたところエラーが出なくなったのですが、どうしていいのかちょっと分からなくて
このスレの趣旨とは違うかもしれませんが詳しい方がいれば教えて頂きたいです
おそらくコンソールのエラーと同じでパソコンの方に記録が残ってしまっているのが原因だと思うのですが
アドバイスをいただければ嬉しいです
パソコンはMacでosはMojaveです
- 133 :デフォルトの名無しさん :2019/05/31(金) 00:22:15.26 ID:Cb7G0CcH0.net
- パソコンはMacでosはMojaveです
お願いしますm(__)m
- 134 :デフォルトの名無しさん :2019/06/01(土) 02:55:40.47 ID:Xek9EwMI0.net
- console.log("Hello, world!");
は動くんだろうな?
- 135 :デフォルトの名無しさん :2019/06/02(日) 01:02:45.52 ID:4INaUA9H0.net
- >>134
chromeを開いて最初のページ(chromeのホームページ?)上でデベロッパーツールからコンソールを開いて
そこにjavascriptの関数や文を直接コピペしていたらエラーが出て
それからそのページでコンソールを開くとエラーが表示されるようになりましたが
ただ、別のページでコンソールを開くとエラーの表示は出ません
今はchromeを開いてGoogle.co.jpに移動してそこでコンソールを開いて使ってます
かなり次元の低い質問をしてると思いますが、どういう状態なのか散々調べたのですが分からないんです^^;
スレの趣旨と違うのでこの質問はこれでやめますm(._.)m
- 136 :デフォルトの名無しさん :2019/06/02(日) 02:50:58.82 ID:Ajv++wtF0.net
- とるあえず閲覧履歴全削除でキャッシュクリア
- 137 :デフォルトの名無しさん :2019/06/02(日) 08:03:33.34 ID:zfmIH2Wv0.net
- >>135
から
console.log("Hello, world!");
が動くのか否か判別ができない
<!doctype html>
<html>
<head><meta charset=”utf−8”></head>
<body>
<script>
console.log(”Hello, world!”);
</script>
</body>
</html>
が動くかどうか、だけの問題なのに
- 138 :デフォルトの名無しさん :2019/06/02(日) 08:04:05.86 ID:zfmIH2Wv0.net
- コレなら charset=us-ascii でも行けるか
- 139 :デフォルトの名無しさん :2019/06/03(月) 00:03:05.29 ID:gVwmYwdG0.net
- >>136
履歴を消したりアンインストールしてもダメでした
>>137
すみません、それなら問題ありません hello worldと表示されます^^;
自分で作ったhtmlファイルをchromeで開いてコンソールを表示した場合もエラーは出ません
エラーが出るのはchromeを起動して初めに表示されるページ、トップページ?でコンソールを開いた場合だけです。そのページでだけコンソールにエラーが表示されます
同じような現象がjqueryで起こってしまったので原因が気になり質問しました
ありがとうございました。いざとなったらパソコンを初期化します
- 140 :デフォルトの名無しさん :2019/06/03(月) 18:31:15.92 ID:+eb4McoS0.net
- 「トップページ」が悪いだけじゃん
ブラウザも javascript も jQuery も問題は無かろう
jQuery の古いバージョンは知らんけど、たぶん
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js”></script>
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js”></script>
とか書くぶんには問題ないんじゃね
- 141 :デフォルトの名無しさん:2019/06/06(木) 09:28:33.44 ID:7PasqtOL.net
- テスト
- 142 :デフォルトの名無しさん:2019/06/06(木) 09:30:48.54 ID:7PasqtOL.net
- 1クリックで文字をコピーできるプログラムを作りたいのですが、Androidでしか動かないプログラム、iOSでしか動かないプログラムがあります
どうにか共通化させたいのですが、教えて頂けないでしょうか
https://dotup.org/uploda/dotup.org1865674.txt
- 143 :デフォルトの名無しさん :2019/06/06(木) 10:36:50.66 ID:fXMCZ+fj0.net
- 共通化しなくていいやん
- 144 :デフォルトの名無しさん :2019/06/06(木) 11:53:32.33 ID:l8NOJW7w0.net
- iOS用の方でaddRangeする前にremoveAllRangesする
- 145 :デフォルトの名無しさん:2019/06/06(木) 15:32:42.95 ID:7PasqtOL.net
- 教えて頂いたとおり、window.getSelection().removeAllRanges();を追加したらAndroid iOSどちらでも動きました!
ありがとうございます!
- 146 :デフォルトの名無しさん :2019/06/06(木) 16:11:09.57 ID:LQgeHIgB0.net
- いいってことよ(´・ω・`)
- 147 :デフォルトの名無しさん :2019/06/06(木) 17:33:16.19 ID:Qxsak61t0.net
- >>139
トップページでコンソールを開くと、エラーになるのは、
例えば、回線が遅くて、Ajax で読み込むデータが、まだ到着していないとか?
例えば、5ch を開いても、広告の読み込みでエラーになることもある
- 148 :デフォルトの名無しさん :2019/06/06(木) 20:20:12.65 ID:vks0COQh0.net
- スピードダイヤルは普通のwebページじゃないから…
- 149 :デフォルトの名無しさん :2019/06/11(火) 18:38:53.24 ID:vib91KXZ0.net
- 初歩的な質問で申し訳ありません
https://qiita.com/takkyun/items/c6e2f2cf25327299cf03
こちらを読んでいたら、序盤にある以下のコードの意味がよくわからずでして
function test() {
console.log(this)
}
var obj = {} //(1)
obj.test = test //(2)
obj.test() // => {test: ?}
(1)
1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?
var obj = { test : 'てすと' }; とかになっているのならわかるのですが、
objは中身は空っぽで、ドット演算子で繋げられるの何も無いですよね?
(2)
左辺のtestと右辺のtest、どちらが function test( ) なのでしょうか?
また、testとtest( ) の違いは何なのでしょうか?(後者は関数なのはわかるのですが、かっこ無しの場合がわからずでして)
よろしくお願いします。
- 150 :デフォルトの名無しさん :2019/06/11(火) 18:52:05.71 ID:6xCanE8hr.net
- >>149
悪いが、なぜobj.testに代入が許されないと思っているのか、理解出来ない
var obj = {};
obj.test = 1;
console.log(obj);
と何も変わらないと思うが、このコードも理解できない?
- 151 :デフォルトの名無しさん :2019/06/11(火) 19:04:23.38 ID:vib91KXZ0.net
- >>150
ありがとうございます
すみません、ダメだと勝手に思っていました
実行してみたのですが、その場合はobjのオブジェクトとしてtestが登録?されるのですね
(2)の方は、左辺のobj.testのtestは変数で、右辺のtestがfunction test() ということで、
(2)は obj = {test : function test( )} になったということですか?
- 152 :デフォルトの名無しさん :2019/06/11(火) 19:59:25.40 ID:/ckGx9mb0.net
- >>149
const func = test;
const ret = test();
console.log(typeof func);
console.log(typeof ret);
の結果を読むと参考になるかもしんない
- 153 :デフォルトの名無しさん :2019/06/11(火) 20:19:37.39 ID:/ckGx9mb0.net
- "this" の挙動で悩ましい・悩ましかった部分については
var self = this
でググると色々分かるとおもう
- 154 :デフォルトの名無しさん :2019/06/12(水) 08:18:21.06 ID:0T71Qniwr.net
- >>151
言葉で説明するよりも、コンソールデバッグや要所にbreakpointを設定して確かめる方がわかりやすいと思う
var obj = {};
console.log(test);
console.log(obj.test);
obj.test = test;
console.log(obj.test);
おそらく、基礎的な知識が足りてないので、「オブジェクト初期化子」「オブジェクト」「プロパティ」をキーワードにリファレンスをあたってみるべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Object_initializer
横着して、基礎を疎かなままに、入門している印象がある
- 155 :デフォルトの名無しさん :2019/06/12(水) 12:30:14.19 ID:vXZu8+ru0.net
- 便乗質問なんだけど、一般論として
const obj = {};
obj.test = 1;
とか書いたとき、
・前者は「オブジェクト初期化子」と呼ばれる
・後者は「プロパティ」を新たに定義して、値を結び付けている
という理解でok?
- 156 :デフォルトの名無しさん :2019/06/12(水) 12:47:51.89 ID:0T71Qniwr.net
- >>155
概ね、その理解でいいかと
呼び名に関しては、アクセサ、ドット記法、ブラケット記法などあるが
https://tc39.es/ecma262/#sec-property-accessors
- 157 :デフォルトの名無しさん :2019/06/12(水) 13:13:57.48 ID:vXZu8+ru0.net
- >>156
ご返答ありがとうございます。
ちなみに
>>149
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?
これって、Cの構造体とか、C++ / Java のクラス定義からのインスタンス生成あたりが念頭にある気がするんですけど
気のせいですかねえ…。
- 158 :デフォルトの名無しさん :2019/06/12(水) 13:34:09.25 ID:vXZu8+ru0.net
- https://paiza.io/projects/XNcmQ1UsoTrp11cEdW7nYQ
これでいきなり p.test = 1; とか書いたらコンパイルエラーになるっしょ
- 159 :デフォルトの名無しさん :2019/06/12(水) 22:43:10.82 ID:u6W2+u+x0.net
- 違う言語だもの
- 160 :デフォルトの名無しさん :2019/06/12(水) 23:06:46.69 ID:BQdPzZx+0.net
- >>149
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?
>>150
> 悪いが、なぜobj.testに代入が許されないと思っているのか、理解出来ない
この一連の流れ、ちゃんと読んでる?
質問者の自然な感覚としては obj.test が許される理由が分からんと言ってるんだよ
「そういう考え方が何故出て来るのか」って話だよ
- 161 :デフォルトの名無しさん :2019/06/13(木) 10:04:10.06 ID:BF3Tm3uUd.net
- javascriptは何でもありだからなあ。
- 162 :デフォルトの名無しさん :2019/06/20(木) 00:28:57.80 ID:iJJms4bW0.net
- ホームページのドロワー部分で躓いています。
ドロワーが開いているときに、iosでも背景を固定してかつドロワーはスクロールできるようにするにはどうすればいいでしょうか?
ネットで探して試したことは、
event.preventDefault();をpassive: falseで使うやつ。(ドロワーもスクロールできなくなるので却下)
overflow:hidden;(iosだと効かない)
position:fixed;(スクロールが一番上に移動してしまうので却下)
です。
あとは、「ドロワー以外のtouchmoveではスクロール量を変化させない」という方法で出来ないかとやってみたのですがうまくいきませんでした。
- 163 :デフォルトの名無しさん :2019/06/20(木) 07:18:00.12 ID:So5aQwHx0.net
- >>155
var obj = { };
obj.test = 1;
これは、Singleton
そのインスタンスだけに、そのプロパティを作った。
そのインスタンスだけに、そのプロパティは存在する
同じだけど、下のように書いた方が、わかりやすい
上だと、インスタンスの外部から設定したように見えるが、
下では、内部で設定したように見える。
あくまでも、印象に過ぎないけど
var obj_2 = { test: 1 };
>>162
この板よりも、web制作管理板のスレの方へ、書き込んで!
この板のスレは、向こうのスレを荒らされて、緊急避難用に作っただけなので、見てる人が少ないから
- 164 :デフォルトの名無しさん :2019/06/20(木) 07:33:26.10 ID:A8TT12fta.net
- >>163
>>157で解決済
向こうは荒れてるから、こちらで質問されても全く問題ない
- 165 :デフォルトの名無しさん :2019/06/21(金) 00:50:19.10 ID:h1wQF7Na0.net
- test
- 166 :デフォルトの名無しさん :2019/06/21(金) 00:53:12.91 ID:CWdRTwZC0.net
- za
- 167 :デフォルトの名無しさん :2019/06/26(水) 00:13:18.62 ID:kt7frSjI0.net
- 質問です。setTimeout内で引数渡しのある即時関数の書き方を教えてください。
下のコードでは"F1="+i+"<BR>"が1秒ごとにwriteされるようにしたいのですが、
待ち時間なしで処理されてしまいます。
F0(0);
function F0(stage){
if(stage<5){
setTimeout((function(i,j){
F1(i,stage);
})(stage*2,stage), 1000);
}else{
document.write("end");
}
}
function F1(i,j){
document.write("F1="+i+"<BR>");
j++;
F0(j);
}
- 168 :デフォルトの名無しさん :2019/06/26(水) 00:38:45.47 ID:OukDf0at0.net
- >>167
色々言いたいことはあるけど
>function(i,j){
> F1(i,stage);
>})(stage*2,stage)
即時実行してるから当然の結果
ちゃんと渡し方があるから↓読んで
setTimeout(function,delay,stage*2,stage);
https://developer.mozilla.org/ja/docs/Web/API/WindowTimers/setTimeout
- 169 :デフォルトの名無しさん :2019/06/26(水) 04:22:30.93 ID:7Iy6MpfG0.net
- >>167
こういうこと?
let id_interval;
let i = 0;
const p = document.createElement("p");
document.body.appendChild(p);
p.innerHTML = "";
const show = function() {
if (i === 5) {
p.innerHTML += "end<br>";
clearInterval(id_interval);
} else {
p.innerHTML += "F1=" + i * 2 + "<br>";
i++;
}
}
id_interval = setInterval( show, 1000);
- 170 :166 :2019/06/26(水) 22:30:11.20 ID:J30P6jfD0.net
- >>168のリンクの通り4〜6行目を
setTimeout(function(i,j){
F1(i,stage);
}, 1000,stage*2,stage);
にしたら動きましたー
単なる構文間違いですね…
- 171 :デフォルトの名無しさん :2019/06/27(木) 09:21:42.75 ID:fQHO+2au0.net
- >>170
せめて document.write 使うのは止めよう
https://jsbin.com/bupupay/edit?html,js,output
たとえばこんな感じ(これも、innerHTML 使ってる上にサニタイズしてないから、本来はあんまり良くない)
- 172 :デフォルトの名無しさん :2019/06/27(木) 10:12:39.75 ID:fQHO+2au0.net
- https://jsbin.com/sakuwif/edit?html,js,output
「サニタイズ」とか意識しなくて良く、また、都度で <div> を入れているので <br> 不要なのがコレ
- 173 :デフォルトの名無しさん :2019/06/27(木) 20:38:38.32 ID:LMazrfctd.net
- document.write なんて何年ぶりに見たかな。
タイムスリップしてきたのかよ。
- 174 :デフォルトの名無しさん :2019/06/30(日) 10:29:23.95 ID:fZGHIByLa.net
- >>172
> setTimeout(function(i, j){
> F1(i, stage);
> }, 1000, stage*2, stage);
どう見ても無名関数式が無駄と思うが、無名関数式を使うべき理由があるだろうか
https://jsfiddle.net/gc0f8ev5/
汎用性を上げるならこう
https://jsfiddle.net/cyuLj0qg/
- 175 :デフォルトの名無しさん :2019/06/30(日) 13:53:46.21 ID:THYklFdH0.net
- >>170 までの流れを見ると end 即時表示希望にみえる
end 表示まで1秒かかってません?
- 176 :デフォルトの名無しさん :2019/06/30(日) 13:59:18.64 ID:THYklFdH0.net
- あと const とか使うなら
variableName + ' = ' + i * multiple
は
`${variableName} = ${i * multiple}`
とか
- 177 :デフォルトの名無しさん :2019/06/30(日) 14:58:27.84 ID:KLBxkGT0a.net
- 他人に指摘する前に質問に答えるのが先と思うのだが
>>175
修正した。
https://jsfiddle.net/6gj37qvr/
>>176
Polyfillで吸収不可能なIE11非対応機能は使用していない
- 178 :デフォルトの名無しさん :2019/06/30(日) 15:02:36.29 ID:THYklFdH0.net
- >>177
元質問者のコードから document.write 消しただけだが?
わたしゃ知らんがな
- 179 :デフォルトの名無しさん :2019/06/30(日) 15:12:50.60 ID:1phNYyF+a.net
- >>178
質問者のコードは即時関数で>>170が無名関数式を使用したように読めるが…
あと、他人に指摘はするが、自分に指摘されたら「知らんがな」はあまりにも誠意がない
より良いコードを追求するが故の改善案と認識していたが、あなたには違う目的があるのかもしれないと思い始めてる
Web制作板の「ワッチョイ **8f」と同じ人ならいうだけ無駄かもしれんが
- 180 :デフォルトの名無しさん :2019/06/30(日) 15:16:59.04 ID:Xr7FFEwba.net
- × 質問者のコードは即時関数で>>170が無名関数式を使用したように読めるが…
〇 質問者のコードは即時関数で>>171が無名関数式を使用したように読めるが…
- 181 :デフォルトの名無しさん :2019/06/30(日) 16:36:21.06 ID:THYklFdH0.net
- 逆引きすると eaccess
- 182 :デフォルトの名無しさん :2019/07/01(月) 00:35:59.51 ID:EBI1AAR2r.net
- 165.82.91.58.in-addr.arpa name = p117165-ipngn4601funabasi.chiba.ocn.ne.jp.
inetnum: 58.88.0.0 - 58.95.255.255
netname: OCN
descr: NTT Communications Corporation
descr: OTEMACHI PLACE WEST TOWER 2-3-1 Otemachi Chiyoda-ku,Tokyo 100-8019 Japan
- 183 :デフォルトの名無しさん :2019/07/05(金) 18:33:03.43 ID:RUF6TsjL0.net
- 上から目線だった割にダンマリか
- 184 :デフォルトの名無しさん :2019/07/13(土) 02:17:04.73 ID:P33eZqk80.net
- https://leetcode.com を始めました。
そこで、質問です。
var toLowerCase = function(str) {
const length = str.length
let str_result = ""
for (let i = 0; i < length; i++) {
const char_code = str.charCodeAt(i)
if ((0x41 <= char_code) && (char_code <= 0x5a)) {
str_result += String.fromCharCode(char_code + 0x20)
} else {
str_result += String.fromCharCode(char_code)
}
}
return str_result
}
console.log(toLowerCase("Hello"))
console.log(toLowerCase("here"))
console.log(toLowerCase("LOVELY"))
こんなコードを書くのは少数派でしょうか?
Runtime: 52 ms, faster than 75.91% of JavaScript online submissions for To Lower Case.
Memory Usage: 33.8 MB, less than 39.71% of JavaScript online submissions for To Lower Case.
だそうで、効率は良いっぽいのですが…。
- 185 :デフォルトの名無しさん :2019/07/13(土) 02:23:13.18 ID:P33eZqk80.net
- 質問age
- 186 :デフォルトの名無しさん :2019/07/13(土) 13:09:30.00 ID:P33eZqk80.net
- + JavaScript の質問用スレッド vol.141 +
https://mevius.5ch.net/test/read.cgi/hp/1562318008/215
「マルチイクナイ」防止
- 187 :デフォルトの名無しさん :2019/07/13(土) 13:53:56.27 ID:iFENtaMCa.net
- >>184
「少数派」は統計の媒体依存なので、回答不可
質問の意図が全く分からない
主流とか流行とかなら気にする必要は全くない
- 188 :デフォルトの名無しさん :2019/07/13(土) 16:08:39.17 ID:P33eZqk80.net
- アルファベット26文字に対する変換問題のようです
配列なりハッシュテーブルなりを使うのが一般的回答かもなあと思いまして。
どのような別解があるのか、と。
- 189 :デフォルトの名無しさん :2019/07/13(土) 16:13:41.95 ID:GYG1iQvda.net
- >>188
別解はいくらでもある
質問範囲が広すぎる
'ABCdefGHI'.replace(/[A-Z]/g, Function.prototype.call.bind(String.prototype.toLowerCase))
- 190 :デフォルトの名無しさん :2019/07/13(土) 16:22:58.73 ID:GYG1iQvda.net
- >>188
> 配列なりハッシュテーブルなりを使うのが一般的回答かもなあと思いまして。
要件次第でいくらでも変わるコードに「一般解」を求める事が愚策だと思う
「主流」「一番使われる書き方」「現場での書き方」の質問全てにそう思う
- 191 :デフォルトの名無しさん :2019/07/14(日) 10:50:06.44 ID:ZHLRDDy6a.net
- >>188
https://mevius.5ch.net/test/read.cgi/hp/1562318008/229
> 229 215 (ワッチョイ 7e8f-XC/u)2019/07/14(日) 09:32:34.14ID:c8hg/KPq0
> >>223
> プログラム板に別解があるようだが、あれで満足?
>
> うーん
> どこからどう見ても練習問題なのに…
「練習問題」という条件はなかったし、具体的な要件は掲示されていなかった
そして、「練習問題」という要件が何を表すのか全く示されていない
後出しで条件追加するぐらいなら初めから全てを「具体的に」書いてくれ
それから、マルチポストしたなら、全てのマルチポスト先で進捗結果を報告してくれ
https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88#%E5%A4%B1%E7%A4%BC%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E6%96%B9%E6%B3%95
- 192 :デフォルトの名無しさん :2019/07/14(日) 11:14:56.21 ID:QCCP5GQI0.net
- text に含まれる改行位置で分割して、それぞれの行の文字数を図りたいです。
繰り返しが上手く組めません。宜しくお願いします。
- 193 :デフォルトの名無しさん :2019/07/14(日) 11:27:30.89 ID:ZHLRDDy6a.net
- >>192
「出来上がっているコード」や「繰り返しの何を理解して、どこが理解できないのか」を示していない時点でコード制作依頼にしか読めないが…
'abc\ndefg\nhijkl'.split(/\n/).map(s=>s.length); // [3, 4, 5]
- 194 :デフォルトの名無しさん :2019/07/14(日) 16:29:44.23 ID:QCCP5GQI0.net
- それはすみません
bodyがフィーム送信されたテキストとしまして
var line = body.split("¥n");
var cline =0;
これを繰り返し展開し length > ○○ で cline++;
したいのですが、javascriptの繰り返しがどうしても理解
できないのです。
- 195 :デフォルトの名無しさん :2019/07/14(日) 17:08:22.63 ID:QCCP5GQI0.net
- 全く理解できないけど
for ( var i = 0; i < line.length; i++ ){
if(line[ i ].length > 長さ){
cline++;
}
}
で長さを超えている行数が獲得できました。
結局mapは使えませんでしたが、有り難うございました。
- 196 :デフォルトの名無しさん :2019/09/11(水) 12:29:38.26 ID:MLxC+C0x0.net
- js のfor文はまじでゴミだから使わないほうがいいよ
- 197 :デフォルトの名無しさん :2019/10/02(水) 19:50:54.77 ID:N+fsnVWC0.net
- Acrobatのスタンダード版で、Javascriptを使おうとすると、
この機能はライセンスに含まれていないと表示され、使えません。
実際、プロとスタンダードの比較表を見ても、後者では使えないことになってるのですが、
なぜか、コマンドボタンに書いたJavascriptは使えます。
一体何が違うのでしょうか?
- 198 :デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87]):2019/10/13(Sun) 13:12:43 ID:KO9wMRnb0.net
- https://mohayonao.hatenadiary.org/entry/20111108/1320756534
ここでやっているようなプログラムを作っても別タブを開いている間は止まります。
同じような経験をしていらっしゃる方いませんか?
workerの部分を別ファイルを使っても、blobを使って単一ファイルにまとめても
同じようになります。
https://qiita.com/mohayonao/items/b4f713bf8ab9de8907f1
ちなみにここのやつをそのままコピーしてやっても、workerありでも
無しでも同じような結果になりました。
- 199 :デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87]):2019/10/13(Sun) 21:59:21 ID:KO9wMRnb0.net
- 197ですが、情報が少なすぎました。
- 200 :デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87]):2019/10/13(Sun) 22:04:01 ID:KO9wMRnb0.net
- ブラウザはChrome、Operaと試しました。
workerも使えない。上記のカウンターを数えるだけのプログラムですが
別タブに行くとworkerがあろうとなかろうと、タイマーが止まってしまいます。
何かいい方法ないでしょうか。
ちなみに誰か、これらのプログラムを試してみて成功した方いらっしゃいませんか?
というより、プログラムは動くので、別タブに行ってもタイマーが止まるかどうか気になります。
- 201 ::2019/10/13(Sun) 23:50:22 ID:vCIvkSJf0.net
- qiitaのやつのBlobBuilderのところをBlobを使うように修正して動かしてみたけど、タブの切り替えでしっかりカウンターがずれて表示されたよ
- 202 :デフォルトの名無しさん :2019/10/14(月) 00:16:28.97 ID:qXl8FtHN0.net
- そりゃ、テトリスなどのゲームをプレイしていても、
別タブへ移動したら、ゲームは止まる。
そして戻ってきたら、止まっていた所から始まる
フォーカスを失うと、アクティブ(フォアグラウンド)プロセスじゃないから、CPU スライスが割り当てられない!
GUI では、アクティブなプロセスは、常に1つだけ
バッググラウンドでも動き続けるには、バッググラウンドプロセスにする。
それか、worker スレッド
この板のこのスレは、web制作管理板が荒らされたときに立てた緊急避難用スレで、今は使われていません!
web制作管理板のJavaScript のスレへ、移動してください!
- 203 ::2019/10/14(Mon) 01:02:16 ID:BvwKSjSca.net
- 使われていない、は誇大表現
- 204 :デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87]):2019/10/14(Mon) 06:14:41 ID:sewBjWGo0.net
- >>201-202
ありがとうございます。
条件とかを無視してBlobbuilder() をBlob()に換えただけですが
ずれて表示されませんでした。
worker使ってもタイマーは止まったまま。
web制作管理板の緊急避難スレとのことでそちらに移動しますね。
- 205 ::2019/10/15(Tue) 19:12:53 ID:T3rV/Bv4a.net
- Node.jsで普通のJavaScriptライブラリを使いたい場合は
どうすればいいのでしょうか?
- 206 ::2019/10/15(Tue) 20:26:19 ID:vw6XmgDra.net
- >>205
ライブラリ自体は大きいのですが使っている関数が一つだけだったので
それをexportする処理をライブラリ末尾に加えることにしました
- 207 :デフォルトの名無しさん :2019/11/05(火) 20:35:01.78 ID:5aM3HiNlM.net
- 変数がnullだったら
プログラムを停止させる
ようにするには
どうしたら良いのでしょうか?
- 208 :デフォルトの名無しさん :2019/11/06(水) 08:15:45.88 ID:OMUD4Mtcr.net
- >>207
if arg === null throw new TypeError
- 209 :デフォルトの名無しさん :2019/11/12(火) 15:38:30.38 ID:8eof7ZBb0.net
- ES6の導入後って、プレースホルダーを使わないただの文字列でも
とりあえず全部バッククォートで囲んでしまっていいのでしょうか……?
- 210 :デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119]):2019/12/08(日) 09:13:34 ID:Zz4LoxFtd.net
- forEachのループ順ってインデックスの順番と一致が保証されてますか?
- 211 :デフォルトの名無しさん (ブーイモ MM7a-F/t0 [49.239.68.141]):2019/12/08(日) 16:43:16 ID:I8sMvbYLM.net
- >>210
MDNくらいは見てから質問しようぜ
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
- 212 :デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119]):2019/12/09(月) 07:21:26 ID:OnUQvyFpd.net
- >>211
初期化されてない要素はスキップされるんですね
知りませんでした、有り難う御座います
- 213 :デフォルトの名無しさん (ワッチョイ 5a2c-+J45 [219.162.234.204]):2019/12/09(月) 17:09:29 ID:+FpDkG8n0.net
- JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のこのスレは、web制作管理板のスレが荒らされたときに、
緊急避難用として立てたもので、向こうの方が本当のスレです!
- 214 :デフォルトの名無しさん :2019/12/19(木) 12:42:06.08 ID:/4qn7A36r.net
- ずっと、Web制作板に誘導してる奴がいるが、俺はどちらに書いてくれても構わん
ID出てくれた方が安心感はある
- 215 :デフォルトの名無しさん :2020/02/15(土) 10:53:01.82 ID:TiEPdFSJ0.net
- 最近canvas(2d)を勉強している関係で、勉強がてら自分でライブラリを少しずつ作ろうと
思ったのですが、何を描画するにもコンテキストが必要ですよね
汎用的な描画関数を書く場合、必ず引数にコンテキストを与える必要がでてくるのですが
どの描画関数にも同じ引数を常に渡すのはかったるい…かといってグローバル変数に
コンテキストが定義されている前提でライブラリの関数を書きたくない…
といった場合、何かすっきり解決する方法はあるのでしょうか?
ライブラリをクラスにしてプロパティにコンテキストを持たせるくらいですかね
- 216 :214 (ワッチョイ ab5f-oFCC [106.73.72.193]):2020/02/17(月) 10:17:26 ID:Wzb8VqtA0.net
- 解決しました
やっぱクラスしかないですね
- 217 :デフォルトの名無しさん :2020/02/29(土) 06:47:52.40 ID:mVNyKwOHd.net
- forループ文で
for(var i=0; i<5; i+=0.1){}
これだとiが5を超える前でループを抜けますが
for(var i=0; i<5; i+=1>>2){}
このようにビットシフトを使うと無限ループになってしまうのは何故ですか?
お願いします
- 218 :デフォルトの名無しさん :2020/02/29(土) 06:50:31.88 ID:mVNyKwOHd.net
- 無限ループになってしまうのは何故ですか?
お願いします。
- 219 :デフォルトの名無しさん (スッップ Sd5a-TmTD [49.98.140.14]):2020/02/29(土) 11:53:15 ID:mVNyKwOHd.net
- 自己解決しました
何度0を足しても0ですよね
ビット演算とか分からん
- 220 :デフォルトの名無しさん :2020/02/29(土) 12:38:22.32 ID:M0mcpz9x0.net
- ビット演算って難しいですよね!!!
だれかビット演算のまとめお願いします!!!
ここで直書きで説明お願いします!!!
- 221 :デフォルトの名無しさん (ワッチョイ 8f02-Y96Y [114.16.82.189]):2020/03/01(日) 13:30:18 ID:SX/qa6HC0.net
- ブラウザ側JavaScriptで
簡単にsync化する方法ありますか?
オブジェクト指向化が難しすぎる。
非同期メソッドをクラス内で使った時に
this(このインスタンス的な意味で)を
参照するのが難しすぎます。
- 222 :デフォルトの名無しさん (ワッチョイ 3a2c-rVtL [219.162.234.204]):2020/03/01(日) 22:59:36 ID:NSpMdQYF0.net
- 非同期は、文脈(コンテキスト)が異なるから、
this とか、例外もキャッチできないだろ
非同期を同期的に書けるのは、async, await。
ちょっと前は、promise だった
JavaScript の質問は、この板ではなくて、web制作管理板の方へ書き込んでください!
この板のスレは以前、荒らしが出たときに、緊急避難用に立てたものだから
- 223 :デフォルトの名無しさん :2020/04/15(水) 05:54:30.29 ID:+ql6+04R0.net
- windowを新規オープンしてから、SetIntervalで60秒に一回関数を呼んで異なるURLに遷移させているのですが、どうも上手く動きません
Windows7 FireFox 7.5.0 64bit
メイン
winObject = window.open("about:blank", "_blank","");
winObject.location.href = "https://www,google.com/"; ← ここまでは動く
https://blog.hello-world.jp.net/javascript/3822/
こういう記事をみつけたんで、(iOS9じゃないけどだめもとで)インターバルで呼ぶ関数内の記述を
winObject.location.href = url;
から
setTimeout(function() { // 次のイベントループで処理
winObject.location.href = url;
}, 100);
にしてみたところ、chromeでは動くようになったもののFireFoxでは動かず
JavaScriptは初心者なもんで、こっちの記述が悪いのかどうかFireFoxが悪いのか判断できず
どうなんでしょう?
- 224 :デフォルトの名無しさん :2020/04/15(水) 07:07:58.29 ID:OHQRQza90.net
- ユーザインタラクション以外から触って効くんだっけ?
- 225 :デフォルトの名無しさん (ワッチョイ 5161-BqNS [60.39.11.193]):2020/04/15(水) 17:04:32 ID:RzJA8PqV0.net
- Firefox75以降のバグのような気はするけど同一オリジンでなくなった時点でlocation効かなくなるな
- 226 :デフォルトの名無しさん (ワッチョイ 9301-IHcq [221.88.230.3]):2020/04/16(木) 10:08:39 ID:s+KHkjW/0.net
- >>225
FireFoxなんですかね
FireFoxのちょっと前のバージョンだと、遷移部分をlocation.url=ではなくて毎回windows.openにしてても新規にウィンドウ開くことなく同じ
ウィンドウで新しいURLを開けてたんですよ。JavaScriptの仕様的にそれがおかしいから直したら、ついでにバグ入れちゃったのかなあ?
- 227 :デフォルトの名無しさん :2020/05/03(日) 21:36:56.65 ID:4npkj+7k0.net
- JavaScriptって関数のネスト地獄だと思うんですが、何かいい解決策ってあるんですか?(*´ω`)
os.cpus().forEach(cpuInfo => {
fs.appendFile(dataPath, `${cpuInfo.model}\n`, () => {
// ここに追加で色々処理を書くと、関数のネストがひどくて後々つらくなるのでは?
});
});
forEachとかappendFileを使わなくて書く方法は知ってるけど、今回はサンプルなのでわざと使ってるYo!
- 228 :デフォルトの名無しさん :2020/05/03(日) 21:45:02.73 ID:zP3ZF/rE0.net
- 引数に関数リテラルを書いてネストが深くなるのが嫌なら外で定義すればいい
- 229 :デフォルトの名無しさん :2020/05/04(月) 23:00:12.61 ID:CBUb3t9r0.net
- javascriptでandroidアプリ作れるって聞いたんだけど
仕組みはどうなってんの?
ブラウザでキャッシュにプログラム全部落として実行ってこと?
- 230 :デフォルトの名無しさん (オッペケ Sre5-uNVC [126.133.200.176]):2020/05/04(月) 23:04:22 ID:8w+RiBVnr.net
- >>229
javascript android 仕組みでぐぐれば出てくるけど、どうなってんの?
なんにも調べてないの?
- 231 :デフォルトの名無しさん (ワッチョイ ab61-A5SY [49.253.78.66]):2020/05/04(月) 23:24:39 ID:CBUb3t9r0.net
- >>230
そんなことを書くためだけにレスしたの?アホなの?
- 232 :デフォルトの名無しさん (ワッチョイ 2901-uNVC [126.163.163.60]):2020/05/04(月) 23:51:06 ID:Y30cj42h0.net
- >>231
君がアホということは皆分かってるから、そう喚くなよ
- 233 :デフォルトの名無しさん (ワッチョイ 0b2c-aEdY [153.194.236.234]):2020/05/05(火) 02:27:53 ID:rwJ86+M00.net
- この板のJavaScript のスレは、荒らし対策で緊急避難用に作られたもの。
web 制作管理板のスレへ書き込んだ方がよい
こちらには、荒らししかいない
荒らしは必ず、2回書き込む。
自分のレスに、リンクを付けて「そうだよな」みたいに自演する
多くの人が言ってるように見せかける。
午前、3時とかでも、同時に2つのレスを書くw
- 234 :デフォルトの名無しさん (オッペケ Sre5-+JgD [126.133.200.176]):2020/05/05(火) 10:47:47 ID:Y/up7PlTr.net
- >>233
独自ルールで自演認定乙
お前が>>229の可能性も否定出来ないが
- 235 :デフォルトの名無しさん (ワッチョイ 129f-Vijk [133.203.132.132]):2020/05/08(金) 08:57:30 ID:dckQgcH50.net
- もう一個のスレはガイジがレスバトルしてて答えは返ってこないしこのスレは自治ガイジが暴れてるしこんなとこで質問しない方がいいが
- 236 :デフォルトの名無しさん (ワッチョイ d361-INBt [218.231.250.166]):2020/06/03(水) 19:07:48 ID:jt2kVIBa0.net
- javascriptで、1秒毎にGPSの位置情報を表示したいのですが、毎回、アクセス権確認が出てしまいます。
アクセス許可の確認ボックスが表示されるのを、最初の一回だけに出来ないでしょうか?
var timer;
timer = setInterval(test,1000);
function test() {
navigator.geolocation.getCurrentPosition(test2);
}
function test2(position) {
var geo_text = "緯度:" + position.coords.latitude + "\n";
geo_text += "経度:" + position.coords.longitude + "\n";
var date = new Date(position.timestamp);
geo_text += "取得時刻:" + date.toLocaleString() + "\n";
var a = document.getElementById("AAA");
a.innerHTML = geo_text;
}
- 237 :235 :2020/06/03(水) 19:40:21.72 ID:jt2kVIBa0.net
- watchPositionで
自己解決しました
が
バックグラウンド等々でも動作を継続させるのはどうしたら良いのでしょうか?
- 238 :デフォルトの名無しさん :2020/06/10(水) 03:27:21.19 ID:nXyeYMB9d.net
- 正規表現の質問です
2020/6/10
2020-6-10
2020.6.10
これをstringオブジェクトのsplitメソッドを使い日付の区切り部分で、"/"、"-"、"."のいずれの文字でも分割できるように
var reg=/\/|\-|\./gi;
console.log(2020/6/10.split(reg));
として
length(3) ["2020” , “6” , “20”]
期待通りの結果が出たのですが
var reg=/\/|\-|\./gi;←この部分を
var reg=/(\/|\-|\.)/gi;このようにグループ化したところ
length(5) ["2020” , “/” , “6” , “/“ , “20”]
上と違う結果になってしまったのですが、どういう理屈でこういう結果になったのか教えてくださいm(__)m
正規表現の
a|b|cはaかbかcのいずれかで、[a-c]これと同じ意味ですよね?
- 239 :デフォルトの名無しさん :2020/06/10(水) 04:08:41.09 ID:+QBvSnI00.net
- >>238
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
separator が、キャプチャする括弧を含む正規表現だった場合、 separator が一致するごとに、キャプチャする括弧の結果が (未定義の結果であった場合を含め) 出力配列に追加されます。
グループ化だけしたいなら(?:〜〜)で囲め
- 240 :デフォルトの名無しさん (スプッッ Sd1f-Zi0f [1.75.211.253]):2020/06/10(水) 05:49:33 ID:nXyeYMB9d.net
- >>239
ありがとうございます。
括弧を含んだ正規表現の場合〜と解説してる文献があるんですね^_^;
こういうの自分で探せないわ…
何故そうなるのかはほとんど正規表現の知識がないので分かりませんが、とりあえず括弧で括った場合にはそういう挙動になるということは分かりました。
ありがとうございます
- 241 :デフォルトの名無しさん :2020/06/15(月) 20:45:26.99 ID:1F3a2yyn0.net
- https://github.com/mdn/webextensions-examples/tree/master/borderify
githubでダウンロードするにはどうしたらいいんでしょうか
ダウンロードボタンがないです
- 242 :デフォルトの名無しさん :2020/06/15(月) 21:10:05.21 ID:JS6xK7rfH.net
- マルチポストはやめましょう
- 243 :デフォルトの名無しさん :2020/06/15(月) 21:13:50.22 ID:1F3a2yyn0.net
- スレを間違えただけです
- 244 :デフォルトの名無しさん :2020/06/15(月) 21:41:15.07 ID:7MR1R7860.net
- >>243
指摘されるまで質問を撤回しなかった理由は?
- 245 :デフォルトの名無しさん :2020/06/15(月) 23:53:35.57 ID:6c4s/wK/0.net
- JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用として立てられたもので、現在は使われていない!
- 246 :デフォルトの名無しさん :2020/07/05(日) 23:47:37.29 ID:S84HRZFZM.net
- javascript初心者で右も左もよくわからないんだけどconsole.log();ってみなさんchromeなら検証からやって
- 247 :デフォルトの名無しさん (ワッチョイ 0101-INtO [126.140.245.39]):2020/07/06(月) 05:50:27 ID:JmzGvw7e0.net
- >>246
2行目がイミフなんだが、
DevelopperToolsを閉じてみなさんスルーしてやって
- 248 :デフォルトの名無しさん :2020/07/06(月) 14:11:59.36 ID:YRhjpfSA0.net
- >>247
やっていますか? でした
- 249 :デフォルトの名無しさん :2020/07/06(月) 14:50:26.97 ID:L/pk2yTgr.net
- >>248
それでも、エスパー案件
「右クリックメニューの[検証]からコンソールパネルを開いてますか?」
と質問してるのか?
---
ショートカットキーを覚えろ
https://developers.google.com/web/tools/chrome-devtools/shortcuts
そして、正しい日本語で質問することも覚えろ
- 250 :デフォルトの名無しさん :2020/07/06(月) 15:11:39.18 ID:AsDEr6ShM.net
- >>249
そうです
理解があいまいで正しく伝達できませんでした
- 251 :デフォルトの名無しさん (ワッチョイ 0101-INtO [126.140.244.253]):2020/07/06(月) 20:10:50 ID:FMGmKD1v0.net
- >>250
PCの基本が載ってる本を買って勉強した方がいい
- 252 :デフォルトの名無しさん :2020/07/07(火) 00:22:17.39 ID:wqab1oePa.net
- すみません、自作JavaScriptをブラウザで見ようとしてブラウザが反応しなくなった時に
止める方法はありますですか?
ctl+alt+del押してタスクマネージャーから落とす以外に無いかですか?
- 253 :デフォルトの名無しさん (ワッチョイ 8d4e-yZ94 [210.138.216.243]):2020/07/07(火) 04:38:45 ID:7NRV/JzE0.net
- いくらでもあるのでは?
ハンマーでPCごと叩き壊すとか
- 254 :デフォルトの名無しさん :2020/07/07(火) 08:04:49.16 ID:ZqIgROior.net
- >>252
Chrome駕止めるか聞いてきたら、止める
- 255 :デフォルトの名無しさん :2020/08/13(木) 21:43:17.29 ID:cLv1fX6M0.net
- こういう配列があったとして
const hoge = [
{name: "taro", age: 15, group: "A"},
{name: "hanako", age: 25, group: "B"},
]
最終的にこんな感じにしたい(ageだけ2倍に)
const hoge = [
{name: "taro", age: 30, group: "A"},
{name: "hanako", age: 50, group: "B"},
]
mapを使えばいいと思ったんですが、書き方が分かりませんでした…
(元のオブジェクトを展開して、ageだけ2倍するみたいなことが出来ると思った)
const newHoge = hoge.map(h => {...h, age: h.age * 2})
- 256 :デフォルトの名無しさん :2020/08/13(木) 21:55:53.88 ID:PyxE/Q5zM.net
- >>255
=> {}って書くとアロー関数のパースが変わるので、()で囲むと良い
const newHoge = hoge.map(h => ({...h, age: h.age * 2}))
- 257 :デフォルトの名無しさん :2020/08/13(木) 21:59:50.51 ID:cLv1fX6M0.net
- >>256
できましたーーーーー(泣)(1時間かかった)
ありがとうございました
- 258 :デフォルトの名無しさん :2020/08/17(月) 12:12:35.63 ID:Ew8mgsp/0.net
- てs
- 259 :デフォルトの名無しさん :2020/08/18(火) 19:36:32.49 ID:65jirDTbd.net
- これを
const hoge = "【aaa】bbb【ccc】【ddddd】eee【fff】gggg";
最終的にこういう配列にしたいんですが
const newHoge = hogeFunc(hoge);
console.log(newHoge)
["【aaa】",
"bbb",
"【ccc】",
"【ddddd】",
"eee",
"【fff】"]
indexOfで【】の位置特定して、sliceして、みたいなごり押し以外で何かスマートに処理する方法あるでしょうか?
lodash的な便利ライブラリを使用する方法とかでも構わないので知りたいです
- 260 :デフォルトの名無しさん :2020/08/19(水) 03:50:29.18 ID:5OSwc30i0.net
- >>259
hoge.split(/(【[^】]*】)/).filter(Boolean)
- 261 :デフォルトの名無しさん :2020/08/19(水) 03:58:30.68 ID:5OSwc30i0.net
- ggggが要らなければ要素数が3の倍数になるように配列を切り詰めて
- 262 :デフォルトの名無しさん :2020/08/19(水) 08:10:31.51 ID:VKqi5gMNr.net
- >>259
hoge.match(/【[^】]*】|[^【】]+/)
- 263 :261 (オッペケ Srb1-P3ox [126.179.253.120]):2020/08/19(水) 08:16:32 ID:VKqi5gMNr.net
- >>259
hoge.match(/【[^】]*】|[^【】]+/g); // gフラグ付け漏れ修正
- 264 :デフォルトの名無しさん (ワッチョイ dd5f-N59K [106.72.170.129]):2020/08/20(木) 11:15:49 ID:N3Xth98n0.net
- >>260
>>262
ありがとうございました
正規表現ってぱっと見何やってるか分からなくて嫌いでしたが便利ですね
- 265 :デフォルトの名無しさん :2020/09/14(月) 13:19:22.86 ID:tp+/+C8Z0.net
- この方法だとSJISの機種依存文字(崎の大じゃなくて立の文字)が文字化けしないんですが
reader.readAsText(file, "shift-jis");
ここのサンプル通りに
http://polygonplanet.github.io/encoding.js/tests/detect-file-encoding.html
reader.readAsArrayBuffer(file);
var unicodeString = Encoding.convert(codes, {to: 'unicode', from: 'SJIS',type: 'string'});
としても機種依存文字が化けてしまいます
そういうもんでしょうか?
- 266 :デフォルトの名無しさん :2020/09/14(月) 15:14:02.04 ID:zNKtsudb0.net
- Encoding.jsはブラウザが持ってる変換ではなく自前の変換テーブル使ってやってるのでそういうもんなんだろうけど
IBMのFAB1はUNKNOWN、NECのED95からは変換できるので必要ならgithubで要望出してみれば?
- 267 :デフォルトの名無しさん :2020/09/14(月) 16:05:43.73 ID:tp+/+C8Z0.net
- >>266
そういうもんでしたか
UTF-8からSJISは問題なく変換できるので
なにか間違ってるのかと思いました
ありがとうございました
- 268 :デフォルトの名無しさん :2020/09/17(木) 20:09:46.76 ID:QWldExKKr.net
- 下記のコードでクリックした要素のidを取得したいのですが、取得できません。
$("li").on('click', function(e){
let k = $(this).attr('id');
});
取得する要素はjavascriptで動的にデータベースから値をとってきて表示しているのですが、
ページリロードした際にある要素しか上記のコードは有効でない、など、何か動かない条件などがあるのでしょうか。
よろしくお願いいたします。
- 269 :デフォルトの名無しさん :2020/09/17(木) 20:20:53.83 ID:fy5bwxWur.net
- 取得できないとは具体的にどういう状況を指すのか説明orコードが足らん
あとletで宣言したら外で使えないけどそれで良いの?
- 270 :デフォルトの名無しさん :2020/09/17(木) 20:27:23.84 ID:NHfa1bvj0.net
- li が1つだけなら、取得できた。
2つ以上あったら、知らないけど
<ul>
<li id="abc">リスト 1</li>
</ul>
$( "li" ).on( 'click', function( e ) {
let k = $( this ).attr( 'id' );
console.log( k )
} );
Javascript, jQuery の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出たときに、一時的に使っていたものなので
- 271 :269 :2020/09/17(木) 20:30:39.20 ID:NHfa1bvj0.net
- li が2つ以上あっても、クリックしたものが取得された
正常に動く
- 272 :デフォルトの名無しさん :2020/09/17(木) 20:36:46.60 ID:gD3Eguk90.net
- 動的に追加された要素に対して適用できてないとかそんなオチだろ
- 273 :デフォルトの名無しさん :2020/09/18(金) 09:35:45.84 ID:WV/PPbI+H.net
- 取得できそうなもんだけどなぁ
エスパー過ぎてわからん
- 274 :デフォルトの名無しさん :2020/10/01(木) 18:40:48.93 ID:3EMbehP20.net
- enchant.jsでゲームを作り
自分のレンタルwebサーバにUPしたら
ブラウザで「NET::ERR_CERT_AUTHORITY_INVALID」のエラーが出て
他の誰にもゲームを見てもらえません。
なにがどうなっているのでしょうか?
- 275 :デフォルトの名無しさん :2020/10/01(木) 18:58:58.89 ID:by80Zctlr.net
- 明らかにサーバー(SSL証明書エラー)の問題
此処で情報を詳しく出しても良いけど
当該レンサバのスレで質問する方が近道だと思う
- 276 :デフォルトの名無しさん :2020/10/01(木) 19:08:37.71 ID:3EMbehP20.net
- >>275
XSERVERでございます
- 277 :デフォルトの名無しさん :2020/10/01(木) 19:09:26.51 ID:3EMbehP20.net
- SSLとか証明書とか意味がさっぱりわからないのですが
なにがどうなっているのでしょうか?
- 278 :デフォルトの名無しさん :2020/10/01(木) 19:12:56.72 ID:fSnOANSlM.net
- Cloudflareでも通しとけ
- 279 :デフォルトの名無しさん :2020/10/01(木) 19:21:47.87 ID:3EMbehP20.net
- Cloudflareとは何じゃ
良い子はそんなの使ってません。
- 280 :デフォルトの名無しさん :2020/10/01(木) 20:39:45.05 ID:by80Zctlr.net
- >>277
SSLが分かんないのにURLがhttpsになってたら設定見直せとしか
「独自SSL」とかその辺見たらいいんじゃない
いずれにせよJS関係無いので向こうで聞いてみたら
XSERVER エックスサーバー Part6
https://mevius.5ch.net/test/read.cgi/hosting/1568069691/
- 281 :デフォルトの名無しさん :2020/10/01(木) 22:31:33.76 ID:theiHz1p0.net
- AWS のS3 とか、知らんのか?w
HTTPS, SSL の証明書とか、システム構築運用の初歩の初歩だがw
無料の証明書、let's encrypt とか
- 282 :デフォルトの名無しさん :2020/10/03(土) 14:18:04.93 ID:l4QjehZB0.net
- https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14232251614?sort=1&page=2
abiko tetuってやつヤバすぎ
- 283 :デフォルトの名無しさん :2020/10/14(水) 10:58:53.79 ID:asjsDRkW0.net
- sort関数に追加の引数を渡すことってできますか?
array.sort(mySort())に引数を与えて条件によって処理を変えたいのですが。
普通にmySort()に引数を入れるとソートで使われる引数に値が入ってしまってダメでした。
- 284 :デフォルトの名無しさん :2020/10/14(水) 11:29:33.74 ID:B+LQat5m0.net
- function mySort(value) {
if(value===1) {
return (a, b) => a-b
} else if (value===2) {
return (a, b) => b-a
}
}
array.sort(mySort(1)) // 昇順
array.sort(mySort(2)) // 降順
- 285 :282 :2020/10/14(水) 11:48:53.44 ID:asjsDRkW0.net
- ありがとうございます。
新しいjsでは大丈夫でしたが、ES3という超古いバージョンなのです。
書き忘れていました。後出しで申し訳ありません。
(アドビのソフトで使われているjsです)
- 286 :デフォルトの名無しさん :2020/10/14(水) 12:41:33.59 ID:p6YQijR2r.net
- >>285
bindみたいな引数束縛する関数を作る
- 287 :デフォルトの名無しさん :2020/10/14(水) 12:44:22.07 ID:p6YQijR2r.net
- >>285
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/15-4_Array_Objects.html#section-15.4.4.11
- 288 :282 :2020/10/14(水) 13:05:25.23 ID:asjsDRkW0.net
- >>286
ちょっと自分のスキルでは難しそうです。
- 289 :デフォルトの名無しさん :2020/10/14(水) 13:40:46.13 ID:z5Uy/Vd30.net
- Function.prototype.bind()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
bind this か?
- 290 :デフォルトの名無しさん :2020/10/14(水) 13:53:20.67 ID:z5/Y8RhDr.net
- ソート関数なんて自前で作ればいい
- 291 :デフォルトの名無しさん :2020/10/14(水) 13:58:43.04 ID:bGR5EKGW0.net
- ES3だと
return (a, b) => a-b
↓
return function(a, b) { return a - b; };
じゃね?
だいたいsortと比較関数でクロージャにしちゃって引数でなくローカル変数でやっちゃうよね
- 292 :282 :2020/10/14(水) 14:10:27.29 ID:asjsDRkW0.net
- returnの挙動はともかく、
mySort(value)自体がES3だとできないのです。(aにvalueが入ってしまう)
とりあえず今はグローバル変数で対応していますが、
引数でやる方法がないのかと思いまして。
- 293 :デフォルトの名無しさん :2020/10/14(水) 16:00:56.30 ID:zqMcknRo0.net
- 比較関数はどうやって指定しているんですか?
- 294 :デフォルトの名無しさん :2020/10/14(水) 17:00:41.74 ID:Tfis7AoIM.net
- >>292
ES3でもできるよ
できないと思ってるコードを書いてくれれば原因わかる
- 295 :282 :2020/10/14(水) 17:08:39.53 ID:asjsDRkW0.net
- >>294
今やってることは大雑把には以下の通りで、
mySortにa,b以外の値cを渡してそれを元に処理を追加したいのですが
cの渡し方がわかりません。
var ary=[10,12,53,41,5,6,];
ary.sort(mySort);
function mySort(a,b){
return a-b;
}
- 296 :デフォルトの名無しさん :2020/10/14(水) 17:20:07.02 ID:Azmo5ss/0.net
- var ary=[10,12,53,41,5,6,];
ary.sort(mySort(-1));
function mySort(c){
return function(a,b){
return c<0 ? a-b : b-a;
};
}
- 297 :282 :2020/10/14(水) 17:28:28.99 ID:asjsDRkW0.net
- ありがとうございます。まさに希望どおりです。
こんな書き方もできるんですね。
- 298 :デフォルトの名無しさん :2020/10/14(水) 18:41:11.04 ID:Azmo5ss/0.net
- 高階関数やクロージャについて調べてみると理解進むよ。
ちなみに今でも全然通用する概念。
- 299 :デフォルトの名無しさん :2020/10/24(土) 02:35:59.30 ID:gS1xqNx8M.net
- 質問させてください。
nodejsで line botを作っていて応答文字に改行を入れたいのですが
ダブルクォートで囲った中に”\n”で改行するという仕様のようなのです。
例
return client.replyMessage(ev.replyToken, {
type: "text",
text: “あああ\nいいい”
});
しかし今作っているbotは文字列を変数に格納しており
const aaa = スクレイピングで拾ってきた文字列
const bbb = スクレイピングで拾ってきた文字列
const ccc = aaa + “\n” + bob
return client.replyMessage(ev.replyToken, {
type: "text",
text: ccc
});
では改行されませんでした。
text: `${ccc}` でもダメでした。
\nがそのまま表示されてしまいます。
ダブルクオートで囲い直す方法ってございませんでしょうか?
よろしくお願い致します。
- 300 :デフォルトの名無しさん :2020/10/24(土) 11:37:48.17 ID:4WVjWXseM.net
- >>299
wrap: true
- 301 :デフォルトの名無しさん :2020/10/24(土) 12:36:00.80 ID:gS1xqNx8M.net
- >>300
ありがとうございます。
しかしダメでした、、
やっぱり \n がそのまま表示されてしまいます。
- 302 :デフォルトの名無しさん :2020/10/24(土) 13:25:10.82 ID:gS1xqNx8M.net
- すみません。自己解決しました。
\ではなくバックスラッシュでした。
ありがとうございました。
- 303 :デフォルトの名無しさん :2020/10/24(土) 21:42:06.09 ID:6VJCwZcaM.net
- そもそも文字列はシングルクオートで囲う癖つけとくと便利だと思う
テンプレート文字列にするのもいいけど
- 304 :デフォルトの名無しさん:2020/11/04(水) 19:02:40.51 ID:M+x6liG8u
- 期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
工場勤務、30代フリーターが「ブログ」で200万稼げた理由! ◯◯があったから?
https://www.youtube.com/watch?v=Cjmk4XusQVM
ブログで月200万稼ぐ、フリーランスの1日
https://www.youtube.com/watch?v=jaV2GyBgNX4
ブログ収益を報告します【ネタバレ:1,000万円でした】
https://www.youtube.com/watch?v=GIa9OZ2CIPU
【完全初心者向け】ブログの始め方【徹底解説の動画セミナー/保存版】
https://www.youtube.com/watch?v=dyHk5l-GxH8
【悪用厳禁】ブログをパクる際のコツを解説【2つの手順です】
https://www.youtube.com/watch?v=UOK1PXndP9U&t=3s
プログラミングとブログで、どちらが稼げますか【裏ワザを紹介する】
https://www.youtube.com/watch?v=NVzTKTuYyAM
- 305 :デフォルトの名無しさん :2020/11/08(日) 22:08:22.01 ID:EfB5Dlnya.net
- requirejsやってるんだけどシェルのexportコマンド的なの無いの?
- 306 :デフォルトの名無しさん:2020/11/24(火) 13:11:50.94 ID:FWk6XcjL.net
- function hoge(){} //引数なし
hoge(a=11,b=33)
名前付き引数を可変的に追加できて
関数hoge側でkey(aとb)名も受け取れるようにしたいんだけど無理?
argumentsはkey名は無視されたし
hoge({a=1,b=3})で関数内でfor key in objみたいにするしかないのかな
- 307 :デフォルトの名無しさん :2020/11/24(火) 14:02:04.95 ID:cyXA9vgjM.net
- function foo(a, b, ...rest)
- 308 :デフォルトの名無しさん:2020/11/25(水) 01:19:47.68 ID:UPK+j49C.net
- >>307
無理でした
- 309 :デフォルトの名無しさん :2020/11/25(水) 16:04:16.70 ID:zD7zhP2P0.net
- いまいち何がしたいのかよくわかんないけど
function hoge(o = {}){
console.log(Object.keys(o))
}
hoge({a: 1, b: 3})
//=> ["a", "b"]
- 310 :デフォルトの名無しさん:2020/11/25(水) 16:45:55.85 ID:UPK+j49C.net
- >>309
端的にいうと
引数は
hoge(x=1,y=2,a="ho",b="ge")
hoge(z=2,x="abc")
みたいに指定できて
{x:1,y:2,a:"ho",b:"ge"}や{z:2,x:"abc"}
みたいに関数で受け取りたい
(もちろんx,yやa,b,cみたいなkey名はこれに限らず)
- 311 :デフォルトの名無しさん :2020/11/25(水) 17:12:47.42 ID:ulXBn3sm0.net
- JSにそういう記法はないので無理
Pythonを使え
- 312 :デフォルトの名無しさん :2020/11/25(水) 17:15:26.00 ID:zD7zhP2P0.net
- えっ…じゃあこうだけど??
function hoge(o = {}){
console.log(o)
}
hoge({x: 1, y: 2, a: "ho", b: "ge"})
//=> {x: 1, y: 2, a: "ho", b: "ge"}
- 313 :デフォルトの名無しさん:2020/11/25(水) 17:52:06.24 ID:UPK+j49C.net
- >>311
なるほど
他の言語だとこういう書き方があったのでもしかしたらJSにもあるのかなとおもったのですがないのですね
ありやした
>>312
それはもちろん
しかしそれだとそもそも{}表記なんで
- 314 :デフォルトの名無しさん :2020/11/25(水) 19:21:16.56 ID:zD7zhP2P0.net
- >>313
あーそうゆうことね。
()呼び出しでなくタグ付きテンプレート呼び出し、
eval使っていいなら、
function hoge(s) {
let o={},p=new Proxy(o,{set:(o,p,v)=>(o[p]=v,!0),has:()=>!0});
eval(`with(p){${s[0]}}`)
console.log(o);
}
hoge`x=1,y=2,a="ho",b="ge"`
//=> {x: 1, y: 2, a: "ho", b: "ge"}
- 315 :デフォルトの名無しさん :2020/11/25(水) 19:29:03.94 ID:zD7zhP2P0.net
- hoge`
x = 1,
y = 2,
a = "ho",
b = "ge",
z = x + y,
c = a + b
`
//=> {x: 1, y: 2, a: "ho", b: "ge", z: 3, c: "hoge"}
- 316 :デフォルトの名無しさん:2020/11/25(水) 19:36:00.93 ID:UPK+j49C.net
- >>314,315
なるほど
そんな書き方もできるんですね
ありがとうございます
- 317 :デフォルトの名無しさん :2020/11/25(水) 21:38:45.31 ID:3CNxpkun0.net
- const hoge = [{id:"xxx",
num:5000},
{id:"yyy",
num:2000},
{id:"zzz",
num:9000},]
こういう配列でnumが一番大きいobjectを取得するシンプルな方法ってありますか?
思いついたのは
const foo = hoge.find((i)=>{
return i.num === Math.max(...hoge.map((v) =>{
return v.num
}))
})
なんですけどこれだけの処理に二重でループ回すのはナンセンスな気がしてしまって・・・
- 318 :デフォルトの名無しさん :2020/11/25(水) 21:48:23.27 ID:UiakocYp0.net
- >>317
sortかfotEachしたら?
- 319 :デフォルトの名無しさん :2020/11/25(水) 22:03:22.81 ID:UiakocYp0.net
- >>317
あるいはreduceか
forとかfor-ofで書けるようになった方がいいとは思うけどね
- 320 :デフォルトの名無しさん :2020/11/25(水) 22:12:00.77 ID:3CNxpkun0.net
- 自分で書いといてなんなんですが>>317のnumは存在しない場合もありました
>>318,319
sortはアリかなと思いました
他のメソッドはパっと思いつく感じ最初の関数と似たようなものしか思いつきませんでした・・・
- 321 :デフォルトの名無しさん :2020/11/25(水) 22:14:27.47 ID:zD7zhP2P0.net
- const foo = hoge.sort((a, b) => a.num - b.num).pop()
とか
const foo = hoge.sort((a, b) => b.num - a.num)[0]
とか。
しかし両者ともhogeを書き換えてしまうので、
const foo = [...hoge].sort((a, b) => a.num - b.num).pop()
とか
const foo = [...hoge].sort((a, b) => b.num - a.num)[0]
のほうが望みのものかもね。
あとは
const foo = hoge.reduce((acc, r) => r.num > acc.num ? r : acc)
とか。
- 322 :デフォルトの名無しさん :2020/11/25(水) 22:26:19.76 ID:iWjekW4fM.net
- sortしなくていいケースでsortするのは無駄
reduceかfor-ofで
- 323 :デフォルトの名無しさん :2020/11/25(水) 22:29:12.37 ID:zD7zhP2P0.net
- >>320
> numは存在しない場合もありました
このような後出し要件の場合は、安全なアクセス関数を追加で用意して差し込むのが簡単。
例えば、
const getNumSafe = ({num = -Infinity}) => num
const foo = hoge.reduce((acc, r) => getNumSafe(r) > getNumSafe(acc) ? r : acc)
のように。
- 324 :デフォルトの名無しさん :2020/11/25(水) 22:30:06.01 ID:drNJreauM.net
- ライブラリ可ならlodashのmaxBy
- 325 :デフォルトの名無しさん :2020/11/25(水) 22:50:57.62 ID:3CNxpkun0.net
- >>321-324
ありがとうございます
参考に自分のパターンに合うものを書いてみたいと思います
- 326 :デフォルトの名無しさん :2020/11/27(金) 01:16:52.95 ID:lOUpIwv20.net
- Lodash は多くのライブラリも使っているから、使うべき!
プロジェクトのライブラリの依存関係を検索すると、
多くのライブラリが、Lodash に依存してる
- 327 :デフォルトの名無しさん :2020/11/27(金) 03:15:11.50 ID:W+zDVYCR0.net
- Netflixはlodash切って素のJSで書き直したけどな。
- 328 :デフォルトの名無しさん :2020/11/27(金) 12:17:00.93 ID:Syvn71JBr.net
- ライブラリが必要な程、複雑な処理ではない気がするけどな
hoge.reduce((max, current) => max < current.num ? cutrent.num : max, -Infinity);
- 329 :デフォルトの名無しさん :2020/11/27(金) 18:55:39.16 ID:gUqD3P5er.net
- 使うモジュールだけにしときな
- 330 :デフォルトの名無しさん :2020/11/30(月) 16:28:41.73 ID:gpUfY6cE0.net
- 動的型付け言語って本当にわかりづらい
javascriptでオブジェクト指向的なプログラムを組もうと思って
簡単な本でjavascriptを勉強してるんだけど
interfaceないのにどうやってオブジェクト指向的な開発してるんですか?
typescriptしたほうがいいんだろうか?
- 331 :デフォルトの名無しさん :2020/11/30(月) 16:37:41.46 ID:0Mqgtux2r.net
- >>330
してください
- 332 :デフォルトの名無しさん :2020/11/30(月) 19:07:05.83 ID:CqWD2gHur.net
- >>330
class使って下さい
- 333 :デフォルトの名無しさん :2020/11/30(月) 19:08:03.35 ID:1U/wXaEH0.net
- >>332
インターフェイスやabstracut使わずにどうやれと
- 334 :デフォルトの名無しさん :2020/11/30(月) 19:19:23.06 ID:CqWD2gHur.net
- >>333
あるもので何とかする気のない人にどう答えろと
- 335 :デフォルトの名無しさん :2020/11/30(月) 21:04:19.76 ID:1U/wXaEH0.net
- javascriptでオブジェクト指向開発は、今のところは無理ってことですかね?
- 336 :デフォルトの名無しさん :2020/11/30(月) 21:19:10.37 ID:4TqWiQB+0.net
- >>335
君にとってはそうだな
- 337 :デフォルトの名無しさん :2020/11/30(月) 21:50:12.17 ID:owcTZSsV0.net
- バカは何使おうが無理
- 338 :デフォルトの名無しさん :2020/11/30(月) 23:43:04.66 ID:TJ10WaD1a.net
- 独学におすすめの本はありますか?
プログラム自体はphpの基礎ができる程度です
- 339 :デフォルトの名無しさん :2020/12/01(火) 06:15:24.88 ID:Zg5lb2px0.net
- >>336
あなたには出来ると言いたげですね
- 340 :デフォルトの名無しさん :2020/12/01(火) 08:10:06.86 ID:RQP4Xz+Pr.net
- >>338
『JavaScript for impatient programmers』
- 341 :デフォルトの名無しさん :2020/12/01(火) 10:44:14.97 ID:L1BkVMXS0.net
- javascriptって面白い挙動するんだね
class s{
constructor(){
this.s1="s1";
let .s2="s2";
alert(); }// ---@
alert(){window.alert();}} //---A
new s();
-------------------
@を
alert(s1) ×
alert(this.s1) 〇
alert(s2) 〇
alert(this.s2) ×
と、Aで引数を受け取らなくてもalertで値が表示される
@alert(s2)とし
Aalert(){window.alert(this.s1):}
とすると、s2がalertされるし
@alert()とし
Aalert(){window.alert(this.s1):}
とするとalertには何も表示されない
とても不可思議な挙動
- 342 :デフォルトの名無しさん :2020/12/01(火) 11:40:52.32 ID:bVbF5nud0.net
- >>341
(1)で(2)を呼びたいならthis.alert()でないとだめ
ブラウザ上ではwindow.は省略可能なので(1)のalertはwindow.alertその物
スクリプト系の言語ではc++やc#等とは違ってthis相当の物を省略できないのが多い
- 343 :デフォルトの名無しさん :2020/12/01(火) 12:07:45.77 ID:WP+WGTcn0.net
- >>338
プロ向きなら、サイの表紙の2冊のサイ本
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan
ただし、これらは、Google などの開発者が読む、プロ向きの本。
最低でも、Ruby は出来ないと、難しすぎて読めないと思う
JavaScript は、言語仕様が肥大化してる。
Rubyみたいに、簡単には学べないから、適当にお茶を濁した方がよい。
キリがない
- 344 :デフォルトの名無しさん :2020/12/01(火) 13:31:02.54 ID:53WLqSe7r.net
- >>343
> ただし、これらは、Google などの開発者が読む、プロ向きの本。
さすがにこれは嘘
Ruby知らない俺でも読めた
ES2020などの最新仕様に対応した和書がないのは認める
日本語に拘らなければある(>>340)し、概ね日本人著者よりも英語圏の著者が優秀
- 345 :デフォルトの名無しさん :2020/12/01(火) 19:23:33.17 ID:Zg5lb2px0.net
- >>342
勉強になります、ありがと先生!
- 346 :333 :2020/12/02(水) 10:31:40.93 ID:B0C6cOGW0.net
- javascriptの挙動を確認したいので
本体が何処にあるか調べてるのですが不明です
javascript本体はどこにあるのでしょうか?
- 347 :デフォルトの名無しさん :2020/12/02(水) 13:01:48.46 ID:PzRtqWYIr.net
- >>346
本体の定義は何?
- 348 :デフォルトの名無しさん :2020/12/02(水) 13:44:59.62 ID:vDg6xkSY0.net
- Node.js なら、コマンドプロンプトで、
where node
と入力すると、
C:\Program Files\nodejs\node.exe
- 349 :デフォルトの名無しさん :2020/12/02(水) 14:00:48.75 ID:s/Tj40p50.net
- 「javascript本体はどこにあるのか」か。
ちょっと哲学的な問いだな。
俺としては、「Ecma International にある」説を推したい。
しかし物理的実体があるわけではないので Ecma International 本部があるジュネーヴにはない。
- 350 :デフォルトの名無しさん :2020/12/02(水) 17:09:47.94 ID:ll4y5RKs0.net
- ブラウザに組み込まれてるのでは?(クソザコ素人)
- 351 :デフォルトの名無しさん :2020/12/02(水) 18:10:51.81 ID:PzRtqWYIr.net
- >>346は>>330,341と同じ人なので深い答えは期待出来ないかと
- 352 :デフォルトの名無しさん :2020/12/02(水) 18:15:26.80 ID:kLO/ox290.net
- 単純にコードはどうやって見られますかって話では。
- 353 :デフォルトの名無しさん :2020/12/04(金) 08:30:08.52 ID:0LJPp7yer.net
- 質問は放置されたか
- 354 :デフォルトの名無しさん :2020/12/04(金) 15:48:35.50 ID:Q52RE+DV0.net
- 書き込み不可でした
質問の仕方が悪くてすみません
javascriptが関数などをどう処理してるのかを知りたくて
javascriptのソースファイルを見たいなって思ってました
googleのchromeファイルを見てたんですけどちょっと分からなくて質問してみました
実際にはバイナリなりで読めない状態なのかもしれませんけど
所在だけでもしっておきたいなと
- 355 :デフォルトの名無しさん :2020/12/04(金) 16:14:05.08 ID:2+VKdPy10.net
- >>354
そういう説明が欲しかった。
chromeのJavaScript実行エンジンはV8だから、V8のソース読めばおk。
以下に手順が説明されているよ。
https://v8.dev/docs/source-code
- 356 :デフォルトの名無しさん :2020/12/04(金) 17:56:05.68 ID:Q52RE+DV0.net
- >>355
ありがとうございます!
時間のあるときに落として読んでみます
本当にありがとうございました!
- 357 :デフォルトの名無しさん :2020/12/04(金) 18:35:57.72 ID:mOVEEZtP0.net
- function(5, 10){
この5や10を別の数字や文字に変更することは出来ますか?
- 358 :デフォルトの名無しさん :2020/12/04(金) 19:13:20.61 ID:0LJPp7yer.net
- >>357
そもそも、仮引数に数値は指定出来ないと思うのだが…
要件が成立しない
- 359 :デフォルトの名無しさん :2020/12/04(金) 19:23:39.37 ID:UxB6Tf8eM.net
- 関数に引数で渡された変数の中身じゃなくて変数の名前って取得できますか?
- 360 :デフォルトの名無しさん :2020/12/04(金) 19:25:42.17 ID:mOVEEZtP0.net
- >>358
文字は適当に書いただけで意味はないです
ようするに()内の文字(呼び出し時に送った文字列とか)を加工できるかどうかの質問です
わかりにくくてすみません
- 361 :デフォルトの名無しさん :2020/12/04(金) 19:34:15.00 ID:0LJPp7yer.net
- >>359-360
変数値は再代入で変えられる
変数名はグローバル変数を除いて変更(元の名前を削除)出来ない
そもそも、変数名を変えようとするのは不具合の種になる
オブジェクトのプロパティやnew Mapのkey等、限られた空間で安全に変更するのが好ましい
- 362 :デフォルトの名無しさん :2020/12/04(金) 19:36:52.05 ID:0LJPp7yer.net
- >>359
無理
- 363 :デフォルトの名無しさん :2020/12/04(金) 19:41:14.45 ID:0LJPp7yer.net
- >>359
と思ったが、Function#toStringをparseすれば、ユーザ定義関数に関しては出来なくはないな
目的次第では別の手段にすべきと思うが
- 364 :デフォルトの名無しさん :2020/12/04(金) 20:52:39.53 ID:mOVEEZtP0.net
- >>361
ありがとうございます
- 365 :デフォルトの名無しさん :2020/12/04(金) 21:02:15.15 ID:8jcPt1TuM.net
- JavaScriptの効率的な学習方法を教えて下さい
入門書のひらがなJavaScriptは終わりました。
次は、Progateか一つ上の書籍かと思っていますが、どの書籍にすべきか迷っています
- 366 :デフォルトの名無しさん :2020/12/04(金) 23:49:00.70 ID:73Qqn1aF0.net
- 山田何とかの著書一択
- 367 :デフォルトの名無しさん :2020/12/05(土) 07:37:21.02 ID:7XRe2Ndx0.net
- >>365
> JavaScriptの効率的な学習方法を教えて下さい
目指している目標に依る
何かを作るだけならサンプルコードのコピペに行き着く人が多い
基礎から下積みするなら、一日でも早く仕様書を読めるようになる事が最も効率的なので、仕様書に近い書籍を選ぶ事になる
- 368 :デフォルトの名無しさん :2020/12/05(土) 07:48:18.47 ID:T+MIshnP0.net
- 最初からtypescriptを使うことが最も近道
- 369 :質問者 :2020/12/05(土) 07:57:03.24 ID:wSoVmOU1d.net
- 目的は参照ボタンを選択してファイル選択ダイアログを開き、選択したローカルファイルの中を読む事です。
ただ、
<input type=`file`〜>で表示されたファイルパスを取得する事は出来ない(セキュリティ上)?
ローカルファイルを読むにはファイルパスが必要なので、どうすれば良いでしょうか?
すみませんよろしくお願いいたします。
- 370 :デフォルトの名無しさん :2020/12/05(土) 08:04:08.32 ID:7XRe2Ndx0.net
- >>365
『ひらがなJavaScript』が見つからないのだが…
https://www.google.com/search?q=%E3%81%B2%E3%82%89%E3%81%8C%E3%81%AAJavaScript
- 371 :デフォルトの名無しさん :2020/12/05(土) 08:16:49.84 ID:7XRe2Ndx0.net
- >>369
質問者ではどの質問者か分からん
文脈的には>>367へのレスで>>365本人か?(IP違うが)
名前にレス番ふって、レス相手にレス相手アンカーするぐらいはしてくれ
- 372 :367 :2020/12/05(土) 08:53:46.63 ID:wSoVmOU1d.net
- >>371
全く新しい質問です。
- 373 :デフォルトの名無しさん :2020/12/05(土) 09:52:09.52 ID:7XRe2Ndx0.net
- >>372
把握した
>>369
File APIを使えば良い
https://developer.mozilla.org/ja/docs/Web/API/File/Using_files_from_web_applications
https://triple-underscore.github.io/File_API-ja.html
- 374 :367 :2020/12/05(土) 12:30:15.84 ID:wSoVmOU1d.net
- >>373
ありがとうございます。
これでフルパスを取得できるんですね。
- 375 :デフォルトの名無しさん :2020/12/05(土) 13:25:14.38 ID:r/OmkE6S0.net
- フルパスは取れないファイルが読めるだけ
- 376 :367 :2020/12/05(土) 18:02:57.10 ID:wSoVmOU1d.net
- >>375
すみません。
ローカルファイルで読む為にフルパスが必要なんです。セキュリティの問題で取りにくいのは知ってます。それで
>>369
に書いた質問をしたのです。
よろしくお願いいたします。
- 377 :367 :2020/12/05(土) 18:22:16.72 ID:wSoVmOU1d.net
- 補足
すみません。
サブ画面ではファイルパスの設定だけ。
メイン画面ではじめて、サブ画面で設定したファイルを読み込むという事をしたいのですが、無理なのでしょうか?
よろしくお願いいたします。
- 378 :デフォルトの名無しさん :2020/12/05(土) 20:51:52.66 ID:uqDUGTNRM.net
- > セキュリティの問題で取りにくいのは知ってます。
ぜんぜん知ってない。知ったかするな。
取り「にくい」だけで頑張れば取れるのなら何のセキュリティ対策にもならないだろ。
- 379 :デフォルトの名無しさん :2020/12/05(土) 21:00:16.20 ID:BzIEWbaf0.net
- フルパスがあればローカルファイルが読める環境というのがよくわからんがそれならElectronとか使えばいいんでねよくわからんが
- 380 :デフォルトの名無しさん :2020/12/05(土) 21:12:05.00 ID:3OUqO/Qz0.net
- ブラウザ内のHTML から、ローカルPC 内の情報が取れるのか?
Node.js みたいなサーバーを立てていないと無理なのでは?
Electron も内部で、Node.jsを使っているし
- 381 :367 :2020/12/05(土) 21:32:44.16 ID:wSoVmOU1d.net
- >>378
すみません。出来ないんですね。
設計者はサブ画面でファイル選択ダイアログを使用してexcelファイルを選択して、メイン画面でexcelファイルを取り込む事をやりたいんでしょうが、無理なんですね。設計者に言います。
それにしても、
POI技術で
https://blog.java-reference.com/poi-read-excel/
最初に
is = new FileInputStream("D:sample.xlsx");
パスを指定してますが、これは一般的には固定のローカルファイルパスを指定するもんなんですね。
>>379
ありがとうございます。調べてみます。
- 382 :デフォルトの名無しさん :2020/12/05(土) 21:36:30.80 ID:r/OmkE6S0.net
- javascriptじゃないじゃん
- 383 :デフォルトの名無しさん :2020/12/05(土) 21:37:30.98 ID:ryDIbbB50.net
- >>367
返答ありがとうございます、仕様書の様な書籍とはどんなものでしょうか?、目指すところは現在webコーダーなのですが、JavaScriptでフロントエンドやサーバーサイド開発が出来る様になりたいです
>>370
「スラスラ読める JavaScriptふりがなプログラミング」が正式な書籍名でした、すみません
>>368
なるほどTypeScriptですか、やってみます
- 384 :デフォルトの名無しさん :2020/12/05(土) 23:22:08.87 ID:7XRe2Ndx0.net
- >>376
ファイル内容読むのにフルパスは必要ない
>>377
フルパスを受け渡す必要はない
ファイル内容を渡せばいい
https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage
- 385 :367 :2020/12/06(日) 10:25:22.76 ID:odok9c0Cd.net
- >>384
ありがとうございます。内容はこれで渡せるんですね。
フルパスは取り扱えないんですね。
javascriptとは関係ないですが、フルパスを要求するJAVA POIは使えないので困ってます。こういうjavascriptとサーバー側処理を含んだ質問はどこですれば良いのでしょうか?
- 386 :デフォルトの名無しさん :2020/12/06(日) 10:36:59.07 ID:zDpqJVzS0.net
- >>385
> フルパスを要求するJAVA POIは使えないので困ってます。
何が問題なのか、さっぱりわからん
状況を過不足なく伝える技術を身につけろ
フルパス要求する端末にJavaをインストールしえ取れないのか?
Javaの問題はJavaスレで解決すれば良い
- 387 :デフォルトの名無しさん :2020/12/06(日) 11:49:41.53 ID:5/KOVLSv0.net
- 最初の>>369はブラウザ上の処理だと思うが、Javaをどこで動かしたいと言っているんだろう?
クライアントからアップロードしたファイルをサーバー側で処理する話かね?
- 388 :367 :2020/12/06(日) 14:13:40.86 ID:odok9c0Cd.net
- 皆さん、javascriptだけでないレス違いの質問に回答ありがとうございます。
やりたいことは以下です。
1.選択したローカルのexcelファイルをクライアントからサーバーにアップロードする事はしたくない。
2.excelファイルから必要な情報を抜き出してそれのみをDBサーバーに登録したい。
- 389 :デフォルトの名無しさん :2020/12/06(日) 14:47:02.74 ID:O4KrEoM80.net
- 情報小出しで全体像が分からんけど
sheetjsなりで解析してから送りゃエエんちゃう
- 390 :デフォルトの名無しさん :2020/12/06(日) 16:49:56.97 ID:atqZF9NJ0.net
- Ruby on Rails の、SQLite3 などのデータベース(DB)を使えば?
普通に、Rails プロジェクトの開発環境を作れば、
バックエンドのPuma サーバー・DBも、
フロントエンドのブラウザ、HTML, CSS, JavaScript も、ローカルPC 内にある
Node.js サーバーと、Chromium ブラウザを含む、Electron と同じ
- 391 :デフォルトの名無しさん :2020/12/06(日) 17:23:44.10 ID:I5tPmPco0.net
- >>389
これだな
>>390
死ね
- 392 :デフォルトの名無しさん :2020/12/06(日) 19:31:15.25 ID:qbV+R5u90.net
- >>388
めちゃ普通のしょり
- 393 :デフォルトの名無しさん :2020/12/06(日) 23:31:54.81 ID:zDpqJVzS0.net
- >>388
サーバにアップロードしたくないのなら、Java POIはローカルにインストールされているんだよな?
- 394 :367 :2020/12/07(月) 08:15:51.20 ID:ytf7dk5Ud.net
- 皆さんレスありがとうございます。
sheetjsを調べてみます。
Java poiはインストールされています。
- 395 :デフォルトの名無しさん :2020/12/07(月) 10:06:30.93 ID:dnWGY9bnr.net
- 益々謎が深まるばかりだな
だったらブラウザなんて使わず操作画面から通信まで全部Javaで作ればいいのに
- 396 :367 :2020/12/07(月) 17:23:01.27 ID:s3DToMe4d.net
- すでに使われているwebシステムの回収で、ボタンを押したら、ローカルexcelファイルのファイル選択ダイアログを表示して選択する。
メイン画面で登録を押したら、excelファイルから必要な情報を取り込んでDBに登録する機能追加なんです。
sheetjsでやることに決めました。
後、画像もファイル選択ダイアログでよみこんで、リンクで表示できるようにする。登録で初めてサーバーにアップロードするという機能追加です。
- 397 :デフォルトの名無しさん :2020/12/22(火) 13:54:36.05 ID:BKKJJQMZ0.net
- http://s.kota2.net/1608612653.png
画像の様なグリッドの中でA,Bなどの矩形の面積が一番多く含まれる
グリッド(赤色部分)の座標を得たいのですが、どのように考えたらよいのでしょう?
この手の考え方は皆目わかりません。
- 398 :デフォルトの名無しさん :2020/12/22(火) 14:42:45.10 ID:4jX11jcP0.net
- 矩形の中心点が含まれるグリッドを計算しろ
- 399 :395 :2020/12/22(火) 14:48:28.47 ID:BKKJJQMZ0.net
- なるほど。ありがとうございます。
それで試してみます。
- 400 :デフォルトの名無しさん:2020/12/23(水) 02:46:19.78 ID:qoTDedlh.net
- templateタグをcloneしてすぐそれにidを追加したいんすけど
なんか無理っぽいですね??
appendした後にその要素を特定する作業(追加した最後の要素を見つける)をしてから
その要素を改めて取得してから、idを追加することはできるみたいですけど
どうにかなりませんかね
- 401 :398 :2021/01/05(火) 07:55:22.65 ID:RngV7BRKd.net
- 初見失礼します。
私は今、スマホのメモ帳系のアプリでjavascriptを勉強しています。
それなりに行数増えてきたので、そろそろ外部JSファイルからの読み込みに手をつけてみようと思い、
いろいろなサイトを見ながら四苦八苦していたのですが、殆ど上手く行きません。
何故か唯一、test.jsという名前のファイルだけ正常に開けているのが現状です。
そのファイルの名前に、2とかつけると読み込まれなくなります。
test.jsは何か特別な機能を持ったファイルなのでしょうか?
また、外部jsファイルを普通に読み込めない原因について、見当のつくことがあったら教えて貰いたいです。
よろしくお願いします。
- 402 :399 :2021/01/05(火) 07:56:15.13 ID:RngV7BRKd.net
- さっきの名前欄のレス番間違えました。
- 403 :デフォルトの名無しさん :2021/01/05(火) 12:18:47.00 ID:zD1ciQHW0.net
- この板よりも、web制作管理板の方へ書き込んで、聞いて下さい!
この板のスレは、一時的に作られたものなので
JSFiddle のサイトなどで、コーディングすれば?
基本、HTML, CSS, JavaScript の3つのファイルが必要です
たぶん、何かのファイルに、test.jsを読み込むように書かれているだけでしょう
- 404 :399 :2021/01/05(火) 14:14:30.47 ID:9ncSzFMad.net
- >>403
ありがとうございます。
また色々と検索、勉強してみます。
- 405 :デフォルトの名無しさん :2021/01/05(火) 14:40:22.86 ID:tS+yAQzda.net
- >>401
どういうエラーメッセージが出ているの?
- 406 :デフォルトの名無しさん :2021/01/05(火) 14:43:42.88 ID:Uu3wwMSXM.net
- >>405
ディスプレイに「エライこっちゃ」と表示されます
- 407 :デフォルトの名無しさん :2021/01/05(火) 16:55:55.29 ID:S6fGmzIM0.net
- >>401
安くてもいいから、とりあえずPCとかMacとか呼ばれている電子計算システムを購入したほうがええで。
JAVA Script学ぶのはそのあとでいい。
- 408 :デフォルトの名無しさん :2021/01/05(火) 17:01:53.12 ID:S6fGmzIM0.net
- そしてGoogleの提供してるビジュアルプログラミング環境
現在はJAVA SCRIPTでコードジェネレート出来る。
https://developers.google.com/blockly/
- 409 :デフォルトの名無しさん:2021/01/05(火) 18:13:58.89 ID:dtgDs0Q+M
- ブラウザの開発者モードを表示してクッキーをコピペで書き換える作業が辛くて、
javascriptで書き換えようと思ったのですが、
httponly属性が付いていて出来ません
何とか出来ないでしょうか
- 410 :デフォルトの名無しさん :2021/01/26(火) 16:31:42.32 ID:pYM5EHna0.net
- modalってもしかしてjqueryのほうがVueより全然簡単?
Vueだとよくわからんエラーばっかり出るわ
- 411 :デフォルトの名無しさん:2021/02/11(木) 02:23:58.54 ID:VegncXCD+
- プログラミングにはやってはいけない勉強法がある!?爆速で成長する王道のプログラミング学習法を紹介!
https://www.youtube.com/watch?v=ZJqVQJwvwNI
あなたの技術力が伸びない本当の理由!体系的な問題解決方法を学べ!
https://www.youtube.com/watch?v=K579MYZgti0
慶應主席レベルの秀才がプログラミングの独学に失敗した理由
https://www.youtube.com/watch?v=F2m1bsqaAHg
知らずに転職したら失敗する!ブラックIT企業を見分ける11のポイントを徹底解説
https://www.youtube.com/watch?v=a8qDFMsYAqM
営業マンが独学のみでプログラマーに転職して1年で月収80万超えた話
https://www.youtube.com/watch?v=94YQSckQGCs
未経験から2年でフリーランスエンジニアに!安定的に稼げるようになるための5ステップ
https://www.youtube.com/watch?v=oGNpEmFOEcU
フリーランスエンジニアになるなら大規模ベンチャー or 小規模ベンチャー どっち?
https://www.youtube.com/watch?v=-39tg9icRlU
生産性10倍!知らないと損する3つの最強デザインツール
https://www.youtube.com/watch?v=z6x1R1455Kc
- 412 :デフォルトの名無しさん :2021/02/14(日) 05:19:12.94 ID:+oGfnxrkM.net
- オフショアの人らが全く同じ関数を1つの.jsの中で3回も書いてた…
動いてるし俺の担当じゃないから触らなかったけど
- 413 :デフォルトの名無しさん :2021/03/02(火) 05:22:50.76 ID:LrhU88Z30.net
- Adobe製品がこれで動作するから使い始めた
- 414 :デフォルトの名無しさん :2021/03/02(火) 20:14:12.81 ID:TGKntu6+M.net
- >>413
PhotoShopも?
- 415 :デフォルトの名無しさん :2021/03/03(水) 10:06:47.42 ID:Jucxwhrg0.net
- 全機能を制御できるわけではないけど、
PhotoshopでもJavaScript(extend script)は使えるよ。
- 416 :デフォルトの名無しさん :2021/03/03(水) 10:51:04.90 ID:H0i/cbqk0.net
- >>415
よっしゃ!
で、なにができますの?
- 417 :デフォルトの名無しさん :2021/03/03(水) 10:51:27.69 ID:D2xhgaADM.net
- >>415
よっしゃ!
で、なにができますの?
- 418 :デフォルトの名無しさん :2021/03/04(木) 18:56:07.87 ID:h0znVjIN0.net
- >>414
もちろん
https://www.adobe.com/devnet/photoshop/scripting.html
- 419 :デフォルトの名無しさん :2021/03/12(金) 15:48:21.50 ID:LA00op8vd.net
- 一回躓くと次の一歩踏み出すのが困難なのは何でも同じか〜とか考えながら勉強の日々
- 420 :デフォルトの名無しさん:2021/03/14(日) 18:13:43.56 ID:XMH1AJguA
- 「ブラック企業社員」のお助けアプリが誕生 開発したのは22歳金髪大学生、開発のきっかけとは?
https://news.yahoo.co.jp/articles/b9d5e3b84e4aa78fab64d3eb8e0c02f72911287e
レシート買い取りアプリONEの17歳起業家、サービス一時停止から「怒涛の3カ月」で気づいたこと
https://www.businessinsider.jp/post-175983
ビジネス版マッチングアプリ「yenta(イェンタ)」全国展開 開始!
https://prtimes.jp/main/html/rd/p/000000023.000021544.html
ギフティング「TANP」運営がGCPほかから5億円調達
1日1200件の「リアルギフト」送付も可能に、U25起業家の新たな挑戦
https://thebridge.jp/2019/08/gift-ec-tanp-raised-500m-yen-from-gcp
アプリ開発での起業は難しくない!成功するために覚えておくべきこと
https://www.biz.ne.jp/subject/blog/2004433/
【稼ぎ方が知りたい!】アプリの開発の収入って実際どれくらい?
https://itpropartners.com/blog/1657/
ネット関連事業で起業した成功例8選!ネットで成功するには○○が重要!?
https://www.official.or.jp/internet-entrepreneurship-success/
- 421 :デフォルトの名無しさん :2021/03/16(火) 09:49:45.28 ID:cgV0lGB90.net
- javascritpは文法がしっかりしてないから
最初に学ぶには非推奨だね
学習体系がしっかりし参考情報が豊富な言語から始めたほうがいい
- 422 :デフォルトの名無しさん :2021/03/16(火) 19:45:10.52 ID:1XRg7m9v0.net
- >>421
どこがしっかりしてない?
- 423 :デフォルトの名無しさん :2021/03/16(火) 20:15:20.99 ID:Z8nieuaQM.net
- >>422
変数に関数が代入できること
- 424 :デフォルトの名無しさん :2021/03/16(火) 20:32:36.45 ID:KskiDkBIr.net
- >>423
第一級関数と文法の関係性は?
- 425 :デフォルトの名無しさん :2021/03/16(火) 20:55:27.51 ID:A0PxCKQ0a.net
- 中途半端な変数宣言がちょっとね
整数とちゃんと宣言するか
まったく宣言しないかどちらかにしてほしかった
- 426 :デフォルトの名無しさん :2021/03/16(火) 20:58:41.67 ID:FsMQS6uyM.net
- その基準で除外したらモダン言語ほぼ全滅じゃね
- 427 :デフォルトの名無しさん :2021/03/16(火) 20:59:24.04 ID:FsMQS6uyM.net
- >>426は>>423宛
- 428 :デフォルトの名無しさん :2021/03/16(火) 21:29:17.58 ID:fMHJVTaAa.net
- JSXっってbabelで変換しないとnodeで動かんのか?
- 429 :デフォルトの名無しさん :2021/03/16(火) 22:17:20.61 ID:Z8nieuaQM.net
- 関数の引数に関数というのがあるけど
その引数の関数の中からは外のすべての変数にアクセスできるの?
例は
something.addEventListener(function(){
この中から外の変数はすべて見えるのか
});
- 430 :デフォルトの名無しさん :2021/03/16(火) 22:24:28.16 ID:vnvvoE6k0.net
- >>426-427
だよね
>>423
お勧めの言語は何?
- 431 :デフォルトの名無しさん :2021/03/16(火) 23:07:50.72 ID:Z8nieuaQM.net
- >>430
Javaだ
- 432 :デフォルトの名無しさん :2021/03/16(火) 23:33:01.12 ID:J1HBzpcA0.net
- すまん、変数に関数を代入できちゃ初学者に向いてない理由がわからんのだが
- 433 :デフォルトの名無しさん :2021/03/16(火) 23:51:36.72 ID:vnvvoE6k0.net
- >>431
Javaも第一級関数あるから>>423の理由でお勧め出来ないはずでは?
https://qiita.com/YutaKase6/items/2ff6cba4b059dde92b8b
- 434 :デフォルトの名無しさん :2021/03/16(火) 23:55:56.03 ID:vnvvoE6k0.net
- >>433は間違いなので忘れて
お勧めというかJavaしか知らないから他言語に慣れてないだけなんじゃないの?
- 435 :デフォルトの名無しさん:2021/03/19(金) 01:31:12.91 ID:viE/4wrJg
- 創価学会公明党は
イチ漫画家志望者の仲間健之介
大阪の本名)仲間健二という人間を10年にわたって盗聴盗撮生配信を行っている。
何年にもわたりリンチを加えている。
仏罰で仲間が自殺するまで続けるらしい
集団ストーカー犯罪
- 436 :デフォルトの名無しさん :2021/03/26(金) 19:37:25.16 ID:HXfe9mSBa.net
- F12 > Ctrl + Shift + K
以下の二行をコピペして一度に実行後、リンクをクリック
'knar-csed-etad=s&tpircsavaj=k?s/pj.oc.nozama.www//:sptth'
.split('').reverse('').join('')
- 437 :デフォルトの名無しさん:2021/04/22(木) 13:40:05.75 ID:Wc1Mrwyv.net
- document.querySelectorAllの:last-child使えなくなってる??
セレクタでjqueryでいうところの:eq()があればいいのにな
- 438 :デフォルトの名無しさん :2021/04/22(木) 20:12:48.08 ID:8EAXe+l90.net
- :last-childはマッチした中の最後じゃないで?
- 439 :デフォルトの名無しさん :2021/04/23(金) 05:59:03.22 ID:mhaEwNEM0.net
- >>437
[0]を忘れてるのでは?
querySelectorの方が良いと思うけど
- 440 :デフォルトの名無しさん :2021/04/29(木) 08:41:41.15 ID:+/R4Bs830.net
- (function aaa(){})のように関数を()で囲むのはどういう意味があるんですか?
- 441 :デフォルトの名無しさん :2021/04/29(木) 09:34:41.24 ID:Z1D+EN2jM.net
- >>440
関数が寒くて風邪をひかないように服を着せているんです。
- 442 :デフォルトの名無しさん :2021/04/29(木) 10:05:07.56 ID:BtaOKSdt0.net
- >>440
ここで質問している人は回答を貰っても何故無反応なのですか?
- 443 :デフォルトの名無しさん :2021/04/29(木) 10:27:52.89 ID:RErNGDPY0.net
- IIFE (Immediately Invoked Function Expression; 即時実行関数式) は、
定義されるとすぐに実行される、JavaScript の 関数 です
関数を定義して即実行したい場合、( ) で囲んで、式にする
JS の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用に作られたものだから
- 444 :デフォルトの名無しさん :2021/04/29(木) 12:23:48.15 ID:+/R4Bs830.net
- >>443
どうもどうも
web版のスレは新スレが立ってないのでこっちに書いてみた
- 445 :デフォルトの名無しさん :2021/05/03(月) 00:14:59.29 ID:8d3P1jQsp.net
- 仕事でWebアプリケーションを作ってる方にお聞きしたいんですが、
jsやcssをいわゆるmin化するのに何使ってます?
Web上のサービスでやるのはセキュリティ的によろしくないのでローカルで完結できるものがあればと思いまして調べたら何個かあるみたいなのですが、主流はどれなのかなと…
- 446 :デフォルトの名無しさん :2021/05/03(月) 17:20:40.35 ID:iRbOallH0.net
- 全Rubyistに今すぐ伝えたいwebpackとwebpacker
https://qiita.com/jesus_isao/items/1f519b2c6d53f336cadd
Ruby on Rails では、この2つを使っているらしい
webpacker の内部のpackage.json
"mini-css-extract-plugin": "^1.0.0",
"terser-webpack-plugin": "^4.0.0"
この2つは、webpack のサイトにも載ってる
https://webpack.js.org/plugins/
- 447 :デフォルトの名無しさん :2021/05/07(金) 11:11:04.70 ID:37C3PSFQ0.net
- 質問です。
下記みたいに複数の配列の各要素を合算した配列を作成するために、
スマートなやりかたはありますでしょうか。
function sumItems(hogearray, fugaarray){
let len = hogearray.length;
let sumarray = [];
for (var i = 0; i < len; i++) {
sumarray.push(hogearray[i] + fugaarray[i]);
}
return sumarray;
}
let arr1 = [1, 2, 3, 4];
let arr2 = [4, 5, 6, 7];
console.log(sumItems(arr1, arr2));
→(4)?[5, 7, 9, 11]
上記のsumItemsをもうちょっと賢く行いたいです。
lodashもざっくり見たのですが無さそうなので・・・。
(本当に欲しいものはこのような配列を不特定多数渡して合算した配列を作りたいです。
ChartJsの積み上げグラフで、合計の線グラフを差し込むのにあればいいなと思っています)
- 448 :デフォルトの名無しさん :2021/05/07(金) 12:18:29.36 ID:wve6cwVf0.net
- >>447
for使うコードとしては十分にスマートだと思うが…
関数型がスマート打と思うならArray#mapとか
- 449 :デフォルトの名無しさん :2021/05/07(金) 14:03:34.51 ID:37C3PSFQ0.net
- >>448
なるほど!Array.mapにindex使えばよかったんですね!
これで出来ました!(newarrのところ)
function sumItems(hogearray, fugaarray){
let len = hogearray.length;
let sumarray = [];
for (var i = 0; i < len; i++) {
sumarray.push(hogearray[i] + fugaarray[i]);
}
return sumarray;
}
let arr1 = [1, 2, 3, 4];
let arr2 = [4, 5, 6, 7];
let newarr = arr1.map((value, index) => {
return value + arr2[index]
});
console.log(sumItems(arr1, arr2));
console.log(newarr);
↓
(4)?[5, 7, 9, 11]
(4)?[5, 7, 9, 11]
ありがとうございました!
- 450 :デフォルトの名無しさん :2021/05/07(金) 14:50:50.30 ID:KJXYv0kP0.net
- 無理に関数型で書くのはどうかと思う
↑で十分
- 451 :デフォルトの名無しさん :2021/05/07(金) 21:41:50.48 ID:wve6cwVf0.net
- >>450
スマートというふわふわした理由でfor文を毛嫌いしないで欲しいとは思う
- 452 :デフォルトの名無しさん :2021/05/07(金) 22:28:49.44 ID:Z7WMK8Ny0.net
- Ruby では、zip で、
pp result = [1,2,3].zip( [4,5,6], [7,8,9] ).map( &:sum )
出力
[12, 15, 18]
- 453 :446 :2021/05/07(金) 22:34:04.42 ID:Z7WMK8Ny0.net
- Lodash にも、zip ある
_.zip( ['a', 'b'], [1, 2], [true, false] );
// [ ['a', 1, true], ['b', 2, false] ]
- 454 :デフォルトの名無しさん :2021/05/08(土) 08:52:00.58 ID:7rFmOzwXM.net
- 極論だけどあんまり内包表記とかラムダ式とか関数型的な書き方ばかりしてるとあの人のコードは短いけど読みにくいから一緒に仕事したくないって言われるぞ
- 455 :デフォルトの名無しさん :2021/05/08(土) 19:17:06.73 ID:WfIS/Rbs0.net
- var data_array = [];
〜いろいろと処理〜
このとき、処理に分岐によって、配列を空にしたときって
data_array.splice(0);
っとしているのですが、配列を空にするなら
data_array = []の方がいいのでしょうか?
- 456 :デフォルトの名無しさん :2021/05/08(土) 20:14:59.28 ID:S9UZYXd4F.net
- data_array.length = 0;
- 457 :デフォルトの名無しさん :2021/05/10(月) 01:09:13.09 ID:+rwW6yZ/0.net
- https://jsfiddle.net/s1awpc0b/
すみません、JS、jQuery初心者なのですが質問させてください。
「リストの中の文字をホバーしたら、タイトル内のテキストがその文字列に置き換わる」
という機能を実装したいと考えております。
しかし、実際にやってみると、何故か最初に一回変わるだけで他のリストにホバーしても
最初と同じ文字列が出てきてしまうのと、ホバーを外した際にタイトル内のテキストを
元の文字に戻す方法が分からず、困っております・・・
この場合、有効な手段などあれば教えて下さい。よろしくお願いします
- 458 :デフォルトの名無しさん :2021/05/10(月) 01:32:31.24 ID:J1VXMlcp0.net
- .parent(ttl)ってbodyを指してるからじゃないの
jqueryは知らんからどう置き換えたらいいかは分からんけど
- 459 :デフォルトの名無しさん :2021/05/10(月) 02:00:41.51 ID:KPRKVCIQ0.net
- ttl.find('p').text(navtxt);
- 460 :デフォルトの名無しさん :2021/05/10(月) 23:59:24.06 ID:ViCp850r0.net
- const navtxt = $(this).find('p').text();
find() メソッドは、提供されたテスト関数を満たす配列内の、最初の要素 の 値 を返します。
最初の要素だから、p が複数あるなら、別々に指定しないといけない
テスト1 のp
テスト2のp
テスト3のp
個別に、クラスか何かを付ければ?
- 461 :デフォルトの名無しさん :2021/05/11(火) 02:35:02.21 ID:x0DsNnEv0.net
- var l = data_array.length;
if (l > 51) {
l = 50;
}
for (var i3 = 0; i3 < l; i3 += 1) {〜略〜}
なんか、書き方がダサい気がする、かっこよくて見やすい書き方
をご教授願います。
- 462 :デフォルトの名無しさん :2021/05/11(火) 02:53:40.06 ID:PayOhuVJ0.net
- const l = Math.min(data_array.length, 50)
for(let i3 = 0; i3 < l; i3++){}
変数名がダサいのは直してない
- 463 :デフォルトの名無しさん :2021/05/11(火) 03:24:41.76 ID:x0DsNnEv0.net
- >>462
早速の回答、ありがとうございます。
変数名や関数名の付け方がよくないのは
上司によく言われますが、直しません。
- 464 :デフォルトの名無しさん :2021/05/11(火) 03:50:48.88 ID:62zfmCQO0.net
- Ruby なら、Range で、0以上・len未満
( 0...len ).each { |index| p index }
出力
0
1
2
- 465 :デフォルトの名無しさん :2021/05/11(火) 06:41:38.89 ID:OOK6Bznl0.net
- >>462
l=51の時、>>461と結果が違う
- 466 :デフォルトの名無しさん :2021/05/11(火) 13:35:37.63 ID:x0DsNnEv0.net
- >>465
すいません。元のコードが間違えていました。
lに入る値の最大値が50が正しいです。
- 467 :デフォルトの名無しさん :2021/05/13(木) 23:48:22.88 ID:VBQJX34F0.net
- 複数の画像を全て読み込んでからfunc1を実行したい場合、このような書き方で間違いがあったら教えてください
var img_obj_list = [];
var img_file_list = ["./test1.png","./test2.png","./test3.png"];
for(let n=1;n<=3;n++){
img_obj_list[n-1] = new Image();
img_obj_list[n-1].src = img_file_list[n-1];
}
var img_load_count = 0;
for(let n=1;n<=3;n++){
img_obj_list[n-1].onload = function(){
img_load_count++;
if(img_load_count == 3){
func1();
}
}
}
function func1(){alert("");}
- 468 :デフォルトの名無しさん :2021/05/14(金) 00:39:39.82 ID:MdZ1BMbg0.net
- 細かくは確認してないけどonloadはpromiseでwrapするといい
- 469 :デフォルトの名無しさん :2021/05/14(金) 00:40:22.23 ID:QMgVBpCt0.net
- 画像の読み込み完了は、非同期処理か。
そりゃ難しい
async/await とか使えないのか?
- 470 :デフォルトの名無しさん :2021/05/14(金) 02:11:40.87 ID:iF93BKYb0.net
- >>467
Promise.allを使うか、handleEventを持つオブジェクトにload回数を埋め込んで管理すれば良い
- 471 :デフォルトの名無しさん :2021/05/14(金) 07:15:30.72 ID:GbcY98b30.net
- promiseっていうやつですか
調べてみます
- 472 :デフォルトの名無しさん :2021/05/15(土) 08:00:49.27 ID:cqN6MRht0.net
- aaa.pngという幅100ピクセル、高さ100ピクセルの画像があるとして
<img src="aaa.png" id="aaa">
var elm = document.getElementById("aaa");
var rect = getBoundingClientRect();
としたら
rect.leftが8でrect.rightが108でした。
これって幅が101になるのでおかしくないですか?
rect.rightは107にならなければならないのに。
- 473 :デフォルトの名無しさん :2021/05/15(土) 08:24:12.13 ID:cqN6MRht0.net
- 訂正elm.getBoundingClientRectです
- 474 :デフォルトの名無しさん :2021/05/16(日) 00:04:05.86 ID:R/k6sd0e0.net
- 正直言って、
(a)=>{
- 475 :デフォルトの名無しさん :2021/05/16(日) 00:07:02.23 ID:R/k6sd0e0.net
- 間違いw
正直言って
(a)=>{
bar(a);
}
を引数に渡すのって可読性どうなんだろう?数学的には
美しいのかもしれないけど、世の中の大部分のプログラムは
そういうところまで行ってないプログラマが組んでるわけで。
そのうち、「大多数のプログラマにとって理解しやすいかどうか」理論
みたいのが出てこないかと…。
- 476 :デフォルトの名無しさん :2021/05/16(日) 07:43:31.39 ID:dwn8WkYe0.net
- 「大多数のプログラマ」じゃなくて「一年後の自分」で考えればいい
一年経ったら成長するだろ?その時に自分が辛くなるようなコードを書きたいと思うか?
プログラマを一年程度で使い捨てにしているところなら、
そりゃ一年以内の知識だけでやりゃあいいだろうさ
一年後にはプログラマをやってないわけだからな
成長するたびに自分が苦しくなるようなコードを
書き続けなければいけないのは地獄だってわかるかい?
- 477 :デフォルトの名無しさん :2021/05/16(日) 07:43:31.96 ID:F1fTQsai0.net
- 四則演算も出来ないのか....
- 478 :デフォルトの名無しさん :2021/05/16(日) 10:19:50.12 ID:cOSshUEk0.net
- >>475
その関数だけ見せられてもなにを意図したコードかわからんからなんともいえない
- 479 :デフォルトの名無しさん :2021/05/16(日) 12:32:29.26 ID:WhxfrR+Z0.net
- >>477
x座標8〜108だと101ピクセルあるので幅101になる
108-8=幅100ピクセルではない
なので107にならなければおかしいので間違ってないですよ
- 480 :デフォルトの名無しさん :2021/05/16(日) 18:22:27.95 ID:8eqrVBsX0.net
- >>479
width=0ならleft,right値が何になると思ってる?
- 481 :デフォルトの名無しさん :2021/05/16(日) 19:39:53.23 ID:8eqrVBsX0.net
- >>472,479
あなたのロジックではこうなる
width=100なら、left=8,right=107
width=1なら、left=8,right=8
width=0なら、left=8,right=7
座標に1*1pxの実体があると認識してそう
- 482 :デフォルトの名無しさん :2021/05/16(日) 19:59:20.58 ID:8eqrVBsX0.net
- >>475
コードが断片的でわからんが、https://medaka.5ch.net/test/read.cgi/prog/1582181395/27 のことか?
> 27 仕様書無しさん 2020/05/24(日) 15:41:00.93
> 最近の言語って、
>
> Button.addEventListener('click', () => {
> //TODO ずらずらー
> })
> みたいな書き方が、主流のようなんだけど、
>
> 関数は関数できちんと宣言して書いて
> ButtonClick_Function(){
> ずらずらー
> }
> 他の関数(){
> ずらずらー
> }
>
> で、メインの部分で
> Button.addEventListener('click', ButtonClick_Function());
> オブジェクト.addEventListener('他のイベントA', 他の関数A());
> オブジェクト.addEventListener('他のイベントB', 他の関数B());
> オブジェクト.addEventListener('他のイベントC', 他の関数C());
> と、ロジックはロジック、コールはコールとかで並んでたほうが可読性高くね??
> (以下略)
- 483 :デフォルトの名無しさん :2021/05/16(日) 21:30:12.14 ID:WhxfrR+Z0.net
- >>481
MSペイントを拡大してドットを打つと一番左上のドットが(0,0)で右隣が(1,0)になってるよ
- 484 :デフォルトの名無しさん :2021/05/16(日) 22:14:20.49 ID:8eqrVBsX0.net
- >>483
MSペイントとCSSで同一のロジックが通用する根拠は何だ?
- 485 :デフォルトの名無しさん :2021/05/16(日) 22:43:10.57 ID:WhxfrR+Z0.net
- <img src="test.png" id="test" style="border:Solid 20px #0000ff;padding:10px ">
の画像のブラウザ上での絶対座標はどうやって求めるんですか?
getBoundingClientRectのleft,topだとborderとpaddingを含んだ座標になるので
これらを含まない画像のみの座標で
- 486 :デフォルトの名無しさん :2021/05/16(日) 22:55:03.32 ID:hDCl+pisr.net
- htmlと画像は別物なんだから同じサイズになるわけないだろ
あとhtmlは仮想サイズ使ってるからドットバイドットじゃない
- 487 :デフォルトの名無しさん :2021/05/16(日) 23:19:05.48 ID:8eqrVBsX0.net
- >>480,484はスルーか
- 488 :デフォルトの名無しさん :2021/05/17(月) 01:35:41.32 ID:gVr4HB+y0.net
- HTML の要素内の位置とか、求めるのは無理じゃないか?
ピクセル操作なら、WebGL, Canvas みたいな所に描かないと無理かも
- 489 :デフォルトの名無しさん :2021/05/17(月) 08:40:57.94 ID:P4sOaxft0.net
- >>486
html上の座標もpxピクセルで指定するのに何が違うのかわからん
>>487
width=0ならleft=8,right=7になるのでwidth=0ならエラー処理にする
- 490 :デフォルトの名無しさん :2021/05/17(月) 20:48:45.14 ID:jWYFqK5I0.net
- >>489
CSSボックスモデルはwidth=0を認めているのでエラー処理にするのは間違い
- 491 :デフォルトの名無しさん :2021/05/18(火) 08:20:27.46 ID:5OXOj7Ej0.net
- やっとわかった
ワイが言ってたのはグリッド座標ではなくピクセル座標のことか
四角形の場合ピクセル座標の右端を+1すればグリッド座標になるな
左端は同じだけど
- 492 :デフォルトの名無しさん :2021/05/18(火) 08:27:50.81 ID:5OXOj7Ej0.net
- >>488
element.clinetLeftで左側のborderの幅を、element.clinetTopで上側のborderの幅をピクセルで取得できるので
getBoudingClientRectのleftとtopの座標にそのぶん加算すれば座標取得できたけど
問題はpaddingの幅をピクセルで取得できないこと
element.style.paddingLeftだとem指定の場合ピクセルで取得できないし
- 493 :デフォルトの名無しさん :2021/05/18(火) 08:48:41.79 ID:+V2+gEGW0.net
- >>492
computedStyle
- 494 :デフォルトの名無しさん:2021/05/23(日) 14:05:12.55 ID:XOXv7yfnC
- 文字列を一文字ずつ分割して配列に入れる[Javascript]
https://qiita.com/DecoratedKnight/items/70b9ae716ba144e683ac
JavaScriptで1文字ずつ表示するサンプルをドラクエ風に作ってみる
https://blog.ver001.com/javascript-message-typing/
JavaScriptでタグの中身を1文字ずつ表示する
https://note.com/cm11_ike/n/n9e82dd3897ef
【JavaScript】入力した文字を先頭から1文字ずつ表示させる方法
https://wagtechblog.com/programing/html-javascript-increase-text.html
JavaScriptで文字列を1文字ずつ分割して配列に入れる方法を現役エンジニアが解説【初心者向け】
https://techacademy.jp/magazine/32457
- 495 :デフォルトの名無しさん :2021/05/30(日) 12:34:06.53 ID:V/qTlijF0.net
- ググるとforは普通のカウンターがだいたい最速のようですが
普通の言語は高速化のためにeach系があるはず
でも自分のサイトはEgdeで見る限り、forEachの方が若干速いような(ほとんど差はないですが)
forEach>forカウンター>for of
(for ofはforEachの改良版だと思ったんですが…)
でも基本的にjavascriptは驚くほど速いと思います
カウンターとeach系があまり変わらないのはeach系の性能が悪いというより、添え字検索が工夫されてるんでしょうか?
最後に見た要素の位置が保持されてて、次に来た添え字が1つ上なら再検索せず、each系のように次を返すとか
- 496 :デフォルトの名無しさん :2021/05/30(日) 13:00:26.46 ID:Gk//zzeB0.net
- そりゃ固定長の配列なら、リストをたどらないで、数値インデックスだけで計算できる。O(1)
例えば、8バイト固定長で[100]なら、800バイト先に内容のアドレスが書いてあるから、
そのアドレスから内容を読み込めばよい
一方、Elixir の片方向リストでは、先頭要素だけが速いだけで、
末尾要素はリストをたどって行くから、O(N)
Ruby では両方向リストだから、末尾も速いけど、メモリを食う
つまりデータを、固定長の配列の並びか、リストで構成しているかによる
- 497 :デフォルトの名無しさん :2021/06/01(火) 16:14:06.00 ID:IytVAIyJ0.net
- http://newpuru.doorblog.jp/
このサイトは何でfeedを取得しているのでしょうか?
ライブドアブログなのでphpは使えないはずです。
- 498 :デフォルトの名無しさん :2021/06/01(火) 18:22:57.66 ID:Dbf622Mk0.net
- どこかのサーバーで、Ruby など何かの言語で、データを集めておいて、
JavaScript(JS)で、そのサーバーにアクセスして結果をもらっているとか?
それか、サーバーを使わずに、
JSで直接データを集めて、集計しているとか?
- 499 :デフォルトの名無しさん :2021/06/02(水) 19:45:33.58 ID:WXREuJ2A0.net
- javascriptでh1やh2を検出して、ページ内リンクを作ることは可能ですか?
ライブドアブログで作ろうかと思います。
アンカーつけるのが面倒なので。
見出しにはアンカーはありません。
その場合でも場所を指定して、飛べるんでしょうかね。
- 500 :デフォルトの名無しさん :2021/06/02(水) 20:23:28.73 ID:/y2aURPw0.net
- jQueryですぐできそう
- 501 :デフォルトの名無しさん :2021/06/02(水) 20:54:14.32 ID:zWQOQ4Z00.net
- 他の言語とかフレームワークのスレ行ってみたけど糞みたいな流れでうんざりしました
ここの住人いい人多かったのね…
いつもありがとうございます。
- 502 :デフォルトの名無しさん :2021/06/03(木) 02:44:28.14 ID:Ers5yK+g0.net
- 本当は、web制作管理板で、JavaScript のスレを立てるべきだけど、誰も立てない。
jQuery のスレはある
この板のスレは、web制作管理板が荒らされた時に、緊急避難用に立てられたもので、
本来は板違い
- 503 :デフォルトの名無しさん :2021/06/03(木) 07:23:01.03 ID:5tjzxwfy0.net
- Web制作板は荒れ放題だったし、存在価値を感じない
質問者のマナーの悪さはこちらでも変わらない
- 504 :デフォルトの名無しさん :2021/06/03(木) 12:05:06.51 ID:IjUlafEd0.net
- >>500
jqueryありじゃないとだめなのですか。
なんにしろ見出しにidを付与しないとだめですよね
- 505 :デフォルトの名無しさん :2021/06/03(木) 12:11:00.36 ID:Ers5yK+g0.net
- 素のJavaScript は、ややこしい
そのブログシステム自体が、jQuery を使っているかも知れない。
その場合、そのまま使えるかも
- 506 :デフォルトの名無しさん :2021/06/03(木) 12:22:40.14 ID:IjUlafEd0.net
- jQuery学ぶのも大変なのでjsでやろうとしてます
とりあえず動的にidを追加することがまず必要ですよね
- 507 :デフォルトの名無しさん :2021/06/03(木) 13:24:01.98 ID:OUEycLqE0.net
- idを付けずに実現するとしたら……
・querySelectorAll()で見出し要素をリストアップして表示
・それぞれのonclickイベントにwindow.scrollBy()でその要素の座標に飛ぶ関数を充てる
とか
- 508 :デフォルトの名無しさん :2021/06/03(木) 14:33:40.15 ID:yp2V3QDA0.net
- >>499
テンプレのFAQ>>3が素のJSで書いていた
hx要素を拾ってid拾うだけだし、そんなに難しくはない
- 509 :デフォルトの名無しさん :2021/06/03(木) 14:36:56.38 ID:yp2V3QDA0.net
- >>506
@適当なプレフィックス文字列を指定して、後ろに連番を付ける
Aid衝突確認→衝突したらインクリメントし続ける
- 510 :デフォルトの名無しさん :2021/06/03(木) 16:51:19.75 ID:IjUlafEd0.net
- >>507 501 502
ありがとうございます。
つまづいたらまた来ます。
- 511 :デフォルトの名無しさん :2021/06/03(木) 17:35:57.65 ID:T3CLqBZA0.net
- >>506
jQueryは学習コストめちゃんこ低いよ
慣れたら素のJSでDOMいじるのだるくなる
- 512 :デフォルトの名無しさん :2021/06/03(木) 20:57:45.05 ID:Lw6VCoxx0.net
- 教えてください。
https://gist.github.com/withmama/2925509
(function (global, oDOC, handler) {
〜中略〜
if (oDOC.readyState == null && oDOC.addEventListener) {
oDOC.readyState = "loading";
oDOC.addEventListener("DOMContentLoaded", handler = function () {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);
}
})(window, document);
上記のようなコードがあるのですが、引数にhandlerに値を渡していないのに
handlerが引数にあります。
これって何か意味があるのでしょうか?
(function (global, oDOC) {
var handler;
if (oDOC.readyState == null && oDOC.addEventListener) {
oDOC.readyState = "loading";
oDOC.addEventListener("DOMContentLoaded", handler = function () {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);
}
})(window, document);
っでよくないでしょうか?
- 513 :デフォルトの名無しさん :2021/06/03(木) 21:06:53.79 ID:yp2V3QDA0.net
- >>512
関数スコープで変数を生成するだけならどっちでもいい
最も変数はなくても実装可能だが
- 514 :デフォルトの名無しさん :2021/06/03(木) 21:20:16.57 ID:yp2V3QDA0.net
- >>512
そもそも、readyStateは読み取り専用なのに再代入するとは…
仕様を理解しているとは思えんコードだな
- 515 :デフォルトの名無しさん :2021/06/03(木) 22:32:19.08 ID:Lw6VCoxx0.net
- >>513
ありがとうございました。関数で変数生成しているのですね。
よく考えますと handler = function () でなくてもいいですね。下記のように。
oDOC.addEventListener("DOMContentLoaded", function() {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);
>そもそも、readyStateは読み取り専用なのに再代入するとは…
そういえば、readyStateって勝手に値が変わるはずなのに、代入しないですね普通。
- 516 :デフォルトの名無しさん :2021/06/03(木) 22:54:07.50 ID:bve/jcTT0.net
- >>515
それじゃremoveEventListenerに渡してるhandlerが…
でもそのブロックの上のコメント見るとFirefox3.5以下用のポリフィルみたいだから今時いらんでしょ
- 517 :デフォルトの名無しさん :2021/06/03(木) 23:08:16.39 ID:yp2V3QDA0.net
- >>515
あなたのコードが間違っているのは2回目なんだが… >>466
検証済のコードを示すように心がけた方がいい
- 518 :デフォルトの名無しさん :2021/06/03(木) 23:12:45.89 ID:Lw6VCoxx0.net
- /*
if (oDOC.readyState == null && oDOC.addEventListener) {
oDOC.readyState = "loading";
oDOC.addEventListener("DOMContentLoaded", handler = function() {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);
}*/
こうですね。ありがとうございます。
- 519 :デフォルトの名無しさん :2021/06/03(木) 23:53:51.85 ID:Lw6VCoxx0.net
- >>517
はい。ありがとうございました。
- 520 :デフォルトの名無しさん :2021/06/04(金) 11:50:08.32 ID:s3nDY94/0.net
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/link
javascriptではクラスという概念はないのでしょうか?
リンク先はdocumentクラスのlinkプロパティと考えているのですが、クラスという文字が出てきませんね。
- 521 :デフォルトの名無しさん :2021/06/04(金) 11:56:45.37 ID:s3nDY94/0.net
- 連投すみません。
prototypeというのは、クラスのプロパティにアクセスするための記述と考えてもいいでしょうか?
prototype=組み込み、といった意味だと思いますし、、、。
- 522 :デフォルトの名無しさん :2021/06/04(金) 12:13:36.89 ID:s3nDY94/0.net
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/link
javascriptでlinkメソッドが非推奨になったようですが、代わりに何を使ってリンクをつけるんでしょうか?
- 523 :デフォルトの名無しさん :2021/06/04(金) 12:14:09.97 ID:srwg4nuv0.net
- >>520
糖衣構文としての class はあるが、クラスの概念はない
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
[[Prototype]] とプロトタイプチェーンの理解が必要
- 524 :デフォルトの名無しさん :2021/06/04(金) 12:19:22.31 ID:srwg4nuv0.net
- >>521
組み込みはビルトイン
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects
プロトタイプは原型の意だろう
https://www.weblio.jp/content/%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97
https://developer.mozilla.org/ja/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
- 525 :デフォルトの名無しさん :2021/06/04(金) 12:20:38.14 ID:srwg4nuv0.net
- >>522
createElement
https://developer.mozilla.org/ja/docs/Web/API/Document/createElement
- 526 :デフォルトの名無しさん :2021/06/04(金) 18:27:11.43 ID:s3nDY94/0.net
- let get_ul = document.querySelector("#test_ul");
let str = "hogehoge";
get_h2.insertAdjacentElement("beforebegin",str);
こうするとstrはオブジェクトじゃない、というエラーが出ます。
javascriptにおいてのオブジェクトとは、dom、つまりhtmlの構造を持つもののことでしょうか?
文字列を入れたいのなら、htmlと連結するのでしょうか。
>>523,524,525
ありがとうございます。全部見させてもらいます。
- 527 :デフォルトの名無しさん :2021/06/04(金) 18:29:25.67 ID:i71rVHGC0.net
- insertAdjacentText
- 528 :デフォルトの名無しさん :2021/06/04(金) 18:32:49.09 ID:s3nDY94/0.net
- ↑上でやりたかったことはタグの中に文字列を挿入したかったのです
<a></a>
↑ここに「あああ」をはさみたいのです
innnerhtmlより、insertadjacenthtmlがいいと聞いて使ってみたんですが、文字型はオブジェクトじゃないと、、、。
- 529 :デフォルトの名無しさん :2021/06/04(金) 18:38:54.51 ID:srwg4nuv0.net
- >>528
textContent
createTextNode
- 530 :デフォルトの名無しさん :2021/06/04(金) 18:44:54.98 ID:srwg4nuv0.net
- >>526
あなたはまず、DOMのノードの概念を学んだ方がいい
https://uhyohyo.net/javascript/2_1.html
HTMLタグで捉えるから本質とかけ離れた考え方をするようになる
- 531 :デフォルトの名無しさん :2021/06/04(金) 18:56:14.50 ID:s3nDY94/0.net
- >>529
回答どうも
タグで包んだ場合はいけました
文字列だけの場合はtextContentですね
しかし、これはすべての内容物を書き換えてしまいます
そこでinsertadjacentを使いたかったです
- 532 :デフォルトの名無しさん :2021/06/04(金) 19:14:18.33 ID:srwg4nuv0.net
- >>531
挿入ならappendChildでも良い
- 533 :デフォルトの名無しさん :2021/06/04(金) 20:28:32.31 ID:s3nDY94/0.net
- >>532
ありがとうございます。
オブジェクトとそうでないものの違いってなんでしょうか?
全てはオブジェクトだと思うんですが。
stringはオブジェクトじゃないと。
- 534 :デフォルトの名無しさん :2021/06/04(金) 21:09:03.37 ID:s3nDY94/0.net
- 連投すみません。
既存のタグの中にある文字を挟み込むように、新たなタグを挿入するにはどうしたらいいのでしょうか?
<div id="target_div">もじ</div>
↑これを
<div id="target_div"><p>もじ</p></div>
↑こうしたいです
let target = document.querySelector("#target_div");
let parag = document.createElement("p");
target.insertBefore(spa);
https://gray-code.com/javascript/add-html-element/
appendChild,before,after,insertBeforeはどれも違うようです。
前のpと閉じpを別に挿入することはできそうです。
まずtarget_divに対してpタグを先に追加して、innerhtmlで文字列を挿入したほうがいいのでしょうか?
- 535 :デフォルトの名無しさん :2021/06/04(金) 21:45:58.82 ID:srwg4nuv0.net
- >>533
オブジェクトでもあるが、ノード
困ったらMDNを読めば大体分かる
https://developer.mozilla.org/ja/docs/Web/API/Node/appendChild
>>534
replaceChild
いい加減、体系的に学ばないとリファレンスが読めるようにはならないと思うが >>530
- 536 :デフォルトの名無しさん :2021/06/05(土) 21:16:58.18 ID:LNHYK+7R0.net
- javascriptでボタンを押したときにaaaという変数の値(現在100)を変えるには
<input type="hidden" id="aaa" value="200">というのを作って
ボタンを押したときに
var aaa = document.getElementById("aaa").value;を呼び出すというやり方でやっていますが
この方法以外で変数の値を変えるやり方あったら教えてください
- 537 :デフォルトの名無しさん :2021/06/05(土) 21:54:26.82 ID:i9T/HxKS0.net
- >>536
ボタンが押されたどうこうは変数値を変える機能に直線関係していない
変数値を変えるのは代入演算子
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Assignment
グローバル変数ならdefineProperty等のプロパティ操作系機能も使える
- 538 :デフォルトの名無しさん :2021/06/06(日) 06:22:02.86 ID:weTrX2zS0.net
- >>535
オブジェクトの種類の1つがノードってことですね
yagniってのを信じてて、使うことだけを勉強すると
>>530
domってのはつまり、ただの階層構造ですよね
- 539 :デフォルトの名無しさん :2021/06/06(日) 07:01:24.97 ID:AEZk3bsc0.net
- 現実で実践するのは良いがやり過ぎは友達無くすよ
文字通り要らんのかもしれんけど
- 540 :デフォルトの名無しさん :2021/06/06(日) 09:39:10.77 ID:6dX5kGmx0.net
- javascriptの書物とか動画のおすすめとかある?
すでに書かれてあったらスマソ
- 541 :デフォルトの名無しさん :2021/06/06(日) 11:35:27.06 ID:weTrX2zS0.net
- javascriptでは単なる文字列はオブジェクトではない、とみなされるようです
ノード(つまりタグ)に対して付与されるものであって、文字自体はオブジェクトじゃないということですよね
- 542 :デフォルトの名無しさん :2021/06/06(日) 12:08:34.85 ID:uClmKKSG0.net
- んなあワケない
- 543 :デフォルトの名無しさん :2021/06/06(日) 12:46:12.70 ID:weTrX2zS0.net
- >>542
どうも勘違いしていたようです
使用している関数の引数として適切ではないという意味だったようで
- 544 :デフォルトの名無しさん :2021/06/06(日) 12:57:18.59 ID:weTrX2zS0.net
- insertAdjacentTextとinsertAdjacenetHtmlの違いってなんでしょうか?
<div>あああ</div>
どちらでも↑を↓の状態に出来ました。
<div><span>あああ</span></div>
動作の違いは感じられませんが
- 545 :デフォルトの名無しさん :2021/06/06(日) 13:11:29.85 ID:weTrX2zS0.net
- ↑ああ、分かりました
adjacenthtmlだと、"<span>"などとしたときに閉じタグが付与されますね 勝手に
- 546 :デフォルトの名無しさん :2021/06/06(日) 13:47:28.77 ID:deO9fsXQ0.net
- これは、プロ用の初心者向けの本。
かなり難しい
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
- 547 :デフォルトの名無しさん :2021/06/06(日) 17:40:54.85 ID:HeHF5+P0d.net
- 開眼JavaScript
- 548 :デフォルトの名無しさん :2021/06/06(日) 19:54:43.32 ID:weTrX2zS0.net
- vscodeでjavascriptをhtml外から呼び出した場合、補完は効かないのですか?
htmlファイルとjsファイルを分けた場合、jsファイルでhtmlのidを取りたいなんていう場合
入力補完は当然出ません
このような場合はどうしてるのでしょうか?
- 549 :デフォルトの名無しさん :2021/06/07(月) 14:09:10.93 ID:Y/i97Tuu0.net
- 10数年ぶりにプログラミングやってみようかなと思い立った初心者です
JavaScriptをやってみようと思っているのですが、学習ルートとしてまずES6
その後TypeScriptに行くべきか、Reactに行くべきか迷っています
AltJSとフレームワークなので一概にどちらが先とは言えないかも知れませんが、あえて選ぶならどちらから学ぶべきでしょうか?
もちろん最終的にはReactをTypeScriptで書いてWebアプリを作ってみたいと思っています
どっちでも良いと言われるような気はするのですが、それでもあえて諸先輩方のご意見をお伺いしたいです
- 550 :デフォルトの名無しさん :2021/06/07(月) 14:43:46.50 ID:OvPzoGrd0.net
- いずれTypeScriptやること決めてるならわざわざJavaScript挟む意味ない
TypeScriptやってReact進めばいいだろ
- 551 :デフォルトの名無しさん :2021/06/07(月) 17:15:28.63 ID:cP5Yb5w50.net
- javascriptのオブジェクトが、多言語でのクラスということですか?
- 552 :デフォルトの名無しさん :2021/06/07(月) 17:28:09.54 ID:OvPzoGrd0.net
- 違います
そもそも他言語のクラスとかひとまとめに我こそがスタンダードみたいに言うけど、そのクラスの用法ってクラスベースオブジェクト指向特有のものでしょ。
まぁJSも追従しちゃったけどさ。
- 553 :デフォルトの名無しさん :2021/06/07(月) 17:29:49.37 ID:PmtxqO8T0.net
- ボクのオブジェクトも暴発しそうです
- 554 :デフォルトの名無しさん :2021/06/07(月) 17:35:37.04 ID:PmtxqO8T0.net
- 父のプロトタイプから包茎を継承してしまったようです
- 555 :デフォルトの名無しさん :2021/06/07(月) 17:42:33.71 ID:toxQnbWm0.net
- (;´д`)
- 556 :デフォルトの名無しさん :2021/06/07(月) 18:28:53.16 ID:50KNDDY70.net
- >>551
https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9#%3A%7E%3Atext%3D%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9_%28%E8%8B%B1%3A_class-%2C%E3%81%99%E3%82%8B%E3%80%81%E3%81%A8%E3%81%84%E3%81%86%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9#%3A%7E%3Atext%3D%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9_%28%E8%8B%B1%3A_prototype-%2C%E3%82%92%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A8%E5%91%BC%E3%81%B6%E3%80%82
- 557 :デフォルトの名無しさん :2021/06/07(月) 18:46:01.96 ID:50KNDDY70.net
- >>549
その二択ならTypeScript
文法を先に学ばないと躓く
ES6は2015年の仕様で今から学ぶには古すぎる
ES2020を学ぶ方が効率は良い
http://www.ecma-international.org/ecma-262/11.0/
- 558 :デフォルトの名無しさん :2021/06/07(月) 19:06:44.87 ID:XflghCQg0.net
- うせやろ
ES6で古いんだ
IE対応しないと駄目だったのでアロー関数使ってないから忘れたのに…
もう駄目だな…
- 559 :デフォルトの名無しさん :2021/06/07(月) 19:18:18.21 ID:50KNDDY70.net
- >>558
IEをサポートする必要かあるのか、検討すべきでは?
https://docs.microsoft.com/ja-jp/lifecycle/faq/internet-explorer-microsoft-edge#internet-explorer--------------------------
https://kangax.github.io/compat-table/es2016plus/
- 560 :デフォルトの名無しさん :2021/06/08(火) 11:33:50.39 ID:V6KC1q9F0.net
- オブジェクトリテラルはプロパティと同義ですかね?
オブジェクトの持つデータですよな
- 561 :デフォルトの名無しさん :2021/06/08(火) 12:01:34.57 ID:pZSU03Zb0.net
- >>560
違う
あなたは先日からおかしな前提の質問ばかり
知識の穴が多すぎて一問一答で出来る範囲を超えている
YAGNI信じてるようだが、必要になったら基礎学習する習慣をつけるべき
- 562 :デフォルトの名無しさん :2021/06/08(火) 12:26:14.97 ID:Vw+6EMs10.net
- > prototype=組み込み、といった意味だと思いますし、、、。
専門用語が分からない
↓
そうだ英単語の意味から推測しよう
↓
英単語の意味から間違えている
いくらなんでも酷すぎ
プログラミング関係なく問題解決の取り組み方が杜撰で稚拙すぎ
辞書引くことすら失敗するとか一体どういう教育受けてきたの
- 563 :デフォルトの名無しさん :2021/06/08(火) 18:29:25.55 ID:pZSU03Zb0.net
- 自分で調べるより専門家に聞いた方が早いと思うタイプの人なんだろう
>>562のようにちょっと調べればわかるはずの内容を質問したり、回答したURLを全く読んでないかのような反応が返ってくる
DOMもプロトタイプチェーンも学習した形跡がない
- 564 :532 :2021/06/08(火) 18:39:03.92 ID:spIl1qf+M.net
- 忍耐強く付き合ってくれる方々が居るうちはYAGNIで上手く行くのかも知れない
早々に匙を投げてしまった自分が言える立場じゃないけど
- 565 :デフォルトの名無しさん :2021/06/08(火) 21:06:17.76 ID:6yn9zQdn0.net
- オナニーメソッドは定義されてますが
セックスメソッドが見当たりません
- 566 :デフォルトの名無しさん :2021/06/09(水) 11:50:43.35 ID:+7j1Uic/0.net
- C#の拡張メソッドはやってることが分かりやすいね
staticと宣言され、thisが第1引数
ただ宣言と利用で引数が違うのが気持ち悪い
C#で基礎的に多い使いどころはnull処理や型変換
なんでも型としてobjectがあるので
でもやたら型に煩いので中の分岐が面倒
javascriptの引数は全てなんでも型だが、逆にprototypeのthisだけは型が必要
なので、null処理や型変換は、普通の関数にしてる
そもそも「メソッドチェーンはnullで止まる」とか、最初から言われてたり
- 567 :デフォルトの名無しさん :2021/06/09(水) 12:14:45.43 ID:mxnL56NS0.net
- >>566
> javascriptの引数は全てなんでも型だが、逆にprototypeのthisだけは型が必要
後半はちょっと意味がわからない
this値はStrictModeで指定値をそのまま使い、SloppyModeで指定値をObject型に変換した値を使う
型の制約はないはず
- 568 :デフォルトの名無しさん :2021/06/09(水) 12:35:56.32 ID:+7j1Uic/0.net
- >>567
失礼、nullが駄目なだけだね
- 569 :デフォルトの名無しさん :2021/06/09(水) 12:40:37.25 ID:muvslTP60.net
- オナホールに型があるとは知りませんでした
密閉型のつもりで射精したら貫通型だったらしくリークしてしまったようです
- 570 :デフォルトの名無しさん :2021/06/09(水) 13:01:14.82 ID:+7DuCF3D0.net
- arrayとDocument.createDocumentFragment()の違いってなんでしょうか?
createElementで作成したタグを、ターゲットに複数追加したい場合、後者を使います。
しかし、arrayにもアンカーは格納されているようです。
- 571 :デフォルトの名無しさん :2021/06/09(水) 13:53:10.87 ID:mxnL56NS0.net
- >>568
nullでも問題はない
実証コードを書いて、問題が起きるパターンを整理してみては?
Object.prototype.toString.call(null)
- 572 :デフォルトの名無しさん :2021/06/09(水) 13:54:10.75 ID:mxnL56NS0.net
- >>570
回答スルーして新規質問を量産してるが、何がしたいんだ?
- 573 :デフォルトの名無しさん :2021/06/09(水) 14:01:43.46 ID:w6w52mg40.net
- createDocumentFragment は、jQuery でも使っている
ソースコード内を検索してみ
- 574 :デフォルトの名無しさん :2021/06/09(水) 15:23:28.36 ID:+7j1Uic/0.net
- >>571
Object.prototype.foo=function(s){略}
null.foo() こう書けないなら
function foo(s){略}
foo(null) こうせざるを得ない、ということなんですが
null.foo().bar() この利点は
bar(foo(null)) これより目に優しいという
- 575 :デフォルトの名無しさん :2021/06/09(水) 18:17:53.95 ID:mxnL56NS0.net
- >>574
いろいろと誤解があるので、プロパティアクセサ、プロトタイプチェーンについて再学習することをお勧めする
(ちなみに、あげられている問題は「this値」は全く関係していない。用語定義も見直したほうが良いと思う。)
Object.prototype.foo を定義してfooプロパティを参照できるのは、new Objectかプロトタイプチェーン上に Object.prototype が存在するオブジェクトに限定される
プロパティアクセスする際、それがPrimitive値であるなら、Object型に変換してプロパティ参照を試みるが、null, undefined はObject型に変換できず、TypeErrorとなる
(null).toString; // TypeError: Cannot read property 'toString' of null
(undefined).toString; // TypeError: Cannot read property 'toString' of undefined
なお、null,undefinedでなくても、プロトタイプチェーン上に Object.prototype が存在しなければ、Object.prototype.foo をプロパティアクセサで参照できない
Object.prototype.foo = 1;
console.log(Object.create(null).foo); // undefined
Object.prototypeの影響範囲は大きいが、それでも全てのデータに影響を及ぼすものではない
- 576 :デフォルトの名無しさん :2021/06/10(木) 08:41:17.28 ID:U1CAdJt50.net
- >>575
だからnullは駄目ってことですよねw
(C#ではそれができるという違い)
- 577 :デフォルトの名無しさん :2021/06/10(木) 08:57:10.02 ID:O1fj45xU0.net
- >>576
null.foo()が動かない背景の説明>>574,566が何一つ正しくなくて比較対象として成立していない、という話
- 578 :デフォルトの名無しさん :2021/06/12(土) 12:09:15.43 ID:TONJAMor0.net
- JavaScriptは初心者向けの簡単な言語と言われているけど、ものすごく難しくないですか?
Javaとアセンブラも出来るけど、JavaScriptの方が圧倒的に難しい。
- 579 :デフォルトの名無しさん :2021/06/12(土) 13:07:42.11 ID:gwGFqR/Mr.net
- 当たり前だけど初級レベルはそれほどでもない
しかし製品レベルを作るとなると一気にナンジャコレ的な書き方でジャバパーたちには理解不能になる
そこにDOM、jsxやstyle componentとかも入ってくるからもはや宇宙語になる
- 580 :デフォルトの名無しさん :2021/06/12(土) 13:10:20.75 ID:sFAMwcrAM.net
- まずJavaが出来るとはどこまで出来るのか
- 581 :デフォルトの名無しさん :2021/06/12(土) 13:34:25.97 ID:dSUYOhsd0.net
- JavaScriptはWEBブラウザを誰でも持っていて環境が身近だから試してみやすいというだけで、言語自体が初心者向けというわけではないだろ。
まともに使おうとしたらかなり筋の悪い言語。所詮はWEB用のDSL。
Excelは持ってるからVBAやってみるみたいなもんだよ。
- 582 :デフォルトの名無しさん :2021/06/12(土) 15:13:04.15 ID:TONJAMor0.net
- >>580
ボラクルのシルバー
- 583 :デフォルトの名無しさん :2021/06/12(土) 15:55:52.61 ID:uZPmX/A70.net
- >>578
JavaScriptの理解が難しくなる下地は十分にある
- 複数の仕様書
- 複数ブラウザで動作確認
- 新機能作成時の制約(一定の後方互換性を担保)
それ以前にESレベルの基本を分かってない人が多過ぎな気はするが
- 型
- [[Prototype]]
- プロトタイプチェーン
- スコープチェーン
- 584 :デフォルトの名無しさん :2021/06/12(土) 17:03:36.21 ID:th+ACTev0.net
- JavaScript(正しくはECMAScript)ほど仕様しっかりしてる言語は今メインストリームの言語でそんなにはないと思うけどな。Cはしっかりしてるけど、かなりコンパクトな言語だからドキュメント量が全然違う
RubyやPythonにいたっては酷いもんだ。思い付きで作ってるレベル
- 585 :デフォルトの名無しさん :2021/06/12(土) 17:20:10.36 ID:7X99TIl20.net
- 仕様が複数あると言っても、Babel使ってES2020から入るのが正解だろうね。
余計なことを学ぶ必要性が減る。プロトタイプチェーンなんて最初は知らなくていい。
- 586 :デフォルトの名無しさん :2021/06/12(土) 17:33:15.15 ID:oYBdY7Ja0.net
- Babelで後方互換性担保できるといっても
Setみたいに色々なことができるせいで機械的な書き換えができないコンストラクターがあるからなあ
業務端末が古いandroidのイントラ案件でSet動いてないの気付かず3時間くらい無駄にしたわ
- 587 :デフォルトの名無しさん :2021/06/12(土) 17:52:32.79 ID:uZPmX/A70.net
- JavaScript関連の仕様はECMAScriptの他に、DOM,HTML,UIEvents,fetch,Selectors,CSDOM等、多くの仕様がある
Babelを使えば、ECMAScriptをES2020に一本化出来るが、他の仕様は読まなければならない
仕様書の中には日本語訳がなく、英語を読まなければならない場合もある
対して、Ruby,Pythonは公式マニュアルの日本語訳一つを読めば事足りる
資料の読みこなしの面では、JavaScriptの難度は非常に高い
不正確な二次情報に惑わされたり、MDNも時々間違ってたり、罠が多い
- 588 :デフォルトの名無しさん :2021/06/12(土) 18:08:20.99 ID:7X99TIl20.net
- DOMを扱うならDOMを学ばなきゃならんというだけでJavaScriptとは関係ないが?
RubyやPythonを使ったとしてもDOMを扱うなら同じように必要だろう。
Webだけで学ぼうとすると古い情報に惑わされやすいというのはその通りだな。
ちゃんとした書籍を1冊用意して学ぶのが吉。
- 589 :デフォルトの名無しさん :2021/06/12(土) 19:05:50.66 ID:uZPmX/A70.net
- >>588
Python公式文書はDOM APIの説明があるので、DOM仕様書を読まずともある程度の情報は得られる
https://docs.python.org/ja/3/library/xml.dom.html
ESにはDOM,HTML,fetch,CSSOM等のAPI情報は当然ない
MDNがこの役割に近いが、仕様程の信頼性がなく、英語版と日本語版で情報に差異があったり、仕様と比べて情報鮮度が落ちている部分がある
体系的な一カ所にまとまった一次情報と呼べるものがJavaScriptにはない
実装が複数仕様を実装する形なので当然だが、調査コストが高いのは事実
Pythonは仕様と実装が同一なので、仕様と実装の差を区別する必要がない
ドキュメントも仕様と実装の2つ分を読む必要がなく、最新の情報に整備されている
- 590 :デフォルトの名無しさん :2021/06/12(土) 19:38:43.59 ID:7X99TIl20.net
- 糞どうでもいいさにしか思えないがそこまでして優劣をつけたいんだろうか
- 591 :デフォルトの名無しさん :2021/06/12(土) 21:01:08.50 ID:uZPmX/A70.net
- >>590
ちゃぶ台返しだな
>>578と>>588にいってやれ
- 592 :デフォルトの名無しさん :2021/06/12(土) 21:06:47.07 ID:7X99TIl20.net
- ?
DOMを持ち出すのは関係ないし糞どうでもいいことなのは変わらんが?
- 593 :デフォルトの名無しさん :2021/06/15(火) 08:09:22.25 ID:V8tE61t00.net
- 1個の商品の金額の場合オブジェクトでvar shouhin = {};と宣言してshouhin.kingakuとすればいいんですが
複数の商品の場合shouhin[1].kingaku、shouhin[2].kingakuのようにしたいんですが
宣言や関数で引数として渡す場合はどうすればいいですか?
- 594 :デフォルトの名無しさん :2021/06/15(火) 08:57:01.65 ID:+pZThSMJ0.net
- 配列にするだけじゃん。
- 595 :デフォルトの名無しさん :2021/06/17(木) 11:44:35.91 ID:Y2s/MWh/0.net
- 内部関数をコールバックに渡せるのは超楽だね
同名のグローバル関数があってそっち行くかな?と思ったらちゃんと内部関数に行った
(そもそも普通の関数に内部関数をほいほい書ける時点で超楽だが)
コールバックがグローバルに限定された言語の場合、名前管理が増えるのが嫌で、
なんとかコールバック使わずに、とか頭をひねっちゃう
- 596 :デフォルトの名無しさん :2021/06/17(木) 12:31:17.20 ID:hYDgxsHQ0.net
- classを使ってる奴いる?
今まで通りfunctionのコンストラクタで十分だよな。
- 597 :デフォルトの名無しさん :2021/06/17(木) 14:39:14.89 ID:jYVCbF5R0.net
- >>596
誰のためにあるかという話だわな。
なおクラス構文導入議論時、反対派の旗手だったのはグッドパーツ著者でありJSONの発明者でもあるダグラスクロックフォード。
https://www.graat.co.jp/blogs/ckn8ourdkezx50b95h4v5uk1o
障害物 #1: .NET開発者のチーム参加
概念実証の後は、クライアントのアウトソーシングチームの開発者が合流した。 知識共有はまだ始めておらず、CTOから「やあ、Răzvan。明日は本物のアウトソーシングチームと会わないといけないね」とメールが送られてきた。
我々はミーティングを設け、テクニカルリードは私を質問と解決策で迎え撃った:
「依存性の注入はどこですか?『必要ない』とはどういうことですか?」:これはInversifyJSだよ!
「関数コンポーネント? ダメダメダメ。我たちは好きじゃないからクラスコンポーネントを使いましょう!」
「なぜこれらの関数はただぶら下がっているだけなのですか? なぜ静的にするためサービスクラス内でカプセル化しないのですか?」
「APIのリトライポリシーはどこですか? PollyJSで実装しましょう」
「なぜクラス名がパスカルケースの場合にファイル名がダッシュケースとなるのですか? クラス名を反映させるため、今後はSomePageComponent.tsxという名前にします」
そして、私をもっとも悩ませた件:「Visual Studio CodeでなくVisual Studioで実行するにはどうすればよいでしょうか?」
私は確信した。彼らはReactで .NETのガイドラインとデザインパターンを使いたがっている。私は何度もこのような出来事を見てきた — 新しい技術のやり方に適応できず苦労している開発者だ。
↓
9か月後、我々は50ページ以上を作成していた。開発者たちは関数コンポーネントがクラスコンポーネントと同じくらい良いことに気づき、それらを使い始めた。その結果、進行中のプロジェクトは元々のコーディング規約に従わなくなっていた。
本当.NET老害ってクソだわ。
自分が分からないからって意味ない(できることが増えるわけでもない)クラスベースに固執しといて、単純な関数で同じことできると気づいたらお前らのワガママに合わせて作ってやったコーディング規約破って勝手に使い出すんだからな。
いや、言いだしっぺなんだからクラス使い続けろや!
- 598 :デフォルトの名無しさん :2021/06/17(木) 16:52:43.35 ID:hYDgxsHQ0.net
- >>597
結局これも将来的には非推奨になりそうですよね。
中途半端な機能を増やされると現場はかえってしんどい。
- 599 :デフォルトの名無しさん :2021/06/20(日) 16:40:52.66 ID:WIbUxISs0.net
- 要素を取得して、appendchildしたいのですが、appendchildは移動になるんですよね。
そこでassignでコピーしたいと思います。
以下のspanをコピーした後、別のspan内に入れたいです。
<span id="test_span" style="background-color: skyblue;">てすとな</span>
<ul id="table_of_content"></ul>
let toc = document.getElementById("table_of_content");
let span = document.getElementById("test_span");
let copy = Object.assign(document.createElement("span") ,span);
toc.appendChild(copy);
しかし、これだとtable_of_contentにspanは挿入されますが、spanの中身がありません。
let copy = Object.assign(document.createElement("span") ,textContent:span.textContent);
こうへんこうしてもだめです。
let copy = Object.assign(document.createElement("span") ,{textContent:span.textContent});
これならokです。
なぜこのような結果になるのでしょうか?
マージするオブジェクトの型?みたいなものが一致していないとだめなのですか?
1つ目はタグにタグをコピーしているだけ
2つ目はタグにプロパティをコピーしている
3つ目はタグオブジェクトに、オブジェクトリテラル?をコピーしている?
この辺のことを教えて下さい
- 600 :デフォルトの名無しさん :2021/06/20(日) 20:46:26.62 ID:sZ7GtS6K0.net
- Nodeオブジェクトに元から存在するプロパティは列挙可能になってないからそのままObject.assginしても何もコピーされない
textContentプロパティだけを取り出してObject.assignするくらいなら
let copy = document.createElement("span");
copy.textContent = span.textContent;
でいいじゃない
もっともノードの複製は
let copy = span.cloneNode(true);
で一発。ただしid等の一意であるべき属性も存在する場合は複製されることに注意
- 601 :デフォルトの名無しさん :2021/06/21(月) 11:08:34.75 ID:qJrDRmsU0.net
- >>600
ノード全体をコピーする場合はcloneで、タグ名などを変えたい場合は教えてもらった方法でやることにします。
1行目なんですが、「 Nodeオブジェクトに元から存在するプロパティは列挙可能になってないからそのままObject.assginしても何もコピーされない 」というのはどういう意味でしょうか?
1つめのやり方に対してだと思いますが、どちらのspanエレメントもtextContentプロパティは持っていると思います。
とりあえず、中身もコピーする場合はプロパティにまでアクセスしないといけないことは分かりました。
object.assignというのはループを回しているわけですよね。おそらく。
- 602 :デフォルトの名無しさん :2021/06/21(月) 18:44:30.50 ID:uOMSqfSW0.net
- 素のJS書いてます
DOM要素の中身をまるまる消したいんですが、もっといいやり方ないですか?
今はinnerHTML=""で消してます
- 603 :デフォルトの名無しさん :2021/06/21(月) 23:17:22.43 ID:K1IZmgnQM.net
- それだと気に入らない点は?
- 604 :デフォルトの名無しさん :2021/06/22(火) 01:04:49.78 ID:kGm2q7jg0.net
- var el = document.querySelector('#nakamikiero');
while (el.firstChild) el.removeChild(el.firstChild);
別にinnerHTMLでいいと思う
- 605 :デフォルトの名無しさん :2021/06/22(火) 01:23:10.83 ID:XaKTjWfC0.net ?2BP(1000)
- http://img.5ch.net/ico/nida.gif
初心者です。
chrome拡張機能を作っているのですが、自分のコードが他の人から見たら、見づらかったりするのか気になったので評価してくれませんか?
一人で作っているのでコメントはほぼないです。
https://harigami.net/cd?hsh=b5c6452f-fa81-4b69-b554-d68bf8194d75
- 606 :デフォルトの名無しさん :2021/06/23(水) 17:45:18.28 ID:XH4Ry57E0.net
- constって値の変更できないのであとから値を変更したくなった場合letに書き直さないといけないので
最初からconstよりlet使った方が無難だよね?
constの方が速度が速いってこともないだろうし
- 607 :デフォルトの名無しさん :2021/06/23(水) 18:05:46.06 ID:9X5+Yxrt0.net
- JITの最適化に影響することはあるんじゃない?知らんけど
個人プログラムならそう困ることないし別にいいと思う
- 608 :デフォルトの名無しさん :2021/06/23(水) 18:16:29.13 ID:uY7z/n/mM.net
- letってスコープ外からアクセスできないのであとからアクセスしたくなった場合let消してグローバル変数にしないといけないので
最初からletよりグローバル変数使った方が無難だよね?
letの方が速度が速いってこともないだろうし
- 609 :デフォルトの名無しさん :2021/06/23(水) 18:20:16.91 ID:XH4Ry57E0.net
- >>608
グルーバルはどこからでも変更できちゃうので基本使わない
せやから変数はバケツリレーしてでも引数として渡す
- 610 :デフォルトの名無しさん :2021/06/23(水) 20:29:20.42 ID:XbDUStol0.net
- >>609
それが分かるなら、「letはスコープ内で改変可能なので、再代入が必要な変数以外では使用しない」に辿り着くはずなんだがな
- 611 :デフォルトの名無しさん :2021/06/23(水) 21:08:19.92 ID:rlUBqderr.net
- なんか新次元の考え方してるのがおるな
- 612 :デフォルトの名無しさん :2021/06/23(水) 21:53:55.51 ID:L1j5jH/CM.net
- 再代入が必要な変数が全体の何割あるかまず眺めてみたらいいんじゃね
更にあとから再代入の必要性に気付くパターンに絞って何割あるのか
- 613 :デフォルトの名無しさん :2021/06/24(木) 21:15:11.64 ID:hag/RBI30.net
- >>609
>>608 がアイロニーだってことくらい気づけよ。
- 614 :デフォルトの名無しさん :2021/06/25(金) 16:01:35.51 ID:CvkTX/L1M.net
- DIVの中にline-hightを設定したテキストを入れた時と同じ場所になるようにDIVと同じサイズのCanvasの中に文字を書き込みたいんだけどどうやるの(´;Д;`)
- 615 :デフォルトの名無しさん :2021/06/26(土) 17:26:43.66 ID:JTIK8PSO0.net
- >>614
ボックスモデルと同じ計算を実装すればいい
https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model
- 616 :デフォルトの名無しさん :2021/06/26(土) 18:57:01.42 ID:JMJiYaB90.net
- >>615
line-height内でのテキストの上下方向の位置を合わせる方法がわからない
- 617 :デフォルトの名無しさん :2021/06/26(土) 19:10:04.18 ID:JTIK8PSO0.net
- >>616
border,line-height,paddongを計算すればいい
というか、ボックスモデルを読め
- 618 :デフォルトの名無しさん :2021/06/26(土) 19:52:17.54 ID:JMJiYaB90.net
- ボックスというかベースラインの話
今サンプル作る
- 619 :デフォルトの名無しさん :2021/06/26(土) 20:25:23.61 ID:JTIK8PSO0.net
- >>618
ではvertical-alignを作れ
https://developer.mozilla.org/ja/docs/Web/CSS/vertical-align
当初のline-hightが関係なくなってる
現象を切り分けしてから質問してくれ
- 620 :デフォルトの名無しさん :2021/06/26(土) 20:30:25.16 ID:JMJiYaB90.net
- >>619
そのベースラインの座標がわからない
- 621 :デフォルトの名無しさん :2021/06/26(土) 20:35:43.90 ID:JMJiYaB90.net
- サンプルがこれなんだが、最後の 80*0.64 って奴がline-height*割合で
割合を調整してベースラインの位置に来るように調整してあるんだがfont-sizeやline-heightを変えると0.64じゃ一致しなくなる
https://codepen.io/as124680/pen/wvdwWyO
- 622 :デフォルトの名無しさん :2021/07/12(月) 23:42:04.57 ID:wbIA3J3A0.net
- <table id="tb">
<tr>
<td><img src="./test1.png"></td>
<td><img src="./test.2png"></td>
<td><img src="./test3.png"></td>
</tr>
</table>
tableの中にあるimgのelementを取得したいんですけど
imgに個別にidやclassを設定しなくてもそれぞれのimgのelementを取得できる方法があったら
やりかたを教えてください
- 623 :デフォルトの名無しさん :2021/07/13(火) 00:00:08.97 ID:orpWKMoQM.net
- >>622
document.querySelectorAll("#tb td > img");
セレクタの指定は適当なので目的に応じて考えてくれ
- 624 :デフォルトの名無しさん :2021/07/13(火) 03:42:43.38 ID:dtNqNBdW0.net
- 「css セレクタ」で検索!
x y は、xの子孫(子・孫・玄孫なども含む)のy。
x > y は、xの子(直下のみ)のy
JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用に立てられたもので、今は使われていません
- 625 :デフォルトの名無しさん :2021/07/18(日) 14:00:13.55 ID:5EoIqaKx0.net
- プログラミングするときは必要な処理を必ず日本語化したほうがいいですか?
まず、必要な機能をすべて書き出してから、フローチャート的なものを作る
ぶっつけでコードを書き始めると駄目ですかね。
- 626 :デフォルトの名無しさん :2021/07/18(日) 14:03:11.59 ID:V5WXwT7R0.net
- いや全然
- 627 :デフォルトの名無しさん :2021/07/18(日) 16:06:28.09 ID:5EoIqaKx0.net
- ストップウォッチを作っています。
1:スタートボタンを押した時にカウントアップを開始し
2:もう1度押すと停止します
3:もう1度押すと途中からのカウントアップを開始します
この途中からのカウントアップのやり方がわからないのでヒントを教えて下さい。
addTime変数にカウントアップ途中の数値をセットし、3に加算すればいいわけですが、上手くイカなかったので教えて下さい。
わからないのはaddTimeの取得方法と、加算のタイミングです。
- 628 :デフォルトの名無しさん :2021/07/18(日) 16:08:02.80 ID:5EoIqaKx0.net
- https://ideone.com/Fq7ki3
コードはこちらになります。
別の質問なんですが、コードのペーストサービスってどこがいいんでしょうか?
- 629 :デフォルトの名無しさん :2021/07/18(日) 16:09:17.45 ID:EvgeERSZ0.net
- 一人で作る場合はそんなことしてる奴ほぼいないと思う
チームで作るならそれをするのはPMの仕事
- 630 :デフォルトの名無しさん :2021/07/18(日) 18:28:56.11 ID:V5WXwT7R0.net
- >>628
ごめんコード見てない
https://jsfiddle.net/bLce9az3/
- 631 :デフォルトの名無しさん :2021/07/18(日) 20:54:37.23 ID:H/NN8O820.net
- JSFiddle が多いかも。
Ideone とか
Codepad は、バージョンが古い感じ
日本なら、paiza.IO
- 632 :デフォルトの名無しさん :2021/07/18(日) 23:43:41.81 ID:5EoIqaKx0.net
- >>630
どうも
performanceを使うといいんすね
差分の部分も参考にさせてもらいす
わからなかったら聞きます
- 633 :デフォルトの名無しさん :2021/07/19(月) 14:43:39.83 ID:Dj9cyoNJ0.net
- jaavscriptって型あるんですか?
let ms= 1000
としてもデータオブジェクト?じゃないので、getUTCSeconds()などが使えません
let ms = new Date(1000)
これでokです
>>631動作確認しやすいのでjsfiddleにしときます
- 634 :デフォルトの名無しさん :2021/07/19(月) 19:11:44.96 ID:ailiffqUM.net
- JSは動的型付け言語なので当然型はある
あと所詮60の除算をしてるだけなので、いちいちDate型に変換するのはぶっちゃけ大仰
- 635 :デフォルトの名無しさん :2021/07/19(月) 20:25:14.80 ID:Dj9cyoNJ0.net
- >>630
performance.nowって時刻を取得して差分を求めるより、正確なタイマーになるんでしょうか?
utcの時刻です。
- 636 :デフォルトの名無しさん :2021/07/19(月) 21:04:01.22 ID:xti7QTCXM.net
- ブラウザ次第としか
最近は敢えて精度を落としてることもあって、多分変わらんかも
- 637 :デフォルトの名無しさん :2021/07/19(月) 21:45:19.83 ID:09ZI50XP0.net
- >>628
k4aのコードに似てるのは気のせいか?https://teratail.com/questions/348862
>>635
同じ質問者が質問して得た回答に答えはある
https://teratail.com/questions/348048
- 638 :デフォルトの名無しさん :2021/07/20(火) 06:08:39.83 ID:VV+336kW0.net
- >>637
performanceについての質問はしてないですよ。
performanだとcpu性能などに影響されるのか分かりません。
- 639 :デフォルトの名無しさん :2021/07/20(火) 06:28:13.06 ID:znznH+MD0.net
- >>638
失礼、performance.now()には触れてなかったな
だが、リファレンスに書いてある
https://developer.mozilla.org/ja/docs/Web/API/Performance/now
> performance.now() メソッドは、ミリ秒単位で計測された DOMHighResTimeStamp を返します。
---
https://teratail.com/questions/348048
> あらゆるイベントに timeStamp というプロパティがあり、これが 0.005ms 程度の精度だそうです。
こう回答されたら、俺ならtimeStampプロパティを使うが
- 640 :デフォルトの名無しさん :2021/07/20(火) 11:44:45.80 ID:VV+336kW0.net
- >>639
performanceはタイムスタンプを取得しているそうですが、その取得にはcpu性能が影響するのでしょうか。
最初のタイムスタンプの取得が遅れたとしても、終了時のタイムスタンプも同様に遅れるわけですから、差分は変わらないと考えればいいでしょうか。
- 641 :デフォルトの名無しさん :2021/07/20(火) 18:05:59.91 ID:2nw+devd0.net
- >>640
CPUに影響しない処理はほとんどないも思うが、GPU演算を期待してるのか?
ハードウェアアクセラレーションは門外漢なので分からん
専門家に確認してくれ
そこまで気にしていて、requestAnimationFrameが候補に挙がらない理由が謎
- 642 :デフォルトの名無しさん :2021/07/20(火) 19:59:06.20 ID:VVNKYXKQM.net
- 質問の意図がよく分からないので何とも
完全無欠なタイマーが作りたいって話なら力にはなれん
- 643 :デフォルトの名無しさん :2021/07/20(火) 22:23:21.73 ID:VV+336kW0.net
- >>641
ありがとうございました。
gpuを期待しているわけではないです。
非力な環境で正確な動作をするかどうか分からないのです。
- 644 :デフォルトの名無しさん :2021/07/21(水) 21:55:42.60 ID:eII+w+/h0.net
- msから時間(hour)を取得する関数はあるのでしょうか?
getutchourとgethourだと、時刻?が取得されるみたいです。
http://www.htmq.com/js/date_getUTCHours.shtml
1日が86400000msなので、何時間か得るにはこうします
86400000 / 3600000 = 24
getutchoursを使用すると結果は0となります。
let dt = new Date(86400000);
console.log(dt.getUTCHours());
- 645 :デフォルトの名無しさん :2021/07/21(水) 22:38:44.52 ID:EEgQ3OP9M.net
- ありません
- 646 :デフォルトの名無しさん :2021/07/21(水) 22:45:53.25 ID:EEgQ3OP9M.net
- 割り算すら面倒ならMoment.jsでも使ったら
- 647 :デフォルトの名無しさん :2021/07/21(水) 23:23:26.06 ID:DMdKV/rn0.net
- >>644
剰余
- 648 :デフォルトの名無しさん :2021/07/22(木) 01:35:46.57 ID:pUylfiot0.net
- 最近javascriptを始めた者ですが、最初の段階からつまづいています。
参考にしているのはこの本ですが「https://www.sbcr.jp/product/4815601577/」
ブラウザのコンソール機能を使って文字を表示させるのですが、上手くいきません。
「>console.log('おうむ返し');」と打ち込んでも、「Uncaught SyntaxError: expected expression, got '>'」
と言うエラーメッセージが出て上手く表示されません。
本に書いてある通りにやっているつもりなのですが、何故なんでしょうか?
宜しくお願いします。
- 649 :デフォルトの名無しさん :2021/07/22(木) 01:46:58.75 ID:VUYJjhRP0.net
- console.log('おうむ返し');
と打ち込んでください
- 650 :デフォルトの名無しさん :2021/07/22(木) 01:47:21.36 ID:QbcHd2I2r.net
- エラーメッセージにそのまま書いてるだろ
なんで読まないんだよ
- 651 :デフォルトの名無しさん :2021/07/22(木) 02:05:33.27 ID:pUylfiot0.net
- >>649
「illegal character U+FF1B」と出るのですが・・・
- 652 :デフォルトの名無しさん :2021/07/22(木) 02:13:03.04 ID:pUylfiot0.net
- 自己解決しました。
「:」を付けるなと言うエラーでした。
しかし、本には「>」「;」を付けろと書いてあるのですが
付けてはいけないのでしょうか?
- 653 :デフォルトの名無しさん :2021/07/22(木) 03:43:27.82 ID:kFdJ5CFB0.net
- 「javascript console.log」で検索してみれば?
- 654 :デフォルトの名無しさん :2021/07/22(木) 03:43:40.04 ID:ZZMUYXj4M.net
- u+ff1bは全角のセミコロン(;)
;みたいな半角にすれば上手くいく
セミコロンに限らずプログラムを書く時は文字列、コメント以外は基本全角を使ってはいけないことを意識した方がいい
JavaScriptの場合文字列にあたるのは"文字列"、'文字列'、`文字列`の3種類
- 655 :デフォルトの名無しさん :2021/07/22(木) 03:57:29.35 ID:af5EgLY0M.net
- 言い忘れてたけど>はコンソールの入力を表してるだけだからそれ自体は入力しない
javascriptと直接は関係ないけど$とか#も同様
- 656 :デフォルトの名無しさん :2021/07/23(金) 07:07:08.07 ID:UhHw7gdf0.net
- まああとエラー文くらいは英語でも読もうぜ
せっかくエラー出してくれてるんだから
- 657 :デフォルトの名無しさん :2021/07/23(金) 14:12:58.59 ID:/dxGnZSf0.net
- 都道府県のデータを地図上に表示させる場合、なにかしらapiを使いますか?
例えば、人口のデータ。
東京10万人、大阪5万人というデータだった場合、東京を赤に、大阪を青にします。
cssのareaとif文でできそうですが、グラフィカルに出来るやり方はあるんでしょうか?
- 658 :デフォルトの名無しさん :2021/07/23(金) 16:25:33.46 ID:Nx0yKcVz0.net
- 知らないけど、Google MAP と契約するのじゃないの?
- 659 :デフォルトの名無しさん :2021/07/24(土) 05:34:58.11 ID:rkiLuKXr0.net
- >>658
googlemapほど高機能じゃなくてもいいんですよね。
単なるグラフ化するライブラリなりあれば
ただ、地図ですが
- 660 :デフォルトの名無しさん :2021/07/24(土) 06:42:23.52 ID:UbTxoyB20.net
- https://github.com/geolonia/japanese-prefectures
適当に探したらあった
- 661 :デフォルトの名無しさん :2021/07/24(土) 10:50:15.00 ID:a8zY8PyNF.net
- https://www.gsi.go.jp/kizyunten.html
https://www.gsi.go.jp/gis.html
- 662 :デフォルトの名無しさん :2021/07/24(土) 17:07:18.18 ID:Qi1mUWJh0.net
- JavaScriptエンジニアって国内に何人いるのだろう?
JQueryとAltJSは省いて純粋にJavaScriptを書ける人を対象にした場合。
下のゲータは明らかにおかしい。なんでCSS < JavaScriptになってんの?
21種類のプログラミング言語別エンジニア数
HTML :325,954人
JavaScript :299,426人
Ruby :215,270人
Java :190,343人
CSS :187,243人
Python :176,419人
PHP :168,821人
C :131,520人
- 663 :デフォルトの名無しさん :2021/07/24(土) 17:07:44.11 ID:Qi1mUWJh0.net
- >>662
ゲータ
↓
データ
- 664 :デフォルトの名無しさん :2021/07/24(土) 17:14:34.88 ID:sZSMrghJa.net
- >>662
というかHTML書けてCSS書けないってどういう状態か不明で草
- 665 :デフォルトの名無しさん :2021/07/25(日) 05:41:30.41 ID:u3F8MSWe0.net
- >>660
cssだけでできませんかね?
- 666 :デフォルトの名無しさん :2021/07/25(日) 07:43:41.11 ID:Ie3kKwwU0.net
- たぶん、アンケート調査で、HTML, JS, Ruby には使う印を付けるけど、
CSS には付けないのだろう
- 667 :デフォルトの名無しさん :2021/07/25(日) 10:58:38.88 ID:o/IC5DrD0.net
- JavaScript技術者は約30万人もいるのか…。
- 668 :デフォルトの名無しさん :2021/07/25(日) 11:00:31.66 ID:o/IC5DrD0.net
- >>667
アレ?
CやPHPより多いというのはどういうことだ?
JQureryを貼ってるだけでJavaScriptエンジニアを名乗っている奴もいるということか?
- 669 :デフォルトの名無しさん :2021/07/25(日) 11:41:43.27 ID:fy+dKQKDr.net
- cssできないプログラマーが圧倒的に多い
- 670 :デフォルトの名無しさん :2021/07/25(日) 17:17:31.43 ID:o/IC5DrD0.net
- >>669
え、本当ですか?
JavaScript技術者は日本国内では実際にどの程度いるか分かる方いますでしょうか?
JQueryのみは除外した場合で。
- 671 :デフォルトの名無しさん :2021/07/25(日) 20:29:40.21 ID:dvyEJYNq0.net
- javascriptわからない奴がjqueryを使いこなせるとも思えんが
- 672 :デフォルトの名無しさん :2021/07/25(日) 21:03:55.43 ID:o/IC5DrD0.net
- >>671
とりあえず貼り付けて使ってた女子社員がいた。
当然プロトタイプって何? 美味しいの? という感じだった。
- 673 :デフォルトの名無しさん :2021/07/26(月) 01:07:59.65 ID:6/oCpeEp0.net
- まともなwebデザイナーならjsやjqueryくらいなら当たり前に使えるし
- 674 :デフォルトの名無しさん :2021/07/26(月) 01:25:28.37 ID:JGevQeHg0.net
- まともなWebデザイナが少ないと思ってる
このスレでも余所でも何もわかってない丸投げ質問が少なくない
- 675 :デフォルトの名無しさん :2021/07/26(月) 03:26:52.00 ID:E2xde8po0.net
- 5chに丸投げ質問してる人が何でWebデザイナだってわかるの?
- 676 :デフォルトの名無しさん :2021/07/26(月) 09:03:30.22 ID:KQdxaJrk0.net
- そりゃ思い込んでるんだから自分が正義なんですよ
- 677 :デフォルトの名無しさん :2021/07/26(月) 09:54:32.14 ID:reKMNeG90.net
- >>673
JavaScriptがよく分かってない人は多い。
で、国内のJavaScriptエンジニアはどのくらいの数がいるの?
- 678 :デフォルトの名無しさん :2021/07/26(月) 10:24:11.39 ID:JGevQeHg0.net
- >>677
不毛な質問だと思うけどね
https://www.itra.co.jp/webmedia/programming_language_ranking.html
- 679 :デフォルトの名無しさん:2021/08/15(日) 14:13:29.94 ID:5n7R/LJ4p
- 大学で学ぶ物理を板書1枚にまとめてみた
https://www.youtube.com/watch?v=naBcXoq4aOI
物理の研究分野を板書1枚にまとめてみた
https://www.youtube.com/watch?v=4W-pWuXUaZQ
理学部と工学部の違いとは?
https://www.youtube.com/watch?v=eJH4nKU6mJA&t=80s
大学と大学院の違い
https://www.youtube.com/watch?v=xBKAEvTegN8
高校と大学の積分は決定的に違う?微分積分学の基本定理は実はすごい!
https://www.youtube.com/watch?v=V9i_zlbssbs&t=475s
数学にはどんな研究分野がある?数学の世界地図を一枚に描いて紹介してみた!
https://www.youtube.com/watch?v=fK_JGVti5y8
- 680 :デフォルトの名無しさん:2021/11/16(火) 12:06:21.59 ID:NLkn6VEDz
- ひとの訪ねに妨害だけするやつはカスらしいな
- 681 :デフォルトの名無しさん:2022/01/05(水) 18:36:15.11 ID:FxFbqP9BX
- https://youtu.be/gJbOe2cqbPU
- 682 :デフォルトの名無しさん (ワッチョイ 6ecb-qCnf [223.132.6.112]):2021/07/26(月) 10:54:00.67 ID:Ak80SZap0.net
- javascriptが動かない環境ってまだまだあるんでしょうか?
ブログの見出しをjavascriptで取得して、ページ内リンク(目次)にしたいのですが。
wordpressならそのようなアドオンがあるんですが、ライブドアブログなので。
見出しは記事内に手書きしたほうがいいでしょうか?
- 683 :デフォルトの名無しさん (ワッチョイ e22c-MYQi [211.11.11.1]):2021/07/26(月) 11:03:46.60 ID:DTdYSzy80.net
- JavaScript の質問は、この板ではなく、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、一時的に緊急避難用に立てたものです
- 684 :デフォルトの名無しさん (エムゾネ FF22-Hgw+ [49.106.192.109]):2021/07/26(月) 15:01:24.78 ID:9wDqt6nuF.net
- 今来てるのがあらしなら
隔離がうまく機能してると言える訳で
本スレや本板を教えるのは逆効果
- 685 :デフォルトの名無しさん (ワッチョイ 4240-3Z6B [157.147.40.213]):2021/07/27(火) 20:06:25.72 ID:TjjVMu0r0.net
- const thumbs = document.querySelectorAll('.thumb');
thumbs.forEach(function(item,index) {
item.onclick = function() {
document.getElementById('bigimg').src = this.dataset.image;
}
});
- 686 :デフォルトの名無しさん (ワッチョイ 0702-pCDs [106.157.31.133]):2021/07/30(金) 18:19:58.69 ID:7AkGA5GJ0.net
- スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
- 687 :デフォルトの名無しさん (オッペケ Sr5b-ETFs [126.157.113.194]):2021/07/30(金) 19:50:46.65 ID:zsw/1kdSr.net
- 質問場所が違う
スレ立てるまでもない質問はここで 157匹目
https://mevius.5ch.net/test/read.cgi/tech/1624024239/
- 688 :デフォルトの名無しさん (ワッチョイ 87da-msd5 [58.93.72.223]):2021/07/31(土) 18:56:31.47 ID:2qGqiONC0.net
- >>686
python
- 689 :デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135]):2021/08/01(日) 11:31:04.39 ID:9TmqVOhq0.net
- ブログ記事のヘッダ(h要素)を取り出して目次化する機能をjavascriptで作りました。
目次ってのは直接、idを指定して作ったほうがいいんでしょうか?
このような疑問を持ったのは、javascriptが動かない場合を考えてです。
- 690 :デフォルトの名無しさん (ワッチョイ 7f63-dmHj [153.228.32.95]):2021/08/01(日) 12:45:35.34 ID:82X2qjYn0.net
- 大抵のブログにはもともとそういう機能あると思う
- 691 :デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135]):2021/08/01(日) 14:53:40.48 ID:9TmqVOhq0.net
- >>690
ワードプレスならプラグインがあるんですが、ライブドアブログなんですよね。
調べましたが、おそらくないと思います。
- 692 :デフォルトの名無しさん (ワッチョイ df2c-QEAr [211.11.11.1]):2021/08/01(日) 22:39:15.41 ID:179nLIS60.net
- JavaScript の質問は、この板ではなく、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、一時的に緊急避難用に立てたものです
- 693 :デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135]):2021/08/02(月) 06:44:39.43 ID:DD4JIXiO0.net
- そうなんですか?
- 694 :デフォルトの名無しさん (ワッチョイ e701-v6iq [60.70.246.83]):2021/08/02(月) 06:59:02.24 ID:jaaCrc6o0.net
- >>693
元々はWeb制作板が本スレだが、Web制作板もある時から次スレが立たなくなり、重複スレの再利用しかされなくなっている
既に本スレがどちらといえる状況ではない為、好きな方に書き込めば良い
- 695 :デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135]):2021/08/02(月) 20:51:31.31 ID:DD4JIXiO0.net
- はい
- 696 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/06(金) 14:39:15.85 ID:bbEiQUtR0.net
- 最近、ステップ実行というデバッグ方法をはじめてみたんですが、使い方がよくわかりません。
質問です。
1:ステップ実行はブラウザの機能を使うのが普通なんでしょうか?firefoxです
2:ブレークポイントから実行されるようですが、行末までいったらブレームポイントに戻るという挙動似できないのでしょうか?
firefoxです
- 697 :デフォルトの名無しさん (ワッチョイ 822c-2tbN [211.11.11.1]):2021/08/06(金) 15:12:12.08 ID:13Hyhr+y0.net
- Node.js, VSCode をインストールするのが基本
VSCodeの拡張機能も一杯あるし、デバッグも出来る
- 698 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/07(土) 05:29:09.18 ID:Xvs4IZ+y0.net
- >>697
どうも
htmlファイル内のjsをデバッグする場合はブラウザになるんですかね?
- 699 :デフォルトの名無しさん (ワッチョイ 6f5f-yRf5 [14.11.194.224]):2021/08/07(土) 05:55:47.26 ID:t0yXEgao0.net
- Firefoxの挙動を調査するにはFirefoxを使う
- 700 :687 (ワッチョイ 822c-2tbN [211.11.11.1]):2021/08/07(土) 13:14:23.80 ID:D2Nz4xRW0.net
- VSCode で、break point を付けたりして、1行ずつデバッグする。
好きなブラウザも起動される
例えば、ボタンをクリックした時のコールバック関数に、break point を付けて、
ブラウザでボタンをクリックすると、そこで止まる
そこから、1行ずつデバッグするような感じ
まあ、VSCodeの使い方・おすすめ拡張機能を学ぶのが先。
YouTube でも見れば?
この板にも、VSCodeのスレがある
- 701 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/08(日) 13:12:16.33 ID:w9BUoWYn0.net
- >>699
>>700
どうも
ブラウザで動かすものなので、すべてブラウザ上のデバッグツールでは駄目なんでしょうか?
- 702 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.224.116.160]):2021/08/08(日) 13:28:13.29 ID:JUV9pqbq0.net
- >>701
そのWebページを訪れる全てのWebブラウザでデバッグするのが正しい
- 703 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/08(日) 13:59:15.55 ID:w9BUoWYn0.net
- node jsとvscode使ってみたんですが デバッガーのタブを開いて、node.jsをデバッガーとして開き、runcurrent fileを洗濯するという手順でいいんすかね?
- 704 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/08(日) 15:22:47.76 ID:w9BUoWYn0.net
- >>702
vscode上でのデバッグだとまとめて出来るという意味でしょうか?
- 705 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.224.116.160]):2021/08/08(日) 17:28:52.75 ID:JUV9pqbq0.net
- >>704
どのようなロジックでそのように解釈した?
VScodeはブラウザではないし、>>701のあなたの考えから飛躍している
意味がわからない
- 706 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/08(日) 20:33:00.96 ID:w9BUoWYn0.net
- >>705
node.jsを使ったデバッグだとまとめてできるのかなと思いこんでました
node.jsはブラウザをvscode上で再現するものではないのですか?
console.logの結果をdebug consoleに表示出来たり。
- 707 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.224.116.160]):2021/08/08(日) 21:20:49.18 ID:JUV9pqbq0.net
- >>706
調べてからものを言うべきだ
https://nodejs.org/ja/about/
- 708 :デフォルトの名無しさん (ワッチョイ 6f5f-yRf5 [14.11.194.224]):2021/08/08(日) 21:49:22.54 ID:0ZQufo+I0.net
- >>697あたり見て言ってるんでしょ
何が基本なのか知らんけど
- 709 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.224.116.160]):2021/08/08(日) 21:52:29.48 ID:JUV9pqbq0.net
- >>708
そんなんだろうが、そこから憶測で物事を決め付け過ぎる
- 710 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/08(日) 22:25:01.50 ID:w9BUoWYn0.net
- ボタンを無効化したいです
button.setAttribute("disabled");
これだとdisabledがセットされないのですが、なにか間違っているでしょうか?
valueを追加しても同じです。
サンプルコード通りにやってみたんですが、、、
- 711 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.224.116.160]):2021/08/08(日) 22:30:55.91 ID:JUV9pqbq0.net
- >>710
調べずに憶測で決めつけるな、と何度いえば理解出来るんだ?
https://developer.mozilla.org/ja/docs/Web/API/Element/setAttribute
- 712 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/09(月) 06:27:35.78 ID:Azri5LRy0.net
- >>711
どの部分が間違っているのでしょうか?
- 713 :デフォルトの名無しさん (ワッチョイ 6f5f-yRf5 [14.11.194.224]):2021/08/09(月) 08:22:05.11 ID:E1wGpq5K0.net
- valueは必須
>>1読んでからサンプルコードがあるならまずそれを出して
- 714 :デフォルトの名無しさん (ブーイモ MM7b-oAUT [202.214.125.141]):2021/08/09(月) 09:38:38.41 ID:8MKojLvJM.net
- ここは答えだけ教えてもらえる場所じゃないから
それを求めてるなら別の場所に行って
- 715 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/09(月) 09:50:15.30 ID:IV0s5u8n0.net
- >>712
第二引数が省略可能とどこに書いてある?
省略時に属性値が何になったか確かめたか?
setAttributeでdisabled属性を指定する方法をぐぐったか?
setAttributeのMDN英語版を読んだか?
- 716 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/09(月) 10:18:05.96 ID:Azri5LRy0.net
- 了解っす。
- 717 :デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1]):2021/08/09(月) 13:39:27.94 ID:78aLRiJY0.net
- JavaScript の実行環境には、Node.js・ブラウザの2つある。
Node.jsを入れておくと、JavaScript のコード片を、
ブラウザを使わずに実行できるので便利
例えば、拡張機能・Quokka.js では、
console.log しなくても、オブジェクトの中身が表示される
let a = 1
a //=> 1
拡張機能・Code Runner では、右クリックメニューから、
ファイル全体または選択したコード片を実行できる
上の2つは、Node.jsの実行環境
一方、ブラウザで実行するなら、
拡張機能・open in browser では、ローカルファイルアクセスになる
一方、拡張機能・Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい
ローカルファイルアクセスでは、CORS など、ブラウザの色々な制限がある
どの道、Node.js は絶対に必須。
npm/yarn, webpack, babel など、様々なツール・プロジェクトで使っているから。
Ruby on Rails でも必須
- 718 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/09(月) 20:37:20.30 ID:Azri5LRy0.net
- ロジックが分からないといった場合、デバッグは役に立たないのですか?
- 719 :デフォルトの名無しさん (テテンテンテン MMce-yRf5 [133.106.52.17]):2021/08/09(月) 21:38:55.96 ID:NcFB2G4xM.net
- ごめん質問のロジックが分からない
- 720 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/09(月) 22:31:45.41 ID:IV0s5u8n0.net
- >>718
ロジックが分からなければ、コードは書けない
デバッグ以前の問題
- 721 :デフォルトの名無しさん (ワッチョイ 1b63-TqrN [122.24.253.162]):2021/08/10(火) 05:43:40.17 ID:0l8E5sfU0.net
- >>719
座布団1枚!
- 722 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/10(火) 05:53:52.56 ID:4Mt5Fls80.net
- >>720
で、ですよね、、、(´・ω・`)
- 723 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/10(火) 21:33:07.35 ID:4Mt5Fls80.net
- ステップ実行というのは同じ範囲を何度もループ出来るんでしょうか?
例えばクリックするごとに数字が加算されていくというばあい、同じ範囲をループさせる必要があります
<button id="button1">ボタン</button>
<script>
let button1 = document.getElementById("button1");
mode = false;
num = 0;
button1.addEventListener("click" , function()
{
switch(mode)
{
case false:
mode =true;
num += 1;
break;
case true:
mode = false;
num += 1;
break;
}
console.log(num);
});
</script>
このコードのaddEventListenerの範囲を何度もループさせたいのですが。
- 724 :デフォルトの名無しさん (テテンテンテン MMce-yRf5 [133.106.36.142]):2021/08/10(火) 21:48:11.22 ID:EVIw2nypM.net
- イベントにブレークポイント仕込んで
何回もクリックすればええやん
- 725 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/10(火) 23:01:22.02 ID:qESkJ6RT0.net
- >>723
反復処理を入れれば良い
- 726 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/11(水) 11:45:51.34 ID:fyzMDiGk0.net
- >>724
すみません
firefoxなんですが、例えばブレークポイントを以下のように仕込んでもループしません
開発環境によって違うのでしょうか?
以下の0と5にブレークポイントを仕込み、step inを連打しているのですが、この範囲をループしません
console.log("0");
console.log("1");
console.log("2");
console.log("3");
console.log("4");
console.log("5");
>>725
どうも
調べてきます
- 727 :デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1]):2021/08/11(水) 13:18:09.70 ID:Z6PNV5dP0.net
- 「javascript 繰り返し」で検索!
for, do...while, while
label, break, continue
for...in, for...of
- 728 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/11(水) 14:14:15.47 ID:fyzMDiGk0.net
- ideやブラウザではなく、コードの方で対処するということですか?
- 729 :デフォルトの名無しさん (テテンテンテン MMce-yRf5 [133.106.36.142]):2021/08/11(水) 14:16:43.01 ID:P1BrY25qM.net
- コードに書いてない動作をしたら
デバッグにならんでしょ
- 730 :デフォルトの名無しさん (ワンミングク MM52-IXul [153.155.90.122]):2021/08/11(水) 14:26:13.53 ID:7y0t+82QM.net
- コードで繰り返してないのに繰り返したらおかしいじゃん
何度もクリックすればいいってのは、イベント仕込んだ要素をってことでしょ
ステップイン連打って、どこをどうしたらそういう理解になるのかわからん
- 731 :デフォルトの名無しさん (ワッチョイ 467b-7521 [153.185.174.10]):2021/08/11(水) 14:38:47.36 ID:qXwnbK0x0.net
- >>726
カウントが追加されているかを確認したいんだったら、
デバッグ用にクリック時に変数値を表示するアラートでも出したら?
なんか根本的な部分がわかってない気もするんだけど。
- 732 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/11(水) 16:45:11.40 ID:fyzMDiGk0.net
- >>731
ステップ実行を使いたいんですよね
ステップ実行で繰り返しは出来ないんですよね
確かに根本は理解出来ていないです
- 733 :デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1]):2021/08/11(水) 17:21:03.66 ID:Z6PNV5dP0.net
- >>723
ブラウザを起動して、HTML を読み込んで、
開発者ツールのコンソールを開きながら、ボタンをクリックしていくと、
コンソールに、1, 2, 3 と表示されて、ちゃんと1ずつ増えていく
- 734 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/11(水) 17:40:28.99 ID:Hj9OBthu0.net
- >>732
ステップ実行でもbreakpointでもコードにない動きはしない
- 735 :デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1]):2021/08/11(水) 17:45:17.95 ID:Z6PNV5dP0.net
- click イベント内で、break point で止めてから、step 実行していっても、
callback 関数を抜けると、実行が止まる
そこで一旦、ブラウザに戻って、またボタンを押さないと、
callback関数が呼ばれない
つまり、イベントの場合は、VSCode だけでは出来ない。
同時にブラウザも操作して、イベントを起動しないといけない
- 736 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/11(水) 18:04:02.19 ID:Hj9OBthu0.net
- >>735
ステップ実行が何かを調べる事から始めるべき
- 737 :デフォルトの名無しさん (テテンテンテン MMce-yRf5 [133.106.32.1]):2021/08/11(水) 18:22:34.40 ID:/4PQgF5iM.net
- マジですまんが何がやりたいのか分からないのでまともなアドバイスが出来ない
「ステップ実行で繰り返し」が最終目標なら諦めて
- 738 :725 (ワッチョイ 822c-Lto6 [211.11.11.1]):2021/08/11(水) 18:50:49.65 ID:Z6PNV5dP0.net
- click イベント内のcallback 関数は、VSCode だけでは実行できない
同時にブラウザも操作して、イベントを起動しないと、
callback関数が呼ばれない
- 739 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/11(水) 19:12:40.02 ID:Hj9OBthu0.net
- >>738
dispatchEventで発火可能
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent
- 740 :デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179]):2021/08/11(水) 20:12:32.61 ID:fyzMDiGk0.net
- >>733
ボタンをクリックしていけばそうなんですが、ステップ実行のstep inの連打でそのような挙動をさせたいのですが、無理なんでしょうか?
- 741 :デフォルトの名無しさん (ワッチョイ 467b-7521 [153.185.174.10]):2021/08/12(木) 08:52:00.10 ID:uKIopBoH0.net
- >>740
ステップ実行はあくまで、ブレークポイントまでを順に降りて実行するだけ。
意味もなくステップ実行にこだわるなよ。
- 742 :デフォルトの名無しさん (ワッチョイ 37ad-8kGE [124.145.12.157]):2021/08/12(木) 09:29:13.14 ID:u+CTgfOO0.net
- ん?イベントハンドラの中をステップ実行したいの?
ソコが少し分からん。
あと、バベってたりしない?うまく掛からん事があるよ。
- 743 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/12(木) 11:30:17.02 ID:yKSWdRAq0.net
- 複数から>>728-730,734といわれて、未だにステップ実行で繰り返し処理しようとしてるのは理解出来ない
- 744 :デフォルトの名無しさん (ワッチョイ ff01-VGi0 [126.159.232.76]):2021/08/12(木) 11:40:23.94 ID:yKSWdRAq0.net
- ステップ実行のロジックを理解しなぎゃ話にならない
>>718は何だったのか
- 745 :デフォルトの名無しさん (ブーイモ MMb3-gbE1 [210.138.176.97]):2021/08/12(木) 12:06:58.17 ID:rENYiTuxM.net
- ChromeならgetEventListeners使ってコンソールから直接イベントを繰り返し発行すればいい
listeners = getEventListeners(button1)
listener = listeners.click[0].listener
// debug(listener) // set breakpoint
for(let i=0;i<10;i++) listener()
- 746 :デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179]):2021/08/13(金) 16:09:16.34 ID:bqxBNW7u0.net
- >>743
繰り返し処理のデバッグはステップ実行を使わないのですか?
ステップ実行がどんな場面で必要かよくわかりませんが、
- 747 :デフォルトの名無しさん (ワッチョイ 1f2c-MEry [211.11.11.1]):2021/08/13(金) 16:27:54.44 ID:S8120IP70.net
- 質問者はブラウザを操作しないで、VSCode だけで、イベントを繰り返したいのだろ?
ブラウザのボタンをクリックすると、イベントが呼ばれるから簡単なんだけど
クリックなど、ユーザーのアクションが無いと、
イベントが呼ばれない事を知らないのかも
- 748 :デフォルトの名無しさん (ワッチョイ 0fda-cJil [121.113.50.166]):2021/08/13(金) 19:28:29.54 ID:IsM7Exgl0.net
- array.lengthで取得できる配列の長さって、実行時に数えているのでしょうか?
それとも要素数を値として持っているのでしょうか?
- 749 :デフォルトの名無しさん (アウアウウー Sa0f-1Ri4 [106.128.146.120]):2021/08/13(金) 19:31:32.80 ID:SLSCpe3Qa.net
- 数えてるという言い方が正しいかわからんが
valueを削除したあとlengthを再取得すると減る
- 750 :デフォルトの名無しさん (ブーイモ MM8f-/0VW [210.138.179.253]):2021/08/13(金) 19:45:15.15 ID:hEV1L7jtM.net
- array.lengthがO(1)かO(n)かってこと?
- 751 :デフォルトの名無しさん (オッペケ Sr4f-geb/ [126.193.182.237]):2021/08/13(金) 20:04:58.72 ID:VSKjifkAr.net
- >>746
繰り返し処理がないコードで繰り返し処理が出来るわけない
コードに繰り返し処理を入れて、デバッグしろ、と何度もいってる
- 752 :デフォルトの名無しさん (オッペケ Sr4f-geb/ [126.193.182.237]):2021/08/13(金) 20:06:25.53 ID:VSKjifkAr.net
- >>747
>>739では出来ない?
- 753 :デフォルトの名無しさん (ワッチョイ 1f2c-MEry [211.11.11.1]):2021/08/13(金) 20:30:04.92 ID:S8120IP70.net
- さすがに、配列の要素数ぐらい持ってるだろ
関数型のElixir では、リストの要素数を、その都度数えるけど。O(N)
- 754 :デフォルトの名無しさん (テテンテンテン MM7f-K3qo [133.106.50.24]):2021/08/13(金) 20:56:08.85 ID:q1smFUYUM.net
- data propertyってあるからとりあえず値は持ってるハズ
https://tc39.es/ecma262/#sec-properties-of-array-instances-length
- 755 :デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179]):2021/08/14(土) 07:42:49.75 ID:ogKvtxQL0.net
- >>751
ブレークポイントの範囲内で動かすというようなことが出来るのかなと
- 756 :デフォルトの名無しさん (ワッチョイ ab01-geb/ [126.159.194.90]):2021/08/14(土) 08:00:11.15 ID:D1XQ/dN70.net
- >>755
繰り返し範囲をどうやって設定するんだ?
何か設定をしたのか?
- 757 :デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179]):2021/08/14(土) 11:31:45.65 ID:ogKvtxQL0.net
- >>756
ブレークポイントを2つ設定することで、範囲が指定されるのかなと考えていました
- 758 :デフォルトの名無しさん (ワッチョイ ab01-geb/ [126.159.194.90]):2021/08/14(土) 11:35:01.27 ID:D1XQ/dN70.net
- >>757
3つあったら3つ目には永遠に辿り着かない?
あなたの想定する挙動が公式ヘルプのどこに書いてあった?
- 759 :デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179]):2021/08/16(月) 14:04:43.59 ID:HuZbr3zA0.net
- >>758
ブレークポイントは2つです。
この範囲内のみの実行が可能かと思っていました。
ヘルプは読んでいないのですが、そういうものかと思いこんでいました。
- 760 :デフォルトの名無しさん (ワッチョイ 4b2d-ZfRL [220.100.114.30]):2021/08/17(火) 07:58:32.06 ID:O7tce/sS0.net
- 「ハンズオンJavaScript」と言う難解な本を読んでいます。
classの学習に入る前に、
classを使わずに関数で他のオブジェクトの構造を継承と言うか取り込んだ後、
自身のインスタンスを生成し、
それを返す関数の定義が以下のようにされているのですが、
ここでスプレッド演算子を用いている意味がさっぱり分かりません。
(書籍に説明もありません)
外すとまともに動作しなくなります。
このスプレッド演算子からなる「...parent」は
どういった働きがあるのでしょうか?
function Vector3( x, y, z )
{
let parent = Vector2( x, y );
const o =
{
parent,
...parent,
z,
lengthSq: Vector3_lengthSq,
add: Vector3_add
};
return o;
}
- 761 :デフォルトの名無しさん (ワンミングク MMbf-YZgY [153.155.90.122]):2021/08/17(火) 12:09:13.23 ID:RF0GATkYM.net
- parentで親のプロトタイプチェーンにつないで
…parentで親のプロパティをコピーしてるんではないかな
- 762 :デフォルトの名無しさん (ワッチョイ 1f2c-sbZG [211.11.11.1]):2021/08/17(火) 12:12:47.41 ID:1q99IGhS0.net
- 「javascript スプレッド構文」で検索!
- 763 :デフォルトの名無しさん (ワッチョイ 0fdb-NTPF [217.178.96.78]):2021/08/17(火) 13:59:39.03 ID:Z1wXss9D0.net
- javascript技術者は日本国内で何人ぐらいいるのでしょうか?
10万人?
- 764 :デフォルトの名無しさん (アウアウウー Sa0f-5/Wf [106.129.77.16]):2021/08/18(水) 00:21:17.10 ID:zdciajxTa.net
- >>763
https://www.netvisionacademy.com/magazine/3230/
> 経済産業省の調査によると、2020年現在のIT人材数は約100万人、
>不足数は約30万人と推計されています。
- 765 :デフォルトの名無しさん (ワッチョイ 4b2d-ZfRL [220.100.114.30]):2021/08/18(水) 04:14:03.58 ID:MlgFIKsc0.net
- >>761
レスありがとうございます。
ご助言頂いた後に、何故「parent」を包括してるのに
わざわざ「...parent」と展開しているのかに悩まされたのですが、
継承元のメソッドをオーバーライドしているため、
継承元のメソッドを参照するための措置だと理解するに至りました。
何はともあれすっきりいたしました。ありがとうございました。
- 766 :デフォルトの名無しさん (ワッチョイ 0fdb-NTPF [217.178.96.78]):2021/08/18(水) 12:01:29.72 ID:PUOUx4QT0.net
- >>764
100万人の内JavaScript使える奴は50万人はいるね…。
がっかり。
- 767 :デフォルトの名無しさん (ワッチョイ ebe6-zvAr [14.3.135.95]):2021/08/18(水) 13:25:34.20 ID:tXUUSdLY0.net
- デザイナーですらjsバリバリですから
- 768 :デフォルトの名無しさん (ワッチョイ 4b5c-NTPF [220.212.122.252]):2021/08/18(水) 15:45:08.23 ID:wgqyPKZK0.net
- 今やデザイナーもJSは必須だよなあ
- 769 :デフォルトの名無しさん (オッペケ Sr4f-zvAr [126.194.245.205]):2021/08/18(水) 16:45:19.75 ID:UItnOrZNr.net
- デザイナーの方が
複雑なアニメションや3Dとか
実装のスキル高かったりしますよ
cssとかのビルドシステムとかも
開発同等ですし
- 770 :デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179]):2021/08/19(木) 20:25:30.16 ID:DoSdBCp10.net
- プログラミングにはまる方法ありますか?
もう1日獣コーディング出来るという感じの
- 771 :デフォルトの名無しさん (ブーイモ MM7f-Vt5m [163.49.207.219]):2021/08/19(木) 20:29:27.31 ID:XQ1nrb4AM.net
- 百獣の王ライオンのように獣分勉強することが獣要だ。
- 772 :デフォルトの名無しさん (ワッチョイ 0bac-V791 [150.249.131.45]):2021/08/19(木) 21:40:17.09 ID:1kNwAhId0.net
- 獣コーディングってカッコいいな
コーディングバトルものにありそう
- 773 :デフォルトの名無しさん (ワッチョイ 0f63-NG3H [153.228.32.95]):2021/08/19(木) 23:00:55.88 ID:JbrAGmXW0.net
- 地水火風のコーディング
光と闇のコーダー
- 774 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/20(金) 10:32:33.93 ID:Z+g/1lv60.net
- javascriptでゲージを表示出来るライブラリってないですか?
かんたんなものでいいんですが
円形や半円形で、残り時間を表示出来るようなもの
- 775 :デフォルトの名無しさん (ワッチョイ 757d-FcIJ [118.240.65.15]):2021/08/20(金) 10:52:39.21 ID:kEo814pT0.net
- >>769
> cssとかのビルドシステムとか
どういう意味?
- 776 :デフォルトの名無しさん (ワッチョイ 85e6-Hlob [14.3.135.95]):2021/08/20(金) 11:10:11.76 ID:fkI3imbk0.net
- scssとかのcssプリプロセッサやら普通に使うんやから
glupとかGruntとかのビルドシステム組むでしょ
そもそもjsでアニメーションコード書いてんだし
- 777 :デフォルトの名無しさん (ワッチョイ 85e6-Hlob [14.3.135.95]):2021/08/20(金) 11:13:32.72 ID:fkI3imbk0.net
- あと、UI/UXの設計もデザイナー側でやることが多くなった
そうすると、開発屋はデザイナーの下位作業(下請け感がある)ぽくなる
- 778 :デフォルトの名無しさん (ワッチョイ 0b63-1tx4 [153.228.32.95]):2021/08/20(金) 11:46:11.89 ID:lyH6KwTF0.net
- 工程として下流になるのはわかるがなんで下請けやねん
- 779 :デフォルトの名無しさん (ワッチョイ e32c-RUy2 [211.11.11.1]):2021/08/20(金) 13:30:58.07 ID:TjGw1Vbs0.net
- JavaScript, CSS のビルドは、Ruby on Rails でも使う。
Webpack, Babel, Gulp など
Bootstrap も、SCSS
>>774
「javascript グラフ ライブラリ おすすめ」で検索!
Google Charts, Highcharts, Chart.js, C3(D3)
- 780 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/20(金) 14:54:30.33 ID:Z+g/1lv60.net
- 没頭できる方法はないかしら
- 781 :デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.73.97]):2021/08/20(金) 21:46:27.63 ID:a4ptYSCBa.net
- >>774
円じゃなくてバーみたいのじゃダメかな?
https://itest.5ch.net/test/read.cgi/future/1476229483/375
http://imgur.com/9yuYIAR.gif
- 782 :デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.73.17]):2021/08/20(金) 22:31:55.01 ID:FxyObMJ7a.net
- >>774
円じゃなくてバーみたいのじゃダメかな?
https://itest.5ch.net/test/read.cgi/future/1476229483/375
http://imgur.com/9yuYIAR.gif
- 783 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/21(土) 06:10:37.76 ID:kZOy5p0X0.net
- >>782
それにしときます
- 784 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/21(土) 13:43:38.68 ID:kZOy5p0X0.net
- プログラミン好きになりたい
- 785 :デフォルトの名無しさん (オッペケ Srb1-Hlob [126.204.225.74]):2021/08/21(土) 17:31:43.12 ID:8vON4ltjr.net
- 好き好き好きぃーー好き好き〜〜♪
- 786 :デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.141.43]):2021/08/21(土) 19:36:40.29 ID:IJG/Rocua.net
- >>780
JavaScriptでのアプリってさ
静止画で動かないものをプログラミングするよりも
動きのあるものやインタラクションで即応性のあるもののが楽しいと思うよ
canvasやったらお絵描きやら、three.js使ってマウスでグリグリ動かせる3Dも作れるし
- 787 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/22(日) 12:53:46.24 ID:M/f8ZXpG0.net
- >>786
ゲームエンジンも使ってますね
確かに楽しい
- 788 :デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179]):2021/08/24(火) 08:35:43.20 ID:MyDy/SP/0.net
- コツコツやってれば楽しくなるかしら
- 789 :デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.128.115.218]):2021/08/24(火) 12:57:17.13 ID:jjxwJFYFa.net
- 自分の好きなものとか作ってみたいアイデアを形にすれば楽しい
- 790 :デフォルトの名無しさん (オイコラミネオ MMe1-CXBN [150.66.82.157]):2021/08/26(木) 12:42:23.70 ID:ReNipBHPM.net
- セールストークのような短文が浮かんでは消えるようなスクリプトを書きたいです
その場で表示されて、消えて、別の短文が表示されるみたいに
リストした候補を順番、ランダムで代わる代わる表示させるには
どんなキーワードで検索したら似たような機能のスクリプトを探せますか?
素人が引き継ぎをするようになり、webプログラムの機能の専門用語が分からず難儀しています、、
- 791 :デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.128.113.118]):2021/08/26(木) 17:49:38.75 ID:QBOoVl/3a.net
- >>790
そのままJavaScriptアニメーションとかでググればいい
基本的な仕組みは紙芝居やアニメーションと同じで
setIntervalの関数で
DOMの要素なりプロパティを一定時間毎に入れ替えれば良い
- 792 :デフォルトの名無しさん (オイコラミネオ MM09-GAdy [150.66.89.164]):2021/08/27(金) 00:44:52.42 ID:B3pyqp0/M.net
- >>791
有難うございます!
週末に色々試してみます
- 793 :デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179]):2021/08/27(金) 13:43:18.46 ID:qCuii4QT0.net
- >>789
プログラミン楽しくなった瞬間とかありますか?
やっぱりある程度スキルがつかないとつまらんですわな
まず継続化の時点で躓いている
- 794 :デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179]):2021/08/27(金) 14:09:02.43 ID:qCuii4QT0.net
- 即時関数ってのは全体の構造を把握しやすくするために使うんでしょうか?
関数化すればアウトラインに出ますもんね。
- 795 :デフォルトの名無しさん (ワッチョイ 6b63-9Rg1 [153.228.32.95]):2021/08/27(金) 15:39:43.68 ID:+rhdjjD60.net
- スキルというか目的じゃないかな
出会い系サイトで女に足跡つけまくるスクリプト書いてた時とか楽しかったわ
すぐ対策されたけど
- 796 :デフォルトの名無しさん (ワッチョイ 1d6e-XeGO [124.219.198.89]):2021/08/27(金) 17:07:32.29 ID:h8MNocFf0.net
- java/C++/C#辺りやってたのでオブジェクトの扱いがよく分からないというかプロトタイプベース?というのを聞いて分からない!文化が違う!ってなってます
なんかその辺上手いこと説明してくれてるとこないですかね
- 797 :デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.128.115.216]):2021/08/27(金) 17:44:28.50 ID:H0yOmdsJa.net
- jsもクラス対応してたっしょ
- 798 :デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179]):2021/08/27(金) 18:57:04.42 ID:qCuii4QT0.net
- >>795
目的あるけど、スキル不足でまだ楽しくない
- 799 :デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.128.115.4]):2021/08/27(金) 19:32:29.78 ID:eShI7uDWa.net
- まず目的を明確にすれば?
「Program」には「計画」と言う意味があって
目的に沿って計画を書くのがプログラミング(手続き型言語)
- 800 :デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1]):2021/08/27(金) 21:24:03.62 ID:cMIVTei20.net
- >>790
要素が自動的に流れ続ける、loop slider, slide show とか
- 801 :デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1]):2021/08/27(金) 21:27:41.85 ID:cMIVTei20.net
- >>794
IIFE (Immediately Invoked Function Expression; 即時実行関数式)は、内部を隠ぺいできる
外から、内部にアクセスできなくなる
- 802 :デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1]):2021/08/27(金) 21:58:17.72 ID:cMIVTei20.net
- >>796
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階層上に追加しないといけない。
それをプロトタイプチェーンを遡ると言う
- 803 :デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1]):2021/08/28(土) 19:18:57.18 ID:g8WbsRiO0.net
- >>790
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()
- 804 :デフォルトの名無しさん (オイコラミネオ MM09-GAdy [150.66.71.102]):2021/08/29(日) 15:56:34.06 ID:IDEI2UK0M.net
- >>803
有難うございます!
これはJavaScript?
自分で考えてからあれこれ加工するまでには全然至っていません・・
アニメーションも探すとcss3でも可能みたいですね
セールストークの文字列が2箇所あって
例「みんなのお役に立てる」「◯◯です」みたいな感じなのですが
こういう場合は一個づつの要素を動かしてあげる方が簡単ですよね?
3つくらいの組み合わせを、季節ごとに変えようとか考えていて色々試行錯誤してます
ワンセットで、1→2→3と時間指定で変えられれば一番楽なのですが
- 805 :デフォルトの名無しさん (ワッチョイ c502-cE3l [106.166.135.3]):2021/08/30(月) 14:47:37.94 ID:4x4SXrWk0.net
- >>803
idxは宣言しないんか?
- 806 :デフォルトの名無しさん (アウアウウー Saa1-0BKB [106.129.74.51]):2021/08/30(月) 17:56:17.86 ID:RiczHxxva.net
- 無名関数内スコープでなおかつ実行時未確定乱数だからかなぁ・・
- 807 :デフォルトの名無しさん (テテンテンテン MMab-OZcf [133.106.47.107]):2021/08/30(月) 18:26:37.84 ID:v1JP3SQOM.net
- 多分忘れただけでしょ
とりたてて言うことでもない
- 808 :デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42]):2021/09/03(金) 20:32:19.52 ID:L3QItCYH0.net
- オブジェクトのプロパティの値に対して、falseを入れておくと、その一つ下のプロパティの存在チェックが
できるのですが、nullにするとエラーが出てしまいます。
一体どのような理由なのでしょうか?
obj = {
obj.abc = false;
// obj.abc = null;
};
if (obj.abc,def) {...}
- 809 :デフォルトの名無しさん (ワッチョイ d535-sk6x [180.145.179.243]):2021/09/03(金) 21:34:31.02 ID:KftlCW3D0.net ?2BP(1000)
- sssp://img.5ch.net/ico/anime_buun02.gif
>>808
falseはではない(表示しない)
trueはである(表示する)
nullはなにもない(どちらでもない)
だからだと思う
- 810 :デフォルトの名無しさん (ワッチョイ 4b61-KrGZ [153.217.1.146]):2021/09/03(金) 22:30:41.85 ID:5CZYJcHV0.net
- >>808
falseはBooleanなオブジェクトだから
nullでやりたいなら?.使うべし
- 811 :793 (ワッチョイ 4b2c-3Lnd [153.136.94.40]):2021/09/03(金) 22:57:56.98 ID:pInph4TO0.net
- >>803
自己修正
>idx = Math.floor(Math.random() * ary.length)
let が抜けていた
VSCode で、拡張機能・ESLint も入れているけど、
letが無くても警告されない
- 812 :デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42]):2021/09/04(土) 09:37:20.21 ID:EhGYuF7y0.net
- >>809-810
ありがとうございます。
falseはオブジェクトだったのですね。
理解できました!
ちなみに "?." とはなんでしょうか?
ググってみましたが出てきませんでした…
- 813 :デフォルトの名無しさん (テテンテンテン MM4b-oJEa [133.106.52.57]):2021/09/04(土) 11:16:44.89 ID:F9ZtkFjVM.net
- >>812
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Optional_chaining
- 814 :デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42]):2021/09/04(土) 14:34:40.34 ID:EhGYuF7y0.net
- >>813
新しい文法なんですね
全然知りませんでした。
ちょろっと勉強してみます!!
- 815 :デフォルトの名無しさん (ワッチョイ 4b2c-3Lnd [153.136.94.40]):2021/09/05(日) 00:45:07.05 ID:UFxCuC9Y0.net
- ぼっち演算子・Null条件演算子・Null安全演算子か
Ruby にも導入された。&.
object&.method
- 816 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/05(日) 04:32:46.84 ID:oH2jfftx0.net
- 戻り値のない関数ってどういうときに使うんでしょうか?
- 817 :デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.215.65]):2021/09/05(日) 06:50:44.94 ID:uH4eg5q/M.net
- 無数にあるけど例えばalertとか
- 818 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/05(日) 10:32:02.35 ID:oH2jfftx0.net
- >>817
alertやconsole.logなどの何らかの出力処理を関数内に含めるか、returnを使うかしないと、外部とのやり取りは出来ないんですよね?
- 819 :デフォルトの名無しさん (ワッチョイ 955f-oJEa [14.11.194.224]):2021/09/05(日) 11:31:11.96 ID:aRsSXuKi0.net
- ごめんけど何言ってるか分からん
- 820 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/05(日) 12:47:36.39 ID:oH2jfftx0.net
- >>819
関数は数値などを加工するものだと思います。
その加工した値を取り出す手段がないと、使う意味がないと思うのですが。
- 821 :デフォルトの名無しさん (ワッチョイ 3501-hAxB [126.28.71.248]):2021/09/05(日) 13:42:05.76 ID:rMLShDrA0.net
- >>816
「プログラミング 関数を作る意味」でググっていくつか読めば分かると思う
- 822 :デフォルトの名無しさん (ワッチョイ d5b0-ypAh [180.46.85.8]):2021/09/05(日) 14:46:48.17 ID:7oSpDR4l0.net
- >>818
alertやconsoleに限らず、その関数内から呼び出せる任意の関数を使って外部とのやりとりはできるわけだが。
- 823 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/05(日) 18:55:22.30 ID:oH2jfftx0.net
- >>821
>>822
はい
- 824 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/07(火) 11:24:53.81 ID:S+wKaSSK0.net
- 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>
- 825 :デフォルトの名無しさん (ワッチョイ 4b61-KrGZ [153.217.1.146]):2021/09/07(火) 11:29:52.51 ID:cJmyi1+i0.net
- >>824
JSON.stringify(), JSON.parse()
- 826 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/07(火) 15:35:10.78 ID:S+wKaSSK0.net
- >>825
jsonにするということですが、なぜ配列だと駄目なんですかね。
- 827 :デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10]):2021/09/07(火) 15:44:10.61 ID:1upJrmlw0.net
- pythonにとって読み込んだテキストは単なる文字列だから。
“[1,2,3]”と同じ。
- 828 :デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10]):2021/09/07(火) 15:48:32.44 ID:1upJrmlw0.net
- おっとpythonスレじゃなかった。javascriptにとってね。
- 829 :デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179]):2021/09/07(火) 15:57:51.34 ID:S+wKaSSK0.net
- >>828
そういう仕組だと覚えるしかないですね
localstrageって一種の変数みたいなもんじゃないんでしょうかね
- 830 :デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40]):2021/09/07(火) 20:38:17.68 ID:YcIWO4/P0.net
- 外部とのやり取りは、文字列だけ
オブジェクトのシリアル化(直列化)、serialize
- 831 :デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.200.166]):2021/09/07(火) 22:51:34.49 ID:G3yrM4UCM.net
- localstorageだと強制的に文字列に変換されるから、それが嫌ならlocalforageとかのラッパーを使うといい
- 832 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/08(水) 15:58:10.14 ID:Zc9KUQv/0.net
- はい(´・ω・`)
- 833 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/08(水) 21:31:41.92 ID:Zc9KUQv/0.net
- 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>
- 834 :デフォルトの名無しさん (テテンテンテン MM4b-oJEa [133.106.194.111]):2021/09/08(水) 21:50:08.74 ID:PiHp4Uh3M.net
- 書いた通りに動いてるじゃん
一瞬で上書きされるから人間の目には何が起きてるか見えんけど
- 835 :デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62]):2021/09/08(水) 21:52:59.07 ID:pthgZojC0.net
- >>833
> for(let i = 0;i <num_arr.length ; i ++)
i ++ とは?
- 836 :デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40]):2021/09/08(水) 21:56:09.90 ID:dK8gXF1C0.net
- 変数timer が未定義だから
let timer = document.getElementById("timer");
が必要なのでは?
- 837 :デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62]):2021/09/08(水) 22:05:24.18 ID:pthgZojC0.net
- >>836
その方がお行儀がいいのでそうすべきだが、定義はされてる
- 838 :デフォルトの名無しさん (アウアウウー Sa69-AvaG [106.129.116.79]):2021/09/08(水) 22:13:11.22 ID:6Ur8A06Za.net
- >>833
プラスイコールにしてみればわかるよ
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
timer.innerHTML += "<div>" + num_arr[i] + "</div>" ;
- 839 :デフォルトの名無しさん (ワッチョイ 6501-nmof [60.72.142.62]):2021/09/08(水) 23:14:26.26 ID:pthgZojC0.net
- >>838
innerHTMLでなくていい気はするが、原因はその通りだな
https://developer.mozilla.org/ja/docs/Web/API/Element/insertAdjacentHTML
- 840 :デフォルトの名無しさん (ワッチョイ 6501-lYlz [60.126.191.83]):2021/09/09(木) 00:07:10.15 ID:nyRHg+r60.net
- chrome拡張機能を作っているのですが、insertRuleしようとするとたまにエラーが出てしまいます。
調べてもよくわからなかったのですが、原因わかる方いますか?
Error handling response: Error: Failed to execute 'insertRule' on 'CSSStyleSheet': Failed to parse the rule 'undefined'.
- 841 :デフォルトの名無しさん (アウアウウー Sa69-AvaG [106.129.118.72]):2021/09/09(木) 00:10:23.30 ID:4mdtO86la.net
- >>833>innerhtmlはfor内では機能しないのでしょうか?
>>838の様にすればinnerHTMLはfor内でも機能してるのが確認出来る
>クリックしたときにtimerの中にnum_arrの中身をセットしたいです。
なら
//num_arr[i] ではなく
timer.innerHTML = "<div>" + num_arr.join() + "</div>" ;
とすべし、あと名前はtimerではなくてtimesだろう
- 842 :デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40]):2021/09/09(木) 00:21:08.30 ID:sZM33J3R0.net
- >>840
そのエラー文字列で、Google 検索すれば?
- 843 :デフォルトの名無しさん (ワッチョイ 3501-UAwi [126.28.239.133]):2021/09/09(木) 01:04:57.92 ID:gVcxc3AP0.net
- jsを勉強し始めたんですがコールする関数タイポしてもコンパイルエラーとかないんで実行してコケて気づいて直す、を繰り返してしまいます。
こういうテスト以前のコーディングミスについて、コンパイル言語のように事前に検知する方法はないでしょうか?
ちなみにvscodeで開発してます。
- 844 :デフォルトの名無しさん (ブーイモ MM6b-FGfd [163.49.207.128]):2021/09/09(木) 01:27:37.42 ID:BO4ka+Z8M.net
- コケちゃいました
- 845 :デフォルトの名無しさん (ブーイモ MM6b-0uGf [163.49.206.211]):2021/09/09(木) 01:53:20.98 ID:EzLIxC6LM.net
- eslintとかtypescript使うとか
- 846 :デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40]):2021/09/09(木) 03:49:44.49 ID:sZM33J3R0.net
- 漏れは、VSCode で、スクラッチパッドみたいな拡張機能・Quokka.js で、
コードを入力してるけど、文法エラーでは、赤い波線が表示される
拡張機能・ESLint も使っているからかな?
もちろん、Node.js もインストールしているから、
Quokka.jsに書いたコードは、Node.jsで実行されるので、時刻が9時間ずれる
- 847 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/09(木) 06:09:13.65 ID:MrnZHVcA0.net
- >>838
これで解決しました
ありがとう
加算にしないと駄目なんですね(´・ω・`)、、、
- 848 :デフォルトの名無しさん (ワッチョイ 3501-UAwi [126.28.239.133]):2021/09/09(木) 08:16:04.83 ID:gVcxc3AP0.net
- eslint、こんなのあるんですね ありがとうございます
- 849 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/09(木) 15:28:43.86 ID:MrnZHVcA0.net
- プログラミンコードの校正ってどこでアドバイスもらえますか?
ストップウォッチ作ったはいいものの、コードぐちゃぐちゃで読んでて分からない
分かりやすく書く方法を教えてほしいのです(´・ω・`)、、、
- 850 :デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10]):2021/09/09(木) 15:40:55.41 ID:MjE68I3R0.net
- 処理や変数など要所にコメント入れるようにして、
自分でわかるように書き直してみたらいい。
理解も深まるし無駄なところもわかったりする。
- 851 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/09(木) 15:52:13.51 ID:MrnZHVcA0.net
- https://ideone.com/O5tsDV
ideonにupしました(´・ω・`)、、、
コメント入れているのですが、改善点のアドバイスもらえますか?
コメントアウトしている部分はとりあえずは使わない機能です。
- 852 :デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10]):2021/09/09(木) 16:17:46.87 ID:MjE68I3R0.net
- >>851
適当にコード拾ってきてつなぎ合わせたのでなけりゃ、十分理解できるコードだと思うが。
それなりにコメント入ってるし。
むしろ具体的にどこがわからんのよ。
自分で理解して書いたコードだったら、一回全内容にコメント入れてみたら?
- 853 :デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179]):2021/09/09(木) 19:26:54.34 ID:MrnZHVcA0.net
- >>852
どういう部分と言われても難しいですが、しばらく放置してから見ると動きを理解するのに少し時間がかかるというか
この程度の短いコードですが
複数ファイルに分けたりしたほうがいいのでしょうか?
おそらく、良くわからないのは実行の流れです
フローチャートなどは苦手で書いていません
- 854 :デフォルトの名無しさん (ワッチョイ 4bbb-nTGN [217.178.195.45]):2021/09/09(木) 20:13:16.49 ID:B3AuMWY60.net
- >>853
できるだけ関数化するのと、その関数の名前にはこだわった方がよいかも
ファイルは分けなくてよい
フローチャートは自分も書いたことはない
例えばタイマの初期化が先頭部分とリセットボタンクリックイベントの2箇所にあるが、読みづらい上に不具合のもと
実際にリセットボタンクリック時にはミリ秒がクリアされるのに
起動時にはミリ秒がクリアされていないように見える(ローカルストレージから前回の値を拾ってきてる?)
関数外にはグローバルっぽく扱いたい変数の宣言のみを置いて
初期化は名前を付けて関数にする
イベント内の処理も関数化する
そうするとソースを読むとき、先頭から追いかけるときは
原則関数だけが並んでいる形になり、そこでは細かな処理を気にする必要はない
イベントの処理ではイベント関数の先頭からソースを追いかけるが、
そこでも関数だけがあって細かな内容は気にしなくてよい、という形にする
あとはセンスも必要になるけど、処理の内容を的確に表す分かりやすい関数名であれば、
関数名それ自体がコメントのような役割をはたすので、さらに読みやすくなる
- 855 :デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40]):2021/09/09(木) 20:27:52.09 ID:sZM33J3R0.net
- フレームワーク無しで開発すると、最後には暴発する。
デザインパターン・ファイル分割などが、統一的に決まっていないから
他人のクソコードを誰も読みたくない
だから、Ruby on Rails を使って、
全員が同じ規約で、レールに乗る。Rails Way
Rails では、Node.js, React, Vue.js, Bootstrap を使う。
これらもフレームワークだから、規約で決まっている
だから、独自のデザインパターンを使うことや、我流は、すべて禁止されている。
つまり、全てフレームワークに従う
コードレビューも、フレームワークに従っていない部分を、修正させられる。
フレームワークのやり方と違いますよと
例えば、伊藤淳一のコードレビュー。
YouTube 動画、2018/10
RSpecで書かれたRailsチュートリアル 第6章のテストコードをレビューしてみた
- 856 :デフォルトの名無しさん (ワッチョイ 4bbb-nTGN [217.178.195.45]):2021/09/09(木) 20:34:47.79 ID:B3AuMWY60.net
- >>854
関数化すると、レビューやテストがやりやすくなる
というのも追加で
あと、関数化といっているのは規模が小さいからで、
規模が大きくなってきたらクラス化したりファイルを分けたりとかの考慮は当然必要になる
- 857 :デフォルトの名無しさん (ブーイモ MM6b-Ndt7 [163.49.209.85]):2021/09/09(木) 20:52:57.96 ID:kZqbipt0M.net
- 関心事がごっちゃ混ぜだから分かりにくい
アプリケーションが管理する状態(モデル)とその状態をユーザーに見せる表現(ビュー)に対する処理を意識して分けること
MVCの基本を学ぶと良い
モデルの初期化処理やビューの初期化処理、モデルのsave/load処理を関数等でまとめること
モデルの変更イベント(mode: stopped -> running)をリッスンしてビューを更新する作りにすると関心事の分離的にも依存性の方向的にも見通しがよくなる
- 858 :デフォルトの名無しさん (ワッチョイ e563-ypAh [124.84.94.103]):2021/09/09(木) 21:53:27.14 ID:t1bpdD770.net
- ねこ
- 859 :デフォルトの名無しさん (ワッチョイ 8901-gPUP [126.28.239.133]):2021/09/10(金) 00:38:04.25 ID:mUaFezuu0.net
- eslint、入れてみたところ明らかに怒られる筋合いのない箇所で大量に怒られが発生して鎮火に試行錯誤してたらクソ時間食って本末転倒だったので切ってしまいました・・・
- 860 :デフォルトの名無しさん (ワッチョイ a9e6-Tf2k [14.3.135.95 [上級国民]]):2021/09/10(金) 11:56:08.39 ID:L+jftwLU0.net
- 糞コード書くなゴラーかな?
- 861 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/10(金) 15:55:30.36 ID:rOEuM+530.net
- >>854
変数は出来るだけローカルにして、関数化出来る部分は出来るだけ関数化するということですよね。
MVCも調べているところです。
これはMVCの3つのクラスに分ければいいんでしょうか?
- 862 :845 (ワッチョイ 8b2c-aIS6 [153.136.94.40]):2021/09/10(金) 21:07:41.01 ID:kAVp3Lay0.net
- Ruby on Rails が、MVC の代表
React, Vue.js のFlux 系フレームワーク。
Store, View, Action
サーバーがRails のAPI モード・Web Socket などで、
クライアント側のHTML が、React, Vue.js, Bootstrap が多い
- 863 :デフォルトの名無しさん (ワッチョイ 8bbb-dGLa [217.178.195.45]):2021/09/11(土) 04:28:54.23 ID:TBXgXRUv0.net
- >>861
ソースを修正してみた
https://codepen.io/cocotto/pen/OJgmXyo
自分はMVCとかよく分からんので、元のロジックは基本的にそのままで
機械的に細かく関数に分けてみただけだが
一応意識したのはタグの操作(insertAdjacentHTMLとかsetAttributeなどの行)は
ソースとしては非常に読みづらいので1行2行でも関数化したのと、
ボタンの状態変化をupdateButtonStatus()の1箇所にまとめ、
アクションの種類によらずその1種類の関数だけを呼べばよいようにしたことくらい
- 864 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/11(土) 06:58:37.14 ID:Uw+xpz9o0.net
- mvcってどうやってエリアを分けるんでしょうか?
model controller viewのエリアです
単にコメントアウトで分けるのですか?
- 865 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/11(土) 07:18:42.95 ID:Uw+xpz9o0.net
- >>863
回答どうも
似たような
タグの操作というのはmvcでいうところのviewですよね。
ボタンの状態もviewですよね。
controllerはキーイベントなどのことだと思います。
modelってどの部分が該当するんでしょうか
- 866 :845 (ワッチョイ 8b2c-aIS6 [153.136.94.40]):2021/09/11(土) 09:52:12.58 ID:IblrjkB00.net
- 100年やっても、MVC を作れない。
MVC のRuby on Rails をやった方が良い
それで、React, Vue.js のFlux 系フレームワークで、
Store, View, Action
Model, Store は、データ
View は、HTML
Controller は、それ以外の雑多なもの
Action は、データを変更するイベント
- 867 :デフォルトの名無しさん (ワッチョイ 69b0-yMTp [180.46.85.8]):2021/09/11(土) 09:56:20.99 ID:sItjqXqz0.net
- スネークマンショーのチリ紙交換のコント思い出したw
- 868 :デフォルトの名無しさん (ワッチョイ 8bbb-dGLa [217.178.195.45]):2021/09/11(土) 13:02:57.50 ID:TBXgXRUv0.net
- >>865
modelはビジネスロジックを扱う部分
今回のプログラムでは
modeなどの状態管理や累積時間を操作する処理が該当
>>似たような
最初からロジックは変更してないといっている
MVCやフレームワークはアプリを作成する上の考え方やお作法なので、
多人数のプロジェクトに参加する場合には覚えて使いこなすことが必須で、
理解している人同士では話が通じやすい
一方で、たとえばLaravelというフレームワークでは新規にプロジェクトを作成すると、
コードを1行も書いていない状態で、数千のファイルが生成される
開発ではお作法に従って適切なファイルを適切に修正していく必要があるが、
そもそもお作法を理解するまでに学習コストがかかり、理解するまでは読みやすいとは限らない
1ページ2ページのwebアプリでフレームワークを導入すべきかも検討が必要
とはいえ小規模なプログラムでも
ビジネスロジック部分ではUI操作を混ぜない、
UI操作の途中でビジネスロジックに影響を与えない、
などとした方が読みやすく保守性も上がる、とは言われていて、
本来的にはMVCなどの考え方を導入すべきかもしれないが、
小規模な趣味的アプリならUI操作部分を関数化して追い出すだけで
多少見やすくなるんじゃないか、というのが 853 の例
趣味でなく就職のトレーニングのつもりならMVCでもフレームワークでも頑張って勉強してもらうしかない
- 869 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/11(土) 20:24:46.63 ID:Uw+xpz9o0.net
- ↑回答どうも
趣味程度ですね。
ただ、それでも分かりやすくはしたいので、mvcの考え方だけ取り入れます。
本物のmvcがよくわかりませんけどね。
- 870 :デフォルトの名無しさん (ワッチョイ 1901-dgdc [60.72.142.62]):2021/09/11(土) 22:16:23.61 ID:V1xpgUeJ0.net
- >>869
早速、teratailでMVCの質問をしたんだな...
https://teratail.com/questions/358996
- 871 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/12(日) 10:42:23.75 ID:9YHRam0P0.net
- javascriptだとmvcがなじまないから何らかのフレームワークを使うってことなんですかね?
- 872 :デフォルトの名無しさん (ワッチョイ 1901-oYEl [60.72.142.62]):2021/09/12(日) 11:03:01.64 ID:iEJNB1kw0.net
- >>871
それはhentaimanに直接聞くべき内容だと思うが
- 873 :845 (ワッチョイ 8b2c-Le98 [153.136.94.40]):2021/09/12(日) 12:19:17.43 ID:jZMYjdNi0.net
- >>866
に書いたように、
Ruby on Rails は最初から、Node.js, Webpack, Babel を使う
多いのは、React, Bootstrap。
日本では、Vue.js も使う
最近の転職では、Vue.js, TypeScript も有利だと、
YouTube で有名な、雑食系エンジニア・KENTA が言ってる
サーバー側がRailsのAPIモードで、
フロントエンドが、React, Vue.js
ほとんどのベンチャー・学校・サロンは、これ
- 874 :845 (ワッチョイ 8b2c-Le98 [153.136.94.40]):2021/09/12(日) 12:24:38.96 ID:jZMYjdNi0.net
- 例えば、食べチョクでは、AWS, Ruby on Rails, React
若い娘が1人で起業するような場合は、Heroku, Rails, Bootstrap とか
- 875 :デフォルトの名無しさん (ブーイモ MMcb-JeCy [163.49.204.117]):2021/09/12(日) 14:42:19.18 ID:KICGsmTmM.net
- テラワロスな回答が2つもついててteratailのレベルの低さに驚愕した
一番基本のクライアントサイドのMVCを知らずにまともなUIコードを書けるわけがない
- 876 :デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179]):2021/09/12(日) 16:49:42.17 ID:9YHRam0P0.net
- javascriptでmvcは使うんですか?
違う概念があるんでしょうか?
- 877 :845 (ワッチョイ 8b2c-Le98 [153.136.94.40]):2021/09/12(日) 17:04:40.45 ID:jZMYjdNi0.net
- YouTube で有名な、雑食系エンジニア・KENTA のサロン・動画を見ればわかるけど、
基本的には、どこの会社も転職用ポートフォリオは、Ruby on Rails のみ。
他のフレームワークのシェアが少ないので、それらで作っても誰も見ない。
Laravel, Django など
React, Vue.js も、バックエンドで使うかと言われれば、使わない
だから基本、サーバー側は、Rails のAPI モードで、
フロントエンドに、React, Vue.js, Bootstrap を使う
- 878 :845 (ワッチョイ 8b2c-Le98 [153.136.94.40]):2021/09/12(日) 17:40:45.71 ID:jZMYjdNi0.net
- 単純な例では、a.html に、
<button id="btn_1">押して</button>
と書いて、jQuery を読み込んでから、ボタンを押すと、ajax で、a.json を読み込む
$( function ( ) {
$('#btn_1').click(function(){
$.ajax({
url: 'a.json',
type: 'GET',
dataType: 'json'
}).done(function(data){
console.log( data )
});
});
} );
a.jsonには、
{ "title": "指輪物語" }
と書いておく
a.html上で、右クリックメニューから、
VSCode の拡張機能・Live Server を起動すれば、HTMLが表示される
(VSCode, Node.js は、インストールしておく)
a.jsonがデータ(モデル)で、a.htmlがView。
データがデータベースになれば、Rails などの本格的なフレームワークを使う
他にも、多くのページ・routing を設定するなら、Controller も必要になる
- 879 :デフォルトの名無しさん (アウアウウー Sa9d-pyjS [106.154.8.48]):2021/09/12(日) 20:26:44.95 ID:DMcq09zza.net
- ttps://radiko.jp/reader/
Widgets: Google Tag Manager
JavaScript Libraries and Functions: Moment JSMoment JS
Web Servers: nginx
- 880 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.75.61]):2021/09/13(月) 17:35:06.53 ID:1UYrFVx4M.net
- xamppのローカル上では何故かjQueryが作動してくれるのですが、そのファイルをエックスサーバーに上げると作動してくれません、、
気になったのはCDNの位置で、何故かheader.phpに記載されています
jQuery本文はindex.phpに記載してます
phpのファイルにはbodyが無いため、ネットで調べても検索結果が無いのですが・・確認すべき点があればご指摘いただけませんか?
教えていただきたいのは
jQueryを読み込ますCDNの位置とjQuery本文の記載場所です、、
宜しくお願い致しますm(_ _)m
- 881 :デフォルトの名無しさん (アウアウウー Sa9d-s4ta [106.129.114.211]):2021/09/13(月) 17:39:20.42 ID:AXurLSEfa.net
- cdnはhead内
header.phpがどうなってるか知らんがそこにheadタグがあるならそこ
本文?はcdnのjQueryの読み込みより後ならhead内でもbody内でもいい
bodyが無いというのは抜け落ちてるか見落としかどっちか
- 882 :デフォルトの名無しさん (テテンテンテン MMeb-PBPl [133.106.46.103]):2021/09/13(月) 18:25:35.94 ID:grNREgJpM.net
- もしかしてWordPress?
回答に必要な情報があるならちゃんと書いてね
- 883 :デフォルトの名無しさん (ワッチョイ 8b2c-Le98 [153.136.94.40]):2021/09/13(月) 20:51:33.89 ID:HGulW+Fz0.net
- header.php が単に、メニューバーなどを定義した、
部分テンプレート・パーシャルなのか、
それとも、HTML の<head>タグなのか?
<head>タグなら、body よりも、先に読み込まれるでしょ?
試しに、bodyの終了タグ直前で、読み込んでみれば?
もちろん、jQuery は、自分のコードよりも先に読み込まないと動かない
- 884 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172]):2021/09/13(月) 22:43:40.11 ID:+vyrVLS2M.net
- >>881-883
皆様有難うございます!
業者にwordpressで作成していただいたものをカスタマイズしてます
素人で検索ワードも効率的に選べなかったのですが、アドバイスをもとにネット検索をして少しだけわかってきました
今回、改修したいファイルはindex.phpですが、headとbodyはheader.phpにありました(何故か</body>は見当たらず・・)
なので、明日は</body>を書き込み、その直前にjQueryの本文を入れて試してみようと思います
- 885 :デフォルトの名無しさん (テテンテンテン MMeb-PBPl [133.106.46.103]):2021/09/13(月) 23:20:03.86 ID:grNREgJpM.net
- まず今日までの作業は忘れて「WordPress jQuery」で検索
大抵jQueryは導入済で、自作のスクリプトの側を工夫すれば使える
正直不理解なまま業者の納入物をブッ壊してるように見えるぞ
- 886 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172]):2021/09/14(火) 00:46:24.59 ID:b3xfsiCuM.net
- >>885
有難うございます!
確かにCDNでjQueryが導入済みだったので、いきなりFanction以下の本文を記入してもxampp上では動いてくれたのですが、、
一応、ローカル環境だけでいじくり回して解らなくなったらバックアップのデータで復元してます
何故かサーバーにアップしたら動かない、、
ライブラリのバージョンが違うのかはどうやって判断すれば良いのでしょうか?
業者は2.2.1でしたが、3.6.0にすべきかどうか?
なぜ、bodyの終了タグが無いのか?
一応、body自体を消してみたけど、何ら崩れたりもせず動いてました
header.phpのheadの終了タグの前にjQueryの本文を記入しましたが、レイアウトが崩れました
index.phpに記載した内容に影響のあるscriptなので、別のファイルに記載したら駄目なのか?
一晩寝て、アドバイスの通り検索から始めて理解を深めてから先に進むことにします、、
- 887 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172]):2021/09/14(火) 08:12:14.43 ID:b3xfsiCuM.net
- >>883
一晩寝て思いついたのですが
header.phpはメニューだけを記述したファイルのようです
そこのheadにhtmlの宣言?CSSの呼び出し、CDNが記載されてました
他にhead,body,CDNを記述したファイルは見つかりません
そもそも.htmlというファイルが無いサイトって成り立つのでしょうか?
index.phpはトップページの内容を記述してますが、headもbodyも記述がありません、、
index.phpに記載の内容に対してjQueryを作動させたいのですが、、
xampp上では何故か上手くいってるんですよね
index.phpにbodyを新たに記述するってのは違反行為でしょうか?
そもそもhtmlの知識もなくカスタマイズしようとしてまして、、
- 888 :デフォルトの名無しさん (ワッチョイ 8b7b-dqLI [153.185.174.10]):2021/09/14(火) 09:07:31.26 ID:O4ZAi6mt0.net
- >>887
一般に公開するwebならその程度の知識でいじるのはやめといた方がいいよ
- 889 :デフォルトの名無しさん (テテンテンテン MMeb-PBPl [133.106.50.185]):2021/09/14(火) 09:10:16.30 ID:Hja/bGISM.net
- body云々の話はどうでもいい
(header.php、footer.phpでワンセット)
htmlの勉強も必要だけどまずWordPressのお作法を勉強しろ(WordPress javascriptで検索)
原因を探るならページを表示した際のソースをxamppと本番環境で見比べてみればいい
- 890 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172]):2021/09/14(火) 09:35:33.82 ID:b3xfsiCuM.net
- >>888-889
ご指摘はごもっともですが、他に適任者は居なく業者からも実装したことが無いと放り投げられてるのでやるしか無いのです
上でも指摘していただきましたが、wordpressで jQueryは設定されていて、私の作成したfunctionの記述を再確認したところ上手く作動するようになりました!
やはり壊していたのは自分自身だったと・・
- 891 :デフォルトの名無しさん (ワッチョイ 8b7b-dqLI [153.185.174.10]):2021/09/14(火) 09:48:24.43 ID:O4ZAi6mt0.net
- >>890
その流れだと普通は他の業者探さないか?
- 892 :デフォルトの名無しさん (ワッチョイ c149-m40g [114.160.215.18]):2021/09/14(火) 10:56:51.75 ID:GhPBnB570.net
- 自己責任で勝手に会社のをいじるのか、人生ひっくり返されないようにな
- 893 :デフォルトの名無しさん (ワッチョイ 1901-dGLa [60.80.149.95]):2021/09/14(火) 11:48:37.64 ID:PLVDzGSa0.net
- wordpressネタで色んなスレで暴れてる釣り師だよ
- 894 :デフォルトの名無しさん (ワッチョイ 6910-8YoP [180.12.82.129]):2021/09/14(火) 12:44:48.80 ID:6heBbDMW0.net
- <style>
#test_id{
filter:sepia(80%) blur(1px);
}
</style>
のようにcssで設定されているfilterをjavascriptで取得するにはどうすればいいんですか?
getComutedStyleとgetPropertyValueでも取得できませんでした。
- 895 :デフォルトの名無しさん (ワッチョイ 6910-8YoP [180.12.82.129]):2021/09/14(火) 17:37:23.97 ID:6heBbDMW0.net
- ちゃんと確認したらできました
- 896 :デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172]):2021/09/14(火) 18:10:22.42 ID:b3xfsiCuM.net
- >>891-892
ECサイトとかじゃなくて単なる零細企業の企業サイトですから・・
- 897 :デフォルトの名無しさん (ワッチョイ 8b2c-0MLo [153.136.94.40]):2021/09/15(水) 02:21:53.09 ID:LKRHWte30.net
- 例えば、Ruby on Rails なら、部分テンプレート(Partial)で、
メインの内容・ヘッダー・フッター・サイドメニューなど、
ページの各部分をバラバラに作る
_main_content.html.erb
_header.html.erb
_footer.html.erb
_sidemenu.html.erb
上の各部分を、全体のテンプレート・application.html.erb で読み込む
拡張子ERB は、Rubyの構文で書いて、HTML へ変換する。
a.php と同じ。PHPの構文で書いて、HTMLへ変換するだろ
Rubyでは、ERB内で、<% 〜 %>, <%= 〜 %> に、Rubyの構文を書けば、
それが解釈されて、HTMLへ変換される。例えば、
ERB
<% price = 100 * 1.1 %>
<p>値段は<%= price %>円です</p>
変換されたHTML
<p>値段は110円です</p>
- 898 :887 (ワッチョイ 8b2c-0MLo [153.136.94.40]):2021/09/15(水) 02:22:34.90 ID:LKRHWte30.net
- WordPress はプロ向きじゃない。
デザインの本ばかりで、Railsみたいに、フレームワークの仕組みを学べる本がない
プログラミングはコーディングするものじゃない。
ほぼ、ずっとフレームワークの仕組みを読むこと。
これが、開発のほとんどの時間を占める
だから、WordPressの仕組みは、web制作管理板のWordPressのスレで聞くように言ってる。
各テンプレートを読み込む順番とか、どれが本体のHTMLなのかとか
この板で聞いても、個別のフレームワークの仕組みは誰も知らない
だから皆、専用のサロンへ入る。
例えばRailsなら、YouTube で有名な、雑食系エンジニア・KENTA のサロンへ、3千人が入っている
そういうコミュニティーへ入らないと無理。
独学では作れない。教えてもらわないと無理
- 899 :デフォルトの名無しさん (ワッチョイ 8b63-s4ta [153.174.21.88]):2021/09/15(水) 02:34:09.70 ID:Vtvma65V0.net
- 宣伝死ね
- 900 :デフォルトの名無しさん (ワッチョイ 8b2c-0MLo [153.136.94.40]):2021/09/15(水) 03:16:07.67 ID:LKRHWte30.net
- >>894
jQuery なら、sepia(0.8) blur(1px)
と、文字列で出力された。
JavaScript のオブジェクトにならなかった!
<img src="a.jpg" id="img_01">
<style>
#img_01{ filter:sepia(80%) blur(1px); }
</style>
$( function ( ) {
prop = $( '#img_01' ).css( 'filter' )
console.log( prop );
} );
- 901 :デフォルトの名無しさん (ワッチョイ 8bdb-dGLa [217.178.96.78]):2021/09/15(水) 17:19:00.06 ID:fabzU8Xg0.net
- classでインスタンスを作っている人いますか?
これってすごく中途半端でかえって分かりにくいです。
- 902 :デフォルトの名無しさん (アウアウウー Sa9d-lpFL [106.128.137.244]):2021/09/15(水) 18:11:45.71 ID:vQolsmrqa.net
- three.jsのオブジェクトはこんな感じで作ったりするけど?
for (let i = 0; i < 1000; i++) {
const sprite = new THREE.Sprite(material);
// ランダムな座標に配置
sprite.position.x = 500 * (Math.random() - 0.5);
sprite.position.y = 100 * Math.random() - 40;
sprite.position.z = 500 * (Math.random() - 0.5);
// 必要に応じてスケールを調整
sprite.scale.set(10, 10, 10);
scene.add(sprite);
}
- 903 :デフォルトの名無しさん (テテンテンテン MMeb-PBPl [133.106.49.138]):2021/09/15(水) 18:15:59.59 ID:dBireG1MM.net
- 何が中途半端か分からんけどTypeScriptでも触ってみたら
- 904 :デフォルトの名無しさん (ワッチョイ 716a-dGLa [42.125.40.41]):2021/09/15(水) 19:02:24.83 ID:fHmj5hYp0.net
- スクレイピングすると地獄へ落ちるって本当ですか?
- 905 :デフォルトの名無しさん (ワッチョイ 7b02-dGLa [119.106.222.232]):2021/09/15(水) 19:09:57.19 ID:h5Z3dkgZ0.net
- やり方を間違えるとあり得ます
- 906 :デフォルトの名無しさん (ワッチョイ 1901-oYEl [60.74.201.152]):2021/09/15(水) 20:59:30.06 ID:bTnM7Fek0.net
- >>901
それを作らないなんてとんでもない
- 907 :デフォルトの名無しさん (ワッチョイ 8b2c-0MLo [153.136.94.40]):2021/09/16(木) 00:08:14.89 ID:tvb8xhvB0.net
- class 構文を使わず、継承チェーンを自作しているようなコードは、地獄
そういう香具師は追放
- 908 :デフォルトの名無しさん (ワッチョイ 6935-s7zK [180.145.179.243]):2021/09/16(木) 00:11:22.80 ID:pYXDlrUq0.net ?2BP(1000)
- sssp://img.5ch.net/ico/anime_buun02.gif
>>907
継承自作はガチでやばい
- 909 :デフォルトの名無しさん (ワッチョイ 8901-gPUP [126.28.239.133]):2021/09/16(木) 00:40:41.07 ID:R/NquzpN0.net
- ES2015まではclass無かったんですよね?それまではどうしていたんですか?
- 910 :デフォルトの名無しさん (ワッチョイ 1901-oYEl [60.74.201.152]):2021/09/16(木) 00:56:38.22 ID:xJePaYnO0.net
- >>909
関数宣言
- 911 :デフォルトの名無しさん (ワッチョイ 0bda-wHYb [121.114.118.84]):2021/09/16(木) 10:55:25.86 ID:wCLjpPvb0.net
- リサイズイベントが複数設置していて、望んだ順番で発火して欲しいのですが、
何か方法はありますでしょうか?
現状は各リサイズイベントにて、setTimeoutを用いてイベントの発火を間引いていますので、
その間引く時間をそれぞれ変更して対応しています。
- 912 :デフォルトの名無しさん (アウアウウー Sa9d-lpFL [106.128.148.126]):2021/09/16(木) 13:22:43.27 ID:Xq6qjUgGa.net
- クラスにして引数渡すメソッドにすりや良いんじゃね?
- 913 :デフォルトの名無しさん (ワッチョイ fbc3-wHYb [159.28.152.184]):2021/09/16(木) 15:22:17.42 ID:gkVPGX300.net
- すいません
windowsのローカルで動くスクリプトを書いてて質問です。(JSX)
children = folder.getFiles();
でディレクトリにあるファイル一覧を取得してるんですが
children[0].path = decodeURI(children[0].path);
みたいにファイルのパスをURLデコードしても、デコードしたパスが上書きされません。
ファイルパスに日本語が含まれていると後の処理でエラーが出るので
色々試してる途中なのですが、むしろ「日本語がURIエンコードされている」ことが問題なのかなと思ったので
いったんデコードを試みてる次第です。
どなたかよろしくお願いいたします。
- 914 :デフォルトの名無しさん (ワッチョイ 8bdb-dGLa [217.178.96.78]):2021/09/16(木) 19:34:45.06 ID:h22xAZJO0.net
- classは非推奨になると思う。
- 915 :デフォルトの名無しさん (アウアウウー Sa9d-lpFL [106.128.150.73]):2021/09/16(木) 19:40:28.89 ID:yn0gOKRBa.net
- >>913
一行でやらずに間挟んでみたら?
tmp = decodeURI(children[0].path);
children[0].path = tmp;
- 916 :デフォルトの名無しさん (ワッチョイ 8bdb-dGLa [217.178.96.78]):2021/09/16(木) 21:28:13.93 ID:h22xAZJO0.net
- classを導入するならjavaみたいにクラスベースにするべき。
- 917 :デフォルトの名無しさん (ワッチョイ 1901-oYEl [60.74.201.152]):2021/09/16(木) 21:57:57.90 ID:xJePaYnO0.net
- >>916
なぜ?
- 918 :デフォルトの名無しさん (ワッチョイ 8bdb-dGLa [217.178.96.78]):2021/09/16(木) 22:58:46.10 ID:h22xAZJO0.net
- >>917
中身がプロトタイプのままならfunctionでコンストラクタを書いた方が、
プロトタイプチェーン、this、継承の挙動が把握しやすいから。
- 919 :デフォルトの名無しさん (ワッチョイ 1901-oYEl [60.74.201.152]):2021/09/16(木) 23:06:18.36 ID:xJePaYnO0.net
- >>918
糖衣構文と把握できない人にはそうかもしれないな
- 920 :デフォルトの名無しさん (ワッチョイ cb2c-QiSa [153.136.94.40]):2021/09/17(金) 05:14:25.65 ID:O1PoA15N0.net
- >>913
Node.jsでglobモジュールでワイルドカード指定する方法とディレクトリ除外する方法
https://confrage.jp/node-js%E3%81%A7glob%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A7%E3%83%AF%E3%82%A4%E3%83%AB%E3%83%89%E3%82%AB%E3%83%BC%E3%83%89%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A8/
Windows, Node.js でもファイル操作できる。
日本語のファイル名でも、普通に表示できる
でも初心者が、サーバー側・バックエンドをJavaScript で作るのは推奨しない。
10年以上掛かる。非同期処理も難しい
ファイル操作・テキスト処理なら、Ruby から始めた方がよい
- 921 :デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78]):2021/09/17(金) 07:38:30.25 ID:rB1Uwify0.net
- >>919
従来のままのほうが分かりやすくない?
何のためにclassを追加したのだろうか?
- 922 :デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78]):2021/09/17(金) 07:41:06.43 ID:rB1Uwify0.net
- https://note.affi-sapo-sv.com/js-class.php
JavaScriptのクラスは、内部的にはsuperキーワードが追加された以外は以前と変わっていません。
そのため、以前できなかったことは、今でもできません。
クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。
class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。
使いたければ使えばいいんじゃない?と思います。
- 923 :デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78]):2021/09/18(土) 09:19:17.64 ID:BWPa8IS40.net
- classでインスタンスを生成した場合、関数の入れ子・クロージャ・関数の合成は
どのように実装すればいいのでしょうか?
- 924 :デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78]):2021/09/18(土) 09:21:08.79 ID:BWPa8IS40.net
- >>917
分かりにくいから。
- 925 :デフォルトの名無しさん (ブーイモ MM89-dF90 [202.214.231.39]):2021/09/18(土) 09:25:01.08 ID:bSvCP7tNM.net
- jsonファイルをfetchで読み込んで表示するページ作りたいんですが読み込んだjsonファイルの更新日時を取得する方法ってありますか?
- 926 :デフォルトの名無しさん (ワッチョイ 4b2d-IhC7 [121.102.56.182]):2021/09/18(土) 09:30:36.71 ID:GAwwwwFC0.net
- HTTPのレスポンスヘッダーにLast-Modifiedがあれば
- 927 :デフォルトの名無しさん (ワッチョイ c501-iPGG [60.74.201.152]):2021/09/18(土) 18:47:47.12 ID:ijIYuONW0.net
- >>924
理解してない機能はわかりにくい
理解した機能はわかりやすい
それだけの話
- 928 :デフォルトの名無しさん (ワッチョイ 4bda-IhC7 [121.114.118.84]):2021/09/20(月) 12:44:45.58 ID:ocNzoCY30.net
- 関数の呼び出しコストという文言を見るのですが、具体的にはどのようなコストなのでしょうか?
関数スコープが生成される?的なコストと処理量などでしょうか?
- 929 :デフォルトの名無しさん (アウアウウー Sac9-ONKb [106.129.142.181]):2021/09/20(月) 12:54:03.49 ID:RSxALu1Ia.net
- 検索の時間
家の本棚から探すのと図書館に行って探してくるのとの違い
- 930 :デフォルトの名無しさん (ワッチョイ e336-PGCt [115.37.69.254]):2021/09/20(月) 17:33:22.90 ID:BvjsWEuY0.net
- プログラミング初心者+αです。
const a = オブジェクト.length
console.log(a);
ということをやると
undefined:undefined
つまり未定義と表示されて正常に認識してくれない。
console.log(オブジェクト.length);
ならうまくいくのに。
プロパティの値を変数に割り当てられないのでしょうか。
- 931 :デフォルトの名無しさん (アウアウウー Sac9-ONKb [106.129.143.251]):2021/09/20(月) 17:38:24.56 ID:StmUbSXka.net
- 定数にメソッドは登録出来ないんじゃない
- 932 :デフォルトの名無しさん (ブーイモ MM89-M1dG [202.214.231.204]):2021/09/20(月) 17:52:12.71 ID:iZ97v5vcM.net
- オブジェクトって具体的には?
- 933 :デフォルトの名無しさん (ワッチョイ f55f-C5lN [14.11.194.224]):2021/09/20(月) 17:59:21.71 ID:VxCTC9AS0.net
- >>930
再現しないんだが
Objectにはlength無いけどなんの話か教えてくれ
- 934 :デフォルトの名無しさん (ワッチョイ 4bda-IhC7 [121.114.118.84]):2021/09/21(火) 20:13:00.16 ID:2i3b3P5F0.net
- >>929
ありがとうございます。
オーバーヘッドと似たようなもんだと考えてよいのでしょうか?
forEach が遅いのは関数呼び出しだからってのを、何処かで見まして、
インライン関数でも遅いので、自分の中で『検索』ってのと繋がらないです…
- 935 :デフォルトの名無しさん (アウアウウー Sac9-ONKb [106.129.110.217]):2021/09/21(火) 20:47:54.79 ID:e5t1mBAya.net
- >>934
ゴメン、CDNのボトルネック的な事かと思っただけで
コールスタックとかリターンアドレスやらメモ化なんて知らないです。
どっちにしろ人間もコンピュータも間接的な呼び出しは遅いようだ
以下参考
2019年版: JavaScriptのループの考察
https://qiita.com/shibukawa/items/4cae2a1410754d519232
【Python】関数呼び出しのコストを計測してみた
https://qiita.com/stokes/items/e8440329fb6f37944a9b
- 936 :デフォルトの名無しさん (ワッチョイ 9501-W1il [126.241.232.202]):2021/09/23(木) 18:37:57.95 ID:dJQXrT5o0.net
- >>928
Function Callの処理コスト
https://262.ecma-international.org/11.0/#sec-function-calls
>>934
Array.prototype.forEachの仕様を確認すべし
https://262.ecma-international.org/11.0/#sec-array.prototype.foreach
- 937 :デフォルトの名無しさん (ワッチョイ 46bb-c8WL [217.178.151.136]):2021/09/26(日) 10:15:24.86 ID:A/CchEjW0.net
- 元のhtmlが<td id=***>文字列</td>と言う形でユニークなidが振られています。文字列の部分がokだった場合、字色を赤に変えたいのですがどのようなコードとすればよいでしょうか
試しに該当箇所にreplaceでspan styleを当てると元のタグが消えてテーブルが破壊されてしまいました
- 938 :デフォルトの名無しさん (ワッチョイ b701-2jFH [60.72.88.234]):2021/09/26(日) 10:34:01.51 ID:q8w8Ww110.net
- >>937
td要素ノードにスタイルを割り当てればいいのでは?
style属性よりclass属性がいい気はするが
https://developer.mozilla.org/ja/docs/Web/API/Element/classList
- 939 :デフォルトの名無しさん (ワッチョイ 46bb-c8WL [217.178.151.136]):2021/09/27(月) 20:29:49.49 ID:TnqJLtde0.net
- >>938
ヒントありがとうございます
解決しました
- 940 :デフォルトの名無しさん (ワッチョイ 4ec3-2Lmd [159.28.152.184]):2021/09/28(火) 16:18:59.44 ID:0wKuF6nP0.net
- 下記のようにhtmlを変数の中に入れて、複数ある.itemクラスを順番にループして
その中の.hogeクラスのインナーを取得したいです。
しかしhoge変数に入れて処理しようとすると何故かunderfindになってしまいます。
どなたかアドバイス頂けないでしょうか
(いったん変数に入れた方がすっきりするのでそうしたいです)
var DOM = $('#test').html(document.getElementById('text').value);
DOM.find('.item').each(function(i){
var hoge = $('.hoge',this);
alert(this.getElementsByClassName('hoge')[0].innerHTML);//こっちはinnerHTMLの中身がちゃんと表示される
alert(hoge.innerHTML);//こっちはunderfindになる
}
- 941 :デフォルトの名無しさん (ワッチョイ 0e02-zD50 [119.106.222.232]):2021/09/28(火) 18:40:20.62 ID:tB/ieqJ50.net
- 下にも [0] をつけたら?
- 942 :930 (ワッチョイ 4ec3-2Lmd [159.28.152.184]):2021/09/28(火) 18:42:29.73 ID:0wKuF6nP0.net
- alert( hoge.text() );
にするとマークアップ部分を抜いたテキストを取得できることに気付きましたが
マークアップも含んだ状態のインナーhtmlが欲しいんですよね…
- 943 :デフォルトの名無しさん (ワッチョイ 4ec3-2Lmd [159.28.152.184]):2021/09/28(火) 18:45:06.33 ID:0wKuF6nP0.net
- >>941
まさかと思ってやってみたらいけました、そうかー配列で持ってたのかー
ありがとうございます
- 944 :デフォルトの名無しさん (ワッチョイ c663-1Pud [153.174.21.88]):2021/09/28(火) 20:00:42.73 ID:cv/tD/fj0.net
- 配列とHTMLcollectionは似て非なるものやぞ
- 945 :デフォルトの名無しさん (ワッチョイ b701-2jFH [60.69.102.75]):2021/09/28(火) 21:27:29.09 ID:54PfDNUt0.net
- >>944
hogeはHTMLcollectionじゃないぞ
- 946 :デフォルトの名無しさん (ワッチョイ b701-2jFH [60.69.102.75]):2021/09/28(火) 21:44:32.49 ID:54PfDNUt0.net
- >>943
getでもいける
https://api.jquery.com/get/
- 947 :デフォルトの名無しさん (ワッチョイ 86da-2Lmd [121.114.118.84]):2021/09/30(木) 21:24:16.30 ID:JO+wR1m50.net
- if (true) {}
if (a === 300) {}
if文は真偽値だけの判定と比較の判定だったら、真偽値だけの方が速いとかありますか?
複数個所で同じ比較の判定が必要な場合、結果を真偽値にして使い回した方がよいのか
知りたいです。
- 948 :デフォルトの名無しさん (ブーイモ MMfe-8vXF [163.49.203.189]):2021/09/30(木) 21:59:02.86 ID:3EHFK4tiM.net
- 初学者あるあるだけどそんなの誤差だから保守しやすいコードを書くのが正しい
- 949 :デフォルトの名無しさん (ワッチョイ 86da-2Lmd [121.114.118.84]):2021/09/30(木) 22:15:02.92 ID:JO+wR1m50.net
- 誤差なのですね
何の真偽値か調べるの手間ですもんね
ありがとうございました。
- 950 :デフォルトの名無しさん (ワッチョイ 5301-6zG6 [60.72.78.63]):2021/10/01(金) 04:55:16.35 ID:v3zEWc5J0.net
- >>947
前者が速いが、フラグ変数を使わずにすむロジックを考案するのが最も効率的
- 951 :デフォルトの名無しさん (ワッチョイ 5301-6zG6 [60.72.78.63]):2021/10/01(金) 04:59:49.85 ID:v3zEWc5J0.net
- >>947
ちなみに複数箇所で同じ判定をしなければならない判定は、フラグ変数を使う方が保守性が高い
将来、判定処理を更新する際に更新箇所が一つですむし、複数箇所に同じ判定があると更新漏れのリスクがある
>>950でいったように、判定箇所が一カ所になるようロジックをくむのが最適
- 952 :デフォルトの名無しさん (ワッチョイ 235f-2jfQ [106.73.229.192]):2021/10/01(金) 14:19:20.76 ID:ktZsKgGi0.net
- 最近vueやらreactやら仕事で触ることになったんだけど、
みんなこの巨大なvueのtemplate構文とかどうやって読み解いてるんだ・・・?
実際のUIがイメージできるようになるのかコツとかある?
- 953 :デフォルトの名無しさん (ワッチョイ cfdb-2jfQ [217.178.96.78]):2021/10/01(金) 16:21:28.18 ID:mSSK0hBl0.net
- >>952
慣れ。
- 954 :デフォルトの名無しさん (ブーイモ MM97-kSLT [202.214.230.0]):2021/10/01(金) 18:40:19.96 ID:CrVDBOnRM.net
- ありがとう。慣れんのかな・・・
- 955 :デフォルトの名無しさん (ワッチョイ cfdb-2jfQ [217.178.96.78]):2021/10/01(金) 19:42:32.31 ID:mSSK0hBl0.net
- >>954
知らんけど。
- 956 :デフォルトの名無しさん (ワッチョイ 13ac-JAZD [150.249.131.45]):2021/10/01(金) 20:18:01.29 ID:7qQOgpPT0.net
- vueはGoogleの拡張いれたら分かりやすくやった
- 957 :デフォルトの名無しさん (ワッチョイ d3da-M2B7 [220.108.72.80]):2021/10/05(火) 00:55:13.12 ID:HvgDlsKq0.net
- >>950-951
台風でネット繋がらなくて、お礼言うの遅れてすみません…
すっごい腹落ちしました。
どうしても複数になる場合はフラグ変数使っていこうと思います。
- 958 :デフォルトの名無しさん (ワッチョイ 936e-2zGE [124.219.198.89]):2021/10/12(火) 02:32:16.48 ID:BSPiPdYi0.net
- javascriptで関数はオブジェクトって書いてあったんですよ
でもオブジェクトって例えばconst o = { name: "noname", mail:"sage}みたいに定義されるものではないのですか?
- 959 :デフォルトの名無しさん (ワッチョイ fb01-lofH [126.53.126.47]):2021/10/12(火) 05:05:04.25 ID:9QJCYXKb0.net
- >>958
関数はObject型
{}はnew ObjectでありObject型
new ArrayもObject型
https://tc39.es/ecma262/#sec-typeof-operator
- 960 :デフォルトの名無しさん (ワッチョイ 9fb1-ZO17 [123.48.67.16]):2021/10/20(水) 02:51:41.42 ID:7Ch1Hu5l0.net
- スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?
- 961 :デフォルトの名無しさん (ワッチョイ b74e-U/wz [210.138.216.243]):2021/10/20(水) 03:28:52.56 ID:g1WESx5+0.net
- 次スレ立てる義務を果たしたら答えてあげる
- 962 :デフォルトの名無しさん (ワッチョイ b749-qebH [114.160.215.18]):2021/10/20(水) 10:49:03.56 ID:Y4tLRZgw0.net
- PHPスレとのマルチやん
- 963 :デフォルトの名無しさん (ワッチョイ f502-WU2P [106.156.74.236]):2021/10/22(金) 10:33:33.27 ID:qGJ2lg5d0.net
- jqueryなんですが
jqXHRオブジェクトから逆算してクエリ文字列を得る方法ってありませんか?
var a = $("index[name=hoge]");
a.xxxx()= → "index[name=hoge]" みたいな関数とかプラグインとか
- 964 :デフォルトの名無しさん (ワッチョイ 1d01-xD/y [126.243.28.128]):2021/10/22(金) 13:52:34.02 ID:D6Qp5iob0.net
- >>963
ない
- 965 :デフォルトの名無しさん (ワッチョイ e54e-rXG9 [210.138.216.243]):2021/10/22(金) 16:50:13.59 ID:5KYadqzO0.net
- >>963
あった
a.selector
が、1.9で消された
- 966 :デフォルトの名無しさん (ワッチョイ 1d01-xD/y [126.243.28.128]):2021/10/23(土) 06:37:42.27 ID:k4puVD/c0.net
- >>965
これか
https://bugs.jquery.com/ticket/9469
- 967 :デフォルトの名無しさん (ワッチョイ 1d01-7Ax+ [126.159.224.31]):2021/10/25(月) 21:08:09.07 ID:r2R6qwLM0.net
- >>963
やはり、放置か
- 968 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/30(土) 07:24:51.67 ID:1pYlSmze0.net
- >>958
JSの型には、String Number Boolean Null undefined Symbolなどの他、Objyectがあります
プリミティブでない型は全てObject型です
Objectの例は
let o={};
let a=[];
let f=function(){}
function f(){}
などがあります
- 969 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/30(土) 10:09:55.72 ID:1pYlSmze0.net
- >>958
あと、オブジェクトという意味合いは結構あいまいです
JSではプリミティブはそれ自体に関数やパラメータなどを保持しません
ObjectはObject()の派生ですので関数やパラメータを持ちます
型という意味合いでは、typeof でObject型なのか判定できますのでお試しを
オブジェクトを目的物、対象物という表現でとらえれば
文字や数字も、扱う対象物として、オブジェクトと表現できますが
型としの意味合い(始祖Object()を継承してるか)なのか
対象物という意味合いなのか、混乱したときには整理してみるといいかもです
- 970 :デフォルトの名無しさん (ワッチョイ 9302-BvZE [106.156.74.236]):2021/10/30(土) 10:14:21.41 ID:3mlVFK4h0.net
- オブイェークト
- 971 :デフォルトの名無しさん (ワッチョイ 17ad-Q+wr [110.132.110.81]):2021/10/30(土) 10:46:44.64 ID:3QCmGqxi0.net
- なんかまた新しいものが出てきたのかと思った
- 972 :デフォルトの名無しさん (ワッチョイ 4b4e-twJP [210.138.216.243]):2021/10/30(土) 10:50:46.34 ID:5VdQtJkF0.net
- ほら泣くぞ
- 973 :デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43]):2021/10/30(土) 11:05:17.84 ID:H0dMqvNA0.net
- >>970
ようやく、>>963が出てきたと思ったら、ただの感想か
相変わらず、このスレの質問者は自己中だな
- 974 :デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]):2021/10/30(土) 12:45:13.50 ID:zzEdTkV90.net
- アロ関とthisが分かりにくい。
全部バインドしとけばいいの?
- 975 :デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43]):2021/10/30(土) 12:56:38.70 ID:H0dMqvNA0.net
- >>974
慣れ
違いを何度も意識すれば分かる
- 976 :デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]):2021/10/30(土) 22:52:40.11 ID:zzEdTkV90.net
- >>975
thisだけでなくselfをもっと活用すればいいのでしょうか?
- 977 :デフォルトの名無しさん (ワッチョイ 775f-HN+8 [14.11.194.224]):2021/10/30(土) 22:56:14.00 ID:8E+HWsPL0.net
- そもそも典型的な場面を除いてthisを多用しない
- 978 :デフォルトの名無しさん (ワッチョイ 9302-BvZE [106.156.74.236]):2021/10/30(土) 23:44:50.08 ID:3mlVFK4h0.net
- またおまえか
ストーカーかよ
いい加減にしろ
- 979 :デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167]):2021/10/31(日) 01:31:34.39 ID:XZxuOuys0.net
- 質問です。
https://developer.mozilla.org/ja/docs/Web/JavaScript/A_re-introduction_to_JavaScript
の
var input;
do {
input = get_input();
} while (inputIsNotValid(input));
を実行したら、
Uncaught ReferenceError: get_input is not defined
と出ました。
get_input()は自作関数だと思いますかが、
どんな関数になるのか教えて下さい。
- 980 :デフォルトの名無しさん (ブーイモ MM43-8RSS [202.214.167.80]):2021/10/31(日) 03:14:18.94 ID:s/NdT1yMM.net
- <input id="address">
function get_input(){
return document.querySelector("#address").value
}
- 981 :デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167]):2021/10/31(日) 04:01:17.10 ID:XZxuOuys0.net
- >>980
こんな深夜にありがとうございます。
ただ、すみません、
Uncaught ReferenceError: document is not defined
というエラーが出ました。
このdocumentというのはどのように定義したらよいですか?
あと、
<input id="address">
は同じフォルダにindex.htmlのような名前で保存すればよいですか?
- 982 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 07:37:28.36 ID:CEq1n28F0.net
- >>979
var input;
do{
input=get_input();
}while(inputIsNotValid(input));
function get_input(){
return confirm('input!');
}
function inputIsNotValid(input){
return !input;
}
- 983 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 07:45:13.63 ID:CEq1n28F0.net
- >>979
サンプルコードは、
inpu=get_input() // 入力されたものをinputに代入する
do-whileは、inputIsNotValid()関数の戻り値がtrueの時に繰り返す
inputIsNotVarid()は、入力されたinput値が不適切の時にtrueを返す
という内容を説明しています
get_input()がどのような入力になるのか
inputInNotValid()で、inputの適否をどう判定しているのかは問いません、ということです
このようなコードを見たときには、関数名で働きが説明できている、という前提ですので
関数名をよく読んで、戻り値を推測して読んでください
- 984 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 07:53:36.67 ID:CEq1n28F0.net
- >>979
あと、このコード自体は
「有効な値が入力されるまでループする」というコードです
confirm関数はシンプルな入力関数で、OKボタンでtrueを、キャンセルボタンでfalseを返します
- 985 :デフォルトの名無しさん (ワッチョイ 775f-HN+8 [14.11.194.224]):2021/10/31(日) 07:58:15.87 ID:tih+/c060.net
- >>982
理想的な必要十分なコードだけど
promptじゃね
- 986 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 08:40:51.23 ID:CEq1n28F0.net
- 45億年もの長きにわたり僅かな変化を積み重ねた塩基配列の微妙なズレと
あなたと私の養育環境における、例えば接種してきたたんぱく質や食物繊維の種類や量
照射された日照量や、退社した細胞数の数、知り合った女性や先生が持つ遺伝子配列とのずれとの調和
そのような本当に些細な差が、promptなのかconfirmなのかを決したのだと思います
そこには完全な正解はないのかもしれませんが、バリデーションチェックという意味ではpromptで説明すべきかもしれません
- 987 :デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43]):2021/10/31(日) 09:24:41.87 ID:hyBzQr2G0.net
- >>976
「〜が分かりにくい」でお茶を濁さず、アロー関数とthis値の性質を学習して、分からない部分を具体化してから、調査or質問せよ
ということだ
>>976で書いてるような「〜すればいい」を理屈を度外視して、方法論だけ求めるのは思考停止
現状だと質問の体を成してない
- 988 :デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43]):2021/10/31(日) 09:26:03.48 ID:hyBzQr2G0.net
- >>978
質問を立て逃げ、誹謗中傷
そんなことしてる人にいわれてもな
- 989 :デフォルトの名無しさん (ワッチョイ d661-rbIv [153.216.140.77]):2021/10/31(日) 12:03:01.70 ID:stUnlaEn0.net
- >>981
documentがないってブラウザ以外の実行環境なの?
- 990 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 12:05:17.37 ID:CEq1n28F0.net
- >>974
とても情緒深く、文学的なご質問で、私のような無知で下賤な者が触れてよいのか悩みましたが
アロー関数自身にアロー関数内のプロパティ、もしくは引数を紐づけたいということなのでしょうか?
- 991 :デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167]):2021/10/31(日) 21:44:03.28 ID:XZxuOuys0.net
- >>982-986 && >>989
> documentがないってブラウザ以外の実行環境なの?
Chromeのコンソールで実行することで望んだ通りの出力になりました。
それまではネットで勧められるままVSCodeで実行していました。
皆さん、ありがとうございました!
- 992 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 21:59:13.71 ID:CEq1n28F0.net
- >>991
がんばってくださいね
継続して学んでいれば今感じている疑問の殆どは解消します
一歩を進められたご自身の力を信じて進んでください
- 993 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/10/31(日) 22:09:03.92 ID:CEq1n28F0.net
- >>991
982の「疑問」=>「疑問や違和感」に訂正です
- 994 :デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]):2021/11/01(月) 09:39:09.34 ID:i0IYe4C60.net
- アロ関は世界を救う。
- 995 :デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]):2021/11/01(月) 09:56:32.75 ID:i0IYe4C60.net
- アロ関十段ここに極まる。
- 996 :デフォルトの名無しさん (ワッチョイ 52f0-rbIv [61.205.223.183]):2021/11/01(月) 10:30:03.91 ID:Oy+9EmbD0.net
- >>990
アロー関数にプロパティを紐づけする必要ないよな
無名関数、即時関数のプロパティに外部からアクセスするようなコードはナンセンスだし
>>991
Chromeのコンソールでコード入力してんのかな?
そんなことしてたら面倒くさいだろな
vscodeでjavascriptを実行すればいいんだけど
支障がるみたいで、どういう感じになってるのか興味ある
- 997 :デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]):2021/11/03(水) 17:47:47.22 ID:mbwPounm0.net
- .>>1000
そうだな、お前みたいな破廉恥極まりないやつを極刑にできないなんてな
- 998 :デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.224.146.69]):2021/11/03(水) 17:55:09.21 ID:KPYiFv2L0.net
- >>997
先(>1000)をみる前に現在を見つめては
- 999 :デフォルトの名無しさん (ワッチョイ 7ff0-+Epa [61.205.223.183]):2021/11/09(火) 17:29:38.68 ID:vBEqEZ0H0.net
- よろしくお願いします
下記の二つの関数、c1()とc2()でカウンターを作りました
c1()はカウントされず、c2()はカウントされます
同じようなコードなのにc1()を複数回呼び出しても
変数cがインクリメントされないのはなぜなのでしょうか?
function c1(){
let c=0;
return c++;
}
function c2(){
let c=0;
return function(){return c++};
}
let s1=c1();
let s2=c2();
console.log(
s1, // 0
s1, // 0
s2(), // 0
s2(), // 1
);
- 1000 :デフォルトの名無しさん (テテンテンテン MM4f-hQZx [133.106.48.148]):2021/11/09(火) 18:14:06.92 ID:M98uPrZkM.net
- 仕様通りとしか
c1のcはc1が呼び出される度に定義されるからカウント不可
そもそも上のコードでc1は1回しか呼び出されていないし
- 1001 :デフォルトの名無しさん (ワッチョイ ff02-H2rd [119.106.222.232]):2021/11/09(火) 18:42:53.53 ID:/KO0GJnF0.net
- c2の中のfunctionの中で書いてないけどcが定義されて、呼び出されるごとにそのcがインクリメントされているような挙動。
- 1002 :デフォルトの名無しさん (ワッチョイ 5f01-lK5T [126.243.174.47]):2021/11/09(火) 20:03:23.50 ID:zgMlwp7I0.net
- >>999
c1は呼び出される度に変数cが初期化される
s2は呼び出されても変数cが初期化されない
- 1003 :デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243]):2021/11/09(火) 20:54:12.85 ID:qOqV7S2Y0.net
- そもそもc1一回しか呼び出してないけどな
- 1004 :デフォルトの名無しさん (ブーイモ MMa3-8Kye [202.214.125.68]):2021/11/09(火) 21:10:09.46 ID:JS6FzrkbM.net
- カウンタを初期化する部分を繰り返し呼び出す関数の外に出してやればいい
let c=0;
function c1(){
return c++;
}
- 1005 :デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65]):2021/11/09(火) 22:41:36.85 ID:RTTrqb1f0.net
- >>1000はレキシカルを理解してるなら
s1とs2のレキシカルが違うことをだな
- 1006 :デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]):2021/11/10(水) 12:09:40.50 ID:KxrU4/8D0.net
- うむ
- 1007 :デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]):2021/11/10(水) 12:24:11.84 ID:KxrU4/8D0.net
- >>999
関数やブロックはプロパティをLexicalという場所に登録するんだけど
プロパティを参照した時には、関数内やブロック内のLexicalを参照し
そこにプロパティが登録されてないとその直外のLexicalを参照します
関数は、呼び出しごとに内部Lexicalが生成されるので
c1();c1();c1()と呼び出すと、別々の3つの内部Lexicalが生成され
それらに別々のlet cが登録されるので、c=0となります
s1にはc1()への関数の参照が格納されてるので
s1を複数回呼び出すと、c1()を複数回参照し
上記と同じ結果になります
一方でc2()がreturnで戻す内部関数は直外のLexicalのあるcを参照します
s2()を複数回呼び出すと、同じLexicalのcを参照するので
s2()の複数呼び出しでcはインクリメントされていくのですね
990先生や994先生のご指摘を血肉にされるといいでしょう
- 1008 :デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243]):2021/11/10(水) 13:11:24.52 ID:ABhSQgxq0.net
- ところでクロージャーって用語の使い方について質問があるんだけどc2自体をクロージャーって言うのかc2が返してる無名関数をクロージャーって言うのかどっちが正しいの?
- 1009 :デフォルトの名無しさん (ワッチョイ 7f52-hQZx [61.87.108.223]):2021/11/10(水) 15:30:26.98 ID:jxD2VXPG0.net
- 質問中すまんが次スレ
+ JavaScript の質問用スレッド vol.124 +
https://mevius.5ch.net/test/read.cgi/tech/1636525464/
- 1010 :デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]):2021/11/10(水) 17:31:05.10 ID:KxrU4/8D0.net
- closer != function
closer == function + environment.information
JSで説明されてるクロージャーは
関数、関数の内部情報、外部参照ポインタのセット
っていう大まかな理解でいいと思います
function f(){let a;}の場合、
関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー
ちょっと大まかすぎますか?
返される無名関数はクロージャーの仕組みを
コードで理解するために多用されているために
それ自体をクロージャーと認識する人も多いでしょう
また関数内プロパティは外部から直接アクセスできないので
外部からクローズになっているという意味で
関数自体をクロージャーといっていたり
外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう
次スレで先生方からアドバイスいただけますといいですね
私も心待ちにしています
>>1009様、ありがとうございます
- 1011 :2ch.net投稿限界:Over 1000 Thread
- 2ch.netからのレス数が1000に到達しました。
総レス数 1011
335 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★