X



+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
垢版 |
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10
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
0002デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.233])
垢版 |
2017/04/02(日) 23:31:20.89ID:J0EiWdZO0
■質問テンプレート
【環境】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/
0003デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.234])
垢版 |
2017/04/02(日) 23:31:42.41ID:eyqt1DHr0
■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プロパティの算出値を表示(
0004デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.235])
垢版 |
2017/04/02(日) 23:32:04.43ID:JvqUgcKr0
■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 和訳)
0005デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.236])
垢版 |
2017/04/02(日) 23:32:27.34ID:9H7Qlx/w0
■各種仕様 (続き)
◆ 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
0006デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.237])
垢版 |
2017/04/02(日) 23:34:03.16ID:yMf85zTs0
姉妹スレ

+ 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/
0008デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.240])
垢版 |
2017/04/02(日) 23:43:11.66ID:j3L/IfxA0
ワッチョイとは
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をググればいくらでも過去に遡れる事になります。
0009デフォルトの名無しさん (ワッチョイ efff-U/Pn [183.76.238.241])
垢版 |
2017/04/02(日) 23:44:59.15ID:VQKc27JK0
掲示板を見れば閲覧者のIPアドレスは管理者にわかるので日常的に第三者に渡っている情報ですが、
2chのレスでIPが残る(Googleの検索に引っ掛かる)となると少し意味が違ってきます。
IPアドレスからは接続地域と回線種類くらいしかわかりません。それぞれが情報を持っていても
外に開示している情報ではないので個々の情報では価値が薄いのですが、2chにレスがあれば情報を共有できます。一つ一つは薄い情報でも繋げれば意味が出てきます。
また、IPアドレスと本名住所を元々知っている相手にはどうでしょうか?
まず普通に家族が家のIPをググったら2chのレスを見られますね。
あなたの2chの書き込みが全てわかる訳です。趣味嗜好、悩み等を書き込んでいれば筒抜け。
あなたの知り合いがふざけてこのIPの奴○○って奴だよ、と書き込む事だってあるかもしれません。
例えば本名IP掴んでる通販業者が2chググってレス見て病気で悩んでいたのが知れたらその情報を心霊治療の業者に流されたりする可能性だってあります。

まぁそういう可能性も無いとは言えないのでIP表示のスレだけは気をつけて下さい。
先にその危険性を知っていればレスの内容も気をつけるでしょうけど、現状はその危険性をそもそも全く知らずに呑気に匿名だと思ってレスしている人が大半なのです。
0012デフォルトの名無しさん (ワッチョイ edd8-ZLad [36.2.194.98])
垢版 |
2017/06/28(水) 13:02:29.11ID:QB56clcA0
これ読んだけど、なんで関数内で設定されているのに
グローバル変数なのかわけわからん。
この言語設計したやつ頭おかしいわ。


関数呼び出しパターンの「this」はいかに…
関数呼び出しパターン
function show() {
console.log(this);
this.value = 1; // 注1
}
show(); // thisはグローバルオブジェクトをさす
この場合は「this」は「グローバルオブジェクト」を指してしまいます。
なので、注1の「value」は「グローバル変数」となります。
これを抑えておくのがポイントです。
次の例を考えてみましょう。
0013デフォルトの名無しさん (ワッチョイ eb4b-q+YL [121.85.119.194])
垢版 |
2017/06/28(水) 13:24:39.86ID:jRWvPNDP0
thisがグローバルオブジェクトを参照してるからthisのプロパティもグローバルになる
var hoge = {};
function fuga(){
hoge.hage = 1;
}
fuga();
を実行するとグローバル変数hogeが参照するオブジェクトに関数内でプロパティhageが追加されるが
hogeがグローバルだからhoge.hageもグローバルなのと同じ
0024デフォルトの名無しさん (フリッテル MMde-jJ5X [219.100.138.62])
垢版 |
2017/09/17(日) 12:17:26.41ID:imu4JSFLM
>>23
出来ない
- 「任意のキー入力をエミュレート出来る」は「任意の動作を誘発させる」と同義で非常に危険
- [Alt] + [←] を誘発させる実装は [Alt] + [←] に別の動作を割り当てるな、と主張してるのと同義でユーザビリティが悪い
0033デフォルトの名無しさん (ワッチョイ 75d1-JAgm [114.169.237.158])
垢版 |
2017/11/19(日) 16:06:59.97ID:ANnOsUYp0
投票です。

現在JavaScript関連にはまともなスレがありません。
新しいスレを立てた方がいいと思いますが賛同する方はいますか?

新しいスレの内容の条件

・JavaScriptだけを扱う(AltJSやBabelやTypeScript禁止)
・ブラウザのDOM APIだけを使う(jQueryなどのライブラリやフレームワーク禁止)
・サーバーサイド禁止(nodejsなど禁止)
0035デフォルトの名無しさん (ワッチョイ 7ba0-RjUU [39.110.8.73])
垢版 |
2017/11/19(日) 16:22:04.41ID:AZU6DnHQ0
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/
0036デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 17:11:11.54ID:CDwPHEzDa
ここに書き込むのは久方ぶりだな。上に同じく、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
0037デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 17:26:50.32ID:CDwPHEzDa
>>35
> 新スレ(復活)には賛同するけど、以前ここに立っていたJS質問スレと同じ轍を踏む気がする
原因と対策を考える必要があが、あなたはどう考える?

前回の失敗は事実上1人にテンプレ案作成をまかせていて、その人が保守しなくなったからテンプレ維持がままならなくなった気がする。
- 苦言や提案はするけど、テンプレ作るのは面倒くさい
- 2chなんだから適当でいいだろ
こういうスタンスでは間違いなく破綻する。
最低でも、3人はテンプレ保守する人が必要だと思うな。
0038デフォルトの名無しさん (ワッチョイ 75d1-JAgm [114.169.237.158])
垢版 |
2017/11/19(日) 17:29:24.70ID:ANnOsUYp0
現在プログラム板にある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/
0039デフォルトの名無しさん (ワッチョイ 75d1-JAgm [114.169.237.158])
垢版 |
2017/11/19(日) 17:34:25.31ID:ANnOsUYp0
>>37
> 最低でも、3人はテンプレ保守する人が必要だと思うな。

その三人の中に裏切り者がいたらどうしましょうか?
まずその人が信頼できる人か素性を調べる必要があるのでは?
その上で公平な投票システムが必要でしょう
荒らしがIPアドレス変えて大量に投票したら意味ないですからね
0040デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 17:34:54.01ID:CDwPHEzDa
>>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/
0042デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 17:46:27.64ID:CDwPHEzDa
>>39
> その三人の中に裏切り者がいたらどうしましょうか?
それは別の問題。
俺が危惧しているのは、あなたのいうところの「裏切り者」だけが存在し、良識あるテンプレ保守者がゼロの状態。
こうなると「裏切り者」がやりたい放題になる。

粘着質な荒らしはいつまでも5chに常駐していられるが、我々は人間だから疲れもするし、諦めもする。
あなたも今は元気な状態だが、今後もずっとテンプレ保守をして面倒になっても投げ出したりしない、とはいえないだろう。
一人が欠けても機能する為には、複数人での協力体制が必要。
0045デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 18:02:33.77ID:CDwPHEzDa
>>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/

大分前のスレだが、この頃は比較的まともだった。

> 運営と連携したブロックする仕組みが必要になるのかな?
システム的な是正を問うなら、「他のフォーラムへ移行しよう」が結論になるだろうな。
0049デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 18:08:59.72ID:CDwPHEzDa
>>63
例えば、次のシナリオが考えられる。

1. テンプレを改変してライブラリ許容したルールの新スレを立てる
2. 新スレで「なんでもかんでも、ライブラリを推奨するな」と苦情が来る
3. 1が「このスレのルールを守れ」と反論し、「jQueryがいかに有用か」を懇切丁寧に語る
4. 不毛な議論

Web制作板で現在進行形で起きている問題だな。
0054デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 18:31:26.65ID:CDwPHEzDa
俺が言いたいことは、「テンプレ(ルール)は守る人間がいて初めて機能する」という事。
テンプレがあっても守られなければ、「ここはテンプレ通りに質問/回答しなくていいのか、じゃあ好き勝手に質問/回答しよう」となる。

はっきりいって「テンプレなんて守る人はいない」という意識でいるなら、新しくスレを立てても上手くいかないと俺は思うぞ。
ルールを簡潔にしても守らない人は守らない。
ルールを率先して守る人間が複数人いて、ルールから外れた事を是正する働きかけがないと上手くいかない。
「最低、3人」といったのは1人が欠けても複数人(2人)で事に当たれるから。
スレに張り付いている荒らしと1対1になると持久戦で負ける。
お互いに生活リズムがあるのだから、生活リズムの異なる人間が複数人いるのが望ましいといえるが、それは難しいだろうな。

現状は「ルールなんて守る人はいない」「2chに何を求めているんだ?」状態の人が多いので、むやみに新スレだけ立てても上手くいかない、と俺は思う。
その空気を変える必要がある。
0055デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 18:35:13.14ID:CDwPHEzDa
>>53
全員にルールを守らせるのは無理に決まってるだろう?
(それとも、あなたには全員にルールを守らせる素晴らしい案があるのだろうか)
日本人は空気に敏感だから、それを利用した方が良い。

あなたの考える「現在の 問題点」と「対策」を教えてくれ。
悪いが、質問攻めで疲弊するのを待っているようにも読める。
0056デフォルトの名無しさん (ワッチョイ 75d1-JAgm [114.169.237.158])
垢版 |
2017/11/19(日) 18:43:39.45ID:ANnOsUYp0
俺が言いたいのは手段が目的になってるんじゃないかってこと
目的を実現できないのに手段だけを作って苦労したって意味が無いだろ
目的が達成できない手段だから、その手段は廃れるんだよ
前の人がテンプレを管理しなくなったのも同じ理由
目的が達成できないのに仕事だけやらされて何もメリットがない
0059デフォルトの名無しさん (アウアウエー Sa13-IKRN [111.107.178.50])
垢版 |
2017/11/19(日) 19:08:00.77ID:CDwPHEzDa
>>58
> 対策、スレと関係ない話はどっか隔離スレでやってくれ、ここのように
何が対策なのか不明だが、スレ違いの話題が出る度に「スレと関係ない話はどっか隔離スレでやってくれ」とお願いするのか?
今までも適切なスレに誘導されて上手くいかなかったはずだが、どうしてそれが上手く機能する?
0063デフォルトの名無しさん (ワッチョイ 6b80-IVKU [153.187.180.175])
垢版 |
2017/11/19(日) 21:34:42.00ID:oda4btU40
> ・ブラウザのDOM APIだけを使う(jQueryなどのライブラリやフレームワーク禁止)
反対

jQuery, lodash(Underscore) で、すぐに書ける事が多いので、便利。
JavaScript だけを使えとか、非効率な事で、時間を浪費させる奴がいる。
そいつが荒らし

getElementById() とか、ブラウザの差異とか、
仕事時間の8割が、ビジネスロジックとは無関係で、無駄な時間

多くの開発者が、jQuery, lodash(Underscore), React など、
JavaScript の無駄な時間からの、脱却を目指してきた

それに延々と反対する、荒らしがいる。
JavaScript だけを使えとか

C言語を勧める奴と同じ。
非効率な事をさせて、相手の時間をつぶさせる
0064デフォルトの名無しさん (ワッチョイ 6b80-IVKU [153.187.180.175])
垢版 |
2017/11/19(日) 21:39:54.28ID:oda4btU40
CSS の質問に、SASS で答えたら「死ね」とか、
新技術・新ライブラリで答えると、荒らしてくる奴がいる

新しい知識を邪魔しよる。
人に新技術を教えると、教えるなって荒らしてくる

教えると、自分が食えなくなるから、荒らしてくる
0066デフォルトの名無しさん (ブーイモ MMf1-MVX4 [210.149.250.138])
垢版 |
2017/11/19(日) 22:28:43.77ID:4vEA1DleM
ちゃんとしたテンプレで建てるのはいいと思うけど
建てたところで間違いなくテンプレ無視したレスと煽りを繰り返された挙げ句に後半また改竄したテンプレでスレを乱立して乗っ取られるよ

同じことをもう5年くらい繰り返してるんだよ
5chのシステムだと常駐している荒らしに利用者が抵抗するのは無理
0070デフォルトの名無しさん (ワッチョイ 99e0-T3WU [114.171.22.58])
垢版 |
2018/02/16(金) 06:46:55.50ID:W1XJdyx10
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0071デフォルトの名無しさん (ワキゲー MMee-IIS2 [219.100.28.140])
垢版 |
2018/05/11(金) 08:34:24.43ID:aEco1fjbM
仕事でIEのブラウザ上を普通にctrl cコピーしてExcelに貼ることが多いんだけど、セル一枠がクレジットカード番号のみ情報が混じってると勝手に16文字目が0にされてしまう
セルに直接クレジットカード番号打ち直せばいいんだけど、いちいち結構な手間になってしまう
特にブラウザのCSSのデザインもExcel上に残したいからなおさら

Excelのフォーマットの文字列に該当する設定ってJavaScriptでできたりする?
0072デフォルトの名無しさん (ワッチョイ 8d5b-uwJI [118.241.94.227])
垢版 |
2018/05/11(金) 10:03:04.34ID:yUktgmmn0
あの、すみません、スレチだったり、既出だったらゴメンナサイ。

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行連続で書いてもダメでした。

どうぞ宜しくお願いします。
0073デフォルトの名無しさん (ワッチョイ 8d5b-uwJI [118.241.94.227])
垢版 |
2018/05/11(金) 11:28:21.90ID:yUktgmmn0
72です
すみません、自己解決しました。
0077デフォルトの名無しさん (ワッチョイ 05fa-9WOx [114.149.223.252])
垢版 |
2018/05/23(水) 19:25:54.79ID:Au5e7VGg0
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

FKHQT
0079デフォルトの名無しさん (ワッチョイ 1dfa-i/RF [114.149.223.252])
垢版 |
2018/07/05(木) 01:55:13.62ID:RfoszcD20
F15
0080デフォルトの名無しさん (ワッチョイ bf9c-0Uuo [211.2.175.25])
垢版 |
2018/08/07(火) 04:43:19.27ID:xLB66AnX0
すいません。
frameの取得方法で教えてください。
var frame = document.getElementsByName("header")[0].contentWindow.document;
frame.getElementById('main').value;//取得できる

frame.getElementsByName('tdBody')[0].innerText;//取得できない

この違いは何でしょうか。どちらもページ内埋め込みフレームですが、getElementsByNameのほうはこのメソッド自体使えないと出てしまいます。
0081デフォルトの名無しさん (ワッチョイ df8f-PIYw [114.162.106.235])
垢版 |
2019/04/21(日) 18:38:01.87ID:XAIRd91T0
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では一般的でしょうか
0082デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 12:56:56.84ID:adnCRUw60
https://www.atmarkit.co.jp/ait/articles/0904/20/news124_2.html
> 例えば、WebブラウザでJavaScriptを実行する場合には、
セキュリティ上の制約でJavaScriptからクライアントマシン上のファイルを
読み込んだり、書き出したりすることはできません。

しかし、ファイルシステムAPIというのが検索すると出てきます。
現在のJSの「できること、できないこと」は何ですか?
0083デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 13:36:33.55ID:adnCRUw60
もう一つ質問です。
JSは通信に関する制限があるようですが、
オフラインで動作するデスクトップアプリに近いようなもの(ブラウザで動いても良い)を
作ったとして、それも通信が制限されますか?
0086デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 15:21:23.82ID:adnCRUw60
質問し直します。

WEBブラウザ上で動作するJSはlocalhostとのHTTP通信ができますか?
その他どんな制限がありますか?
0088デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 16:06:09.43ID:adnCRUw60
もう一つ聞きたいです。

GitHubでJSが非常に人気があるようです。
https://githut.info/

言語人気ランキングによっては7位。
https://www.tiobe.com/tiobe-index/

これが意味する事は使ってる人は少なめだけど活発に使っているという事になりますか?
JSにこれほど人気がある理由は何だと思いますか?
0089デフォルトの名無しさん (ワッチョイ 9a2c-4xtZ [219.162.237.2])
垢版 |
2019/05/05(日) 00:45:28.67ID:tvdtPjB+0
この板には、あまり回答者がいないから、
詳しくは、この板よりも、web 制作管理板のJavaScript スレの方へ、書き込んでください!

>JSは通信に関する制限があるようですが
JS も、Ruby などと同じで、単なる言語です。
その言語の実行環境には、基本的なものしか含まれていないので、たいした事は出来ない

JSの実行環境には主に、ブラウザ・Node.js の2つがある

ブラウザはセキュリティーが厳しいので、
各ブラウザで機能は異なるが、基本的には、ローカルPC・クロスドメインにはアクセスできない

ローカルPC内のHTML を、ダブルクリックすると、ブラウザで見れる。
jQuery も使える。
これぐらい単純なら出来る

一般的には、ローカルファイルにアクセスするには、
実行環境にNode.js を使った、Electron などで作る。
VSCode も、Electron製
0090デフォルトの名無しさん (ワッチョイ 4e14-ahOC [153.178.111.131])
垢版 |
2019/05/05(日) 02:10:00.63ID:VtQYfSta0
>>88
基本的に言語というのはどれでもいい。
大抵のことはどの言語でもできる。

ただ稀にこの言語でなければダメという理由がある。
(他の言語でも不可能ではないが大きく不便になる)
その理由は言語そのものではなくて、言語を取り巻く環境にある。

JavaScriptもその一つ。ブラウザでそのまま動く言語はJavaScriptしかない。
他にも機械学習系のライブラリが揃ってるのはPythonだし、
Linuxでカーネルやドライバを作ろうと思ったらC言語しかろくにサポートされてない。
これらは言語の差じゃない。環境の違い。

今はウェブサービスの開発が主流なので、それにうまくハマってるのがJavaScriptというわけ
009189 (ワッチョイ 9a2c-4xtZ [219.162.237.2])
垢版 |
2019/05/05(日) 02:32:25.11ID:tvdtPjB+0
Ruby, Python など、多くの言語では、ローカルファイルアクセスなどのライブラリも、
最初から、その言語の標準ライブラリに入っている

これを、battery included と言う。
製品を買ったら、電池も入っていること

ところが、JS では、言語に標準装備のライブラリが少ないから、
各人で、誰かが作ったライブラリを探さないといけない

ブラウザ・Node.js, Electron, Cordova, jQuery とか、各人で機能を調べる

まあ詳しくは、この板よりも、web 制作管理板のJavaScript スレの方で、聞いてください!
0092デフォルトの名無しさん (ワッチョイ 5f14-ahOC [114.154.187.122])
垢版 |
2019/05/05(日) 20:03:49.62ID:yGiei76k0
> Ruby, Python など、多くの言語では、ローカルファイルアクセスなどのライブラリも、
> 最初から、その言語の標準ライブラリに入っている

それは利点でも有るが、JavaScriptが対象とするブラウザでは逆にデメリットとなる
なぜならセキュリティの観点からローカルアクセスできてはいけないからだ。

ブラウザのための言語だから当たり前ではあるが、
こういう点もJavaScriptでなければいけない理由になってる。
かつてはブラウザでRubyなどを動かそうという計画もあったんだ
0093デフォルトの名無しさん (ワッチョイ 7646-Cg3z [111.98.111.65])
垢版 |
2019/05/06(月) 08:25:29.89ID:r9zJcDQk0
連休最後でやっと自主学習できます。
よろしくお願いします。
値が入っている場合と、入っていない場合の判定なのですが

var val=20;
if(val){alert(val);}

------------------
var val;
if(!val){alert(null);}

という真偽判定で問題なく稼働しますか?
誤作動したりしないでしょうか?
0094デフォルトの名無しさん (バッミングク MM77-36mh [122.25.157.189])
垢版 |
2019/05/06(月) 08:38:39.09ID:XhX25YODM
web作成板に行きなボーイ
0101デフォルトの名無しさん (ワッチョイ 1f01-jPo7 [221.91.136.7])
垢版 |
2019/05/16(木) 09:28:35.68ID:+WwLqBdS0
うるせえteratailでも行ってろ!
0103デフォルトの名無しさん (ワッチョイ 4f2c-rckI [219.162.237.2])
垢版 |
2019/05/16(木) 12:06:09.08ID:BUJhrwgQ0
この板のJS スレは、本来の場所じゃない。
web制作管理板のスレが荒らされて、この板に緊急避難しただけ!
もうこの板には、住民はいない

荒らしも、この板にやってきた。
スレタイに、jQuery, Lodash, ライブラリの話は禁止って書いて、スレ立てする奴

漏れらは、荒らしの立てたスレに書き込まないように誘導したり、荒らしを排除しようとした

今はこちらの板で、Ruby禁止って書いて、スレ立てしてる。
くだすれPython(超初心者用) その43【Ruby禁止】

今は、あちこちのスレで、Ruby 死ねとか書き込んでる

とにかく、荒らしと会話しないこと。
荒らしに反応すると、ずっと居座るだけ
0105デフォルトの名無しさん (ワッチョイ 8f14-EL+e [124.103.82.183])
垢版 |
2019/05/16(木) 12:37:50.39ID:M/ddkVVC0
>>102

「来週の休日どこに行く?」
「来週の休日の天気を言わなければ返答できない」
「え?天気?晴れるんじゃないかな?」
「水族館に行こう」
(天気関係ないじゃん)

こういう感じなw

なんで天気聞いたのか追求すると、今度は台風だったらとか
極論言い出したりするし「晴れなら〜雨なら〜」という
答えかたをすることもできない。

一種のコミュニケーション能力不足かな
質問に対して、唯一の正解を答えるものだと思っている
だからすべての条件を先に聞き出し(後から言うと怒り出す)
返答は自分が考えた唯一の正解だけ(他の候補は間違い扱い)だから一行になる
0106デフォルトの名無しさん (ワッチョイ 1f01-jPo7 [221.91.136.7])
垢版 |
2019/05/16(木) 23:18:13.54ID:+WwLqBdS0
>>105
ローカル君wwww
ム板でも元気にガイジパワー発揮!w
0107デフォルトの名無しさん (ワッチョイ f314-EL+e [218.230.176.251])
垢版 |
2019/05/16(木) 23:43:32.63ID:bssc8EEh0
必死チェッカーもどき
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
俺は運営の思考分かるよ

お前みたいな害悪野郎に書き込んでほしくないんだよ
0108デフォルトの名無しさん (ワッチョイ a38f-4YhY [180.0.202.62])
垢版 |
2019/05/17(金) 12:44:41.69ID:5yXwvpw50
あんな奴が許容されがちだから「コミュニケーション能力のある人」が求められるんだよ。

>>104
たしかに Yes / No question に対する返答としては「文法的には」正しい。

しかし、そもそも相手に補足情報を要求しておいてアレは無い。
一般的に、「過去の状況・現在の状況・将来の見通し」くらいの返答は、社会通念上、期待される範囲。
まして相手に補足情報を要求した以上、自身も「当然期待されているであろう」返答を返すべきだよ、社会通念上。
0109デフォルトの名無しさん (ワッチョイ 1f01-jPo7 [221.91.136.7])
垢版 |
2019/05/17(金) 17:00:32.07ID:iNSpWQN90
>>107
必死チェッカーで反撃した気分になってるのカ・ワ・イ・イ♥
0118デフォルトの名無しさん (ワッチョイ 8f8f-4YhY [60.39.122.110])
垢版 |
2019/05/19(日) 22:00:42.37ID:dLV4jWSc0
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%オレオレコードなら問題ないだろう
0121デフォルトの名無しさん (ワッチョイ 115f-4JiX [106.73.146.224])
垢版 |
2019/05/24(金) 21:30:29.52ID:DoRS/4HK0
イベントハンドラを使うときにhtmlに書くと

<button id="btn" onclick="func();">クリック</button>
関数名()と実行まで書くのに

イベントハンドラをJavaScript内に書くと
document.getElmentById("btn").onclick=func;と関数名だけで()を付けないのは何故ですか?

onclick=func;←これは、イベントハンドラ(onclick)に関数を代入をしてるんですか?

そもそもイベントハンドラは属性ということで、もう何をやってるのかよく分からなくなってて、
これは理屈抜きで覚えるべきですか?

お願いします
0124デフォルトの名無しさん (ワッチョイ b98f-h/tS [60.39.122.110])
垢版 |
2019/05/25(土) 13:07:15.19ID:yzyBLtFl0
>>121
無名関数のことかしら

あと、こんにちでは var を新規で積極的に使う意味は無いとおもう

・プログラミング疎いので全部 let にする
・基本的に const を使い、結び付けられる対象となる値が変化する可能性がある場合のみ let を使う

あたりが方針としてベターだと思う
Hoisting とかクソでしょ
0128デフォルトの名無しさん (バッミングク MM0b-BvJo [125.200.124.12])
垢版 |
2019/05/26(日) 15:33:48.96ID:W10tX16pM
俺は女が買いたいんだ!おっぱいおっぱい!
0129デフォルトの名無しさん (ワッチョイ 2901-9b2Z [126.159.210.9])
垢版 |
2019/05/26(日) 15:44:40.60ID:l5IzIEQ20
Javascriptはウェブ板へって書いてあるのにな。
0131デフォルトの名無しさん (ワッチョイ 7d5f-Su45 [106.73.146.224])
垢版 |
2019/05/31(金) 00:19:02.96ID:Cb7G0CcH0
度々の質問で申しわけありません

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です
0134デフォルトの名無しさん (ワッチョイ 7d5f-B37s [106.73.146.224])
垢版 |
2019/06/02(日) 01:02:45.52ID:4INaUA9H0
>>133
chromeを開いて最初のページ(chromeのホームページ?)上でデベロッパーツールからコンソールを開いて
そこにjavascriptの関数や文を直接コピペしていたらエラーが出て
それからそのページでコンソールを開くとエラーが表示されるようになりましたが
ただ、別のページでコンソールを開くとエラーの表示は出ません
今はchromeを開いてGoogle.co.jpに移動してそこでコンソールを開いて使ってます

かなり次元の低い質問をしてると思いますが、どういう状態なのか散々調べたのですが分からないんです^^;

スレの趣旨と違うのでこの質問はこれでやめますm(._.)m
0136デフォルトの名無しさん (ワッチョイ a18f-pVhm [60.39.122.110])
垢版 |
2019/06/02(日) 08:03:33.34ID:zfmIH2Wv0
>>134
から
console.log("Hello, world!");
が動くのか否か判別ができない

<!doctype html>
<html>
<head><meta charset=”utf−8”></head>
<body>
<script>
console.log(”Hello, world!”);
</script>
</body>
</html>

が動くかどうか、だけの問題なのに
0138デフォルトの名無しさん (ワッチョイ 7d5f-B37s [106.73.146.224])
垢版 |
2019/06/03(月) 00:03:05.29ID:gVwmYwdG0
>>135
履歴を消したりアンインストールしてもダメでした

>>136
すみません、それなら問題ありません hello worldと表示されます^^;
自分で作ったhtmlファイルをchromeで開いてコンソールを表示した場合もエラーは出ません

エラーが出るのはchromeを起動して初めに表示されるページ、トップページ?でコンソールを開いた場合だけです。そのページでだけコンソールにエラーが表示されます


同じような現象がjqueryで起こってしまったので原因が気になり質問しました

ありがとうございました。いざとなったらパソコンを初期化します
0139デフォルトの名無しさん (ワッチョイ a18f-pVhm [60.39.122.110])
垢版 |
2019/06/03(月) 18:31:15.92ID:+eb4McoS0
「トップページ」が悪いだけじゃん

ブラウザも 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>

とか書くぶんには問題ないんじゃね
0144デフォルトの名無しさん
垢版 |
2019/06/06(木) 15:32:42.95ID:7PasqtOL
教えて頂いたとおり、window.getSelection().removeAllRanges();を追加したらAndroid iOSどちらでも動きました!
ありがとうございます!
0145デフォルトの名無しさん (ワッチョイ daa7-hHHL [153.181.201.128])
垢版 |
2019/06/06(木) 16:11:09.57ID:LQgeHIgB0
いいってことよ(´・ω・`)
0148デフォルトの名無しさん (ワッチョイ 89ad-FgWm [116.64.0.10])
垢版 |
2019/06/11(火) 18:38:53.24ID:vib91KXZ0
初歩的な質問で申し訳ありません
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( ) の違いは何なのでしょうか?(後者は関数なのはわかるのですが、かっこ無しの場合がわからずでして)

よろしくお願いします。
0150デフォルトの名無しさん (ワッチョイ 89ad-FgWm [116.64.0.10])
垢版 |
2019/06/11(火) 19:04:23.38ID:vib91KXZ0
>>149
ありがとうございます
すみません、ダメだと勝手に思っていました
実行してみたのですが、その場合はobjのオブジェクトとしてtestが登録?されるのですね

(2)の方は、左辺のobj.testのtestは変数で、右辺のtestがfunction test() ということで、
(2)は obj = {test : function test( )} になったということですか?
0153デフォルトの名無しさん (オッペケ Srf7-0Tbr [126.208.230.133])
垢版 |
2019/06/12(水) 08:18:21.06ID:0T71Qniwr
>>150
言葉で説明するよりも、コンソールデバッグや要所に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
横着して、基礎を疎かなままに、入門している印象がある
0156デフォルトの名無しさん (ワッチョイ 5e8f-Yhjd [60.39.122.110])
垢版 |
2019/06/12(水) 13:13:57.48ID:vXZu8+ru0
>>155
ご返答ありがとうございます。

ちなみに

>>148
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?

これって、Cの構造体とか、C++ / Java のクラス定義からのインスタンス生成あたりが念頭にある気がするんですけど
気のせいですかねえ…。
0159デフォルトの名無しさん (ワッチョイ cf8f-Yhjd [124.86.194.129])
垢版 |
2019/06/12(水) 23:06:46.69ID:BQdPzZx+0
>>148
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?

>>149
> 悪いが、なぜobj.testに代入が許されないと思っているのか、理解出来ない

この一連の流れ、ちゃんと読んでる?
質問者の自然な感覚としては obj.test が許される理由が分からんと言ってるんだよ
「そういう考え方が何故出て来るのか」って話だよ
0161デフォルトの名無しさん (ワッチョイ db7d-HQ34 [124.154.254.129])
垢版 |
2019/06/20(木) 00:28:57.80ID:iJJms4bW0
ホームページのドロワー部分で躓いています。
ドロワーが開いているときに、iosでも背景を固定してかつドロワーはスクロールできるようにするにはどうすればいいでしょうか?
ネットで探して試したことは、
event.preventDefault();をpassive: falseで使うやつ。(ドロワーもスクロールできなくなるので却下)
overflow:hidden;(iosだと効かない)
position:fixed;(スクロールが一番上に移動してしまうので却下)
です。

あとは、「ドロワー以外のtouchmoveではスクロール量を変化させない」という方法で出来ないかとやってみたのですがうまくいきませんでした。
0162デフォルトの名無しさん (ワッチョイ aa2c-udt/ [219.162.237.2])
垢版 |
2019/06/20(木) 07:18:00.12ID:So5aQwHx0
>>154
var obj = { };
obj.test = 1;

これは、Singleton

そのインスタンスだけに、そのプロパティを作った。
そのインスタンスだけに、そのプロパティは存在する

同じだけど、下のように書いた方が、わかりやすい

上だと、インスタンスの外部から設定したように見えるが、
下では、内部で設定したように見える。
あくまでも、印象に過ぎないけど

var obj_2 = { test: 1 };

>>161
この板よりも、web制作管理板のスレの方へ、書き込んで!
この板のスレは、向こうのスレを荒らされて、緊急避難用に作っただけなので、見てる人が少ないから
0166デフォルトの名無しさん (ワッチョイ aa61-uGan [61.245.75.112])
垢版 |
2019/06/26(水) 00:13:18.62ID:kt7frSjI0
質問です。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);
}
0168デフォルトの名無しさん (ワッチョイ 2f8f-f3ih [58.91.82.165])
垢版 |
2019/06/26(水) 04:22:30.93ID:7Iy6MpfG0
>>166
こういうこと?

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);
0169166 (ワッチョイ 8f61-uGan [218.185.157.249])
垢版 |
2019/06/26(水) 22:30:11.20ID:J30P6jfD0
>>167のリンクの通り4〜6行目を
setTimeout(function(i,j){
F1(i,stage);
}, 1000,stage*2,stage);
にしたら動きましたー
単なる構文間違いですね…
0178デフォルトの名無しさん (アウアウエー Sa5f-a57L [111.239.134.119])
垢版 |
2019/06/30(日) 15:12:50.60ID:1phNYyF+a
>>177
質問者のコードは即時関数で>>169が無名関数式を使用したように読めるが…

あと、他人に指摘はするが、自分に指摘されたら「知らんがな」はあまりにも誠意がない
より良いコードを追求するが故の改善案と認識していたが、あなたには違う目的があるのかもしれないと思い始めてる
Web制作板の「ワッチョイ **8f」と同じ人ならいうだけ無駄かもしれんが
0183デフォルトの名無しさん (ワッチョイ d68f-XC/u [153.169.176.66])
垢版 |
2019/07/13(土) 02:17:04.73ID:P33eZqk80
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.
だそうで、効率は良いっぽいのですが…。
0184デフォルトの名無しさん (ワッチョイ d68f-XC/u [153.169.176.66])
垢版 |
2019/07/13(土) 02:23:13.18ID:P33eZqk80
質問age
0190デフォルトの名無しさん (アウアウエー Saea-YtL5 [111.239.138.66])
垢版 |
2019/07/14(日) 10:50:06.44ID:ZHLRDDy6a
>>187
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
0193デフォルトの名無しさん (ワッチョイ d37f-aL1B [128.53.65.41])
垢版 |
2019/07/14(日) 16:29:44.23ID:QCCP5GQI0
それはすみません

bodyがフィーム送信されたテキストとしまして
var line = body.split("¥n");
var cline =0;
これを繰り返し展開し  length > ○○ で cline++;
したいのですが、javascriptの繰り返しがどうしても理解
できないのです。
0196デフォルトの名無しさん (ワッチョイ 23da-rP+5 [125.202.97.108])
垢版 |
2019/10/02(水) 19:50:54.77ID:N+fsnVWC0
Acrobatのスタンダード版で、Javascriptを使おうとすると、
この機能はライセンスに含まれていないと表示され、使えません。

実際、プロとスタンダードの比較表を見ても、後者では使えないことになってるのですが、
なぜか、コマンドボタンに書いたJavascriptは使えます。

一体何が違うのでしょうか?
0197デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 13:12:43.29ID:KO9wMRnb0
https://mohayonao.hatenadiary.org/entry/20111108/1320756534

ここでやっているようなプログラムを作っても別タブを開いている間は止まります。
同じような経験をしていらっしゃる方いませんか?

workerの部分を別ファイルを使っても、blobを使って単一ファイルにまとめても
同じようになります。

https://qiita.com/mohayonao/items/b4f713bf8ab9de8907f1
ちなみにここのやつをそのままコピーしてやっても、workerありでも
無しでも同じような結果になりました。
0198デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 21:59:21.96ID:KO9wMRnb0
197ですが、情報が少なすぎました。
0199デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 22:04:01.67ID:KO9wMRnb0
ブラウザはChrome、Operaと試しました。
workerも使えない。上記のカウンターを数えるだけのプログラムですが
別タブに行くとworkerがあろうとなかろうと、タイマーが止まってしまいます。
何かいい方法ないでしょうか。
ちなみに誰か、これらのプログラムを試してみて成功した方いらっしゃいませんか?
というより、プログラムは動くので、別タブに行ってもタイマーが止まるかどうか気になります。
0201デフォルトの名無しさん (ワッチョイ 232c-la4p [219.162.234.204])
垢版 |
2019/10/14(月) 00:16:28.97ID:qXl8FtHN0
そりゃ、テトリスなどのゲームをプレイしていても、
別タブへ移動したら、ゲームは止まる。
そして戻ってきたら、止まっていた所から始まる

フォーカスを失うと、アクティブ(フォアグラウンド)プロセスじゃないから、CPU スライスが割り当てられない!
GUI では、アクティブなプロセスは、常に1つだけ

バッググラウンドでも動き続けるには、バッググラウンドプロセスにする。
それか、worker スレッド

この板のこのスレは、web制作管理板が荒らされたときに立てた緊急避難用スレで、今は使われていません!
web制作管理板のJavaScript のスレへ、移動してください!
0203デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/14(月) 06:14:41.99ID:sewBjWGo0
>>200-201
ありがとうございます。
条件とかを無視してBlobbuilder() をBlob()に換えただけですが
ずれて表示されませんでした。
worker使ってもタイマーは止まったまま。
web制作管理板の緊急避難スレとのことでそちらに移動しますね。
0209デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119])
垢版 |
2019/12/08(日) 09:13:34.78ID:Zz4LoxFtd
forEachのループ順ってインデックスの順番と一致が保証されてますか?
0211デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119])
垢版 |
2019/12/09(月) 07:21:26.41ID:OnUQvyFpd
>>210
初期化されてない要素はスキップされるんですね
知りませんでした、有り難う御座います
0214デフォルトの名無しさん (ワッチョイ ab5f-oFCC [106.73.72.193])
垢版 |
2020/02/15(土) 10:53:01.82ID:TiEPdFSJ0
最近canvas(2d)を勉強している関係で、勉強がてら自分でライブラリを少しずつ作ろうと
思ったのですが、何を描画するにもコンテキストが必要ですよね
汎用的な描画関数を書く場合、必ず引数にコンテキストを与える必要がでてくるのですが
どの描画関数にも同じ引数を常に渡すのはかったるい…かといってグローバル変数に
コンテキストが定義されている前提でライブラリの関数を書きたくない…

といった場合、何かすっきり解決する方法はあるのでしょうか?
ライブラリをクラスにしてプロパティにコンテキストを持たせるくらいですかね
0220デフォルトの名無しさん (ワッチョイ 8f02-Y96Y [114.16.82.189])
垢版 |
2020/03/01(日) 13:30:18.22ID:SX/qa6HC0
ブラウザ側JavaScriptで
簡単にsync化する方法ありますか?
オブジェクト指向化が難しすぎる。
非同期メソッドをクラス内で使った時に
this(このインスタンス的な意味で)を
参照するのが難しすぎます。
0221デフォルトの名無しさん (ワッチョイ 3a2c-rVtL [219.162.234.204])
垢版 |
2020/03/01(日) 22:59:36.40ID:NSpMdQYF0
非同期は、文脈(コンテキスト)が異なるから、
this とか、例外もキャッチできないだろ

非同期を同期的に書けるのは、async, await。
ちょっと前は、promise だった

JavaScript の質問は、この板ではなくて、web制作管理板の方へ書き込んでください!
この板のスレは以前、荒らしが出たときに、緊急避難用に立てたものだから
0222デフォルトの名無しさん (ワッチョイ 9301-IHcq [221.88.230.3])
垢版 |
2020/04/15(水) 05:54:30.29ID:+ql6+04R0
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が悪いのか判断できず
どうなんでしょう?
0225デフォルトの名無しさん (ワッチョイ 9301-IHcq [221.88.230.3])
垢版 |
2020/04/16(木) 10:08:39.40ID:s+KHkjW/0
>>224
FireFoxなんですかね
FireFoxのちょっと前のバージョンだと、遷移部分をlocation.url=ではなくて毎回windows.openにしてても新規にウィンドウ開くことなく同じ
ウィンドウで新しいURLを開けてたんですよ。JavaScriptの仕様的にそれがおかしいから直したら、ついでにバグ入れちゃったのかなあ?
0226デフォルトの名無しさん (ワッチョイ 13ad-ur4w [61.23.12.2])
垢版 |
2020/05/03(日) 21:36:56.65ID:4npkj+7k0
JavaScriptって関数のネスト地獄だと思うんですが、何かいい解決策ってあるんですか?(*´ω`)

os.cpus().forEach(cpuInfo => {
fs.appendFile(dataPath, `${cpuInfo.model}\n`, () => {
// ここに追加で色々処理を書くと、関数のネストがひどくて後々つらくなるのでは?
});
});

forEachとかappendFileを使わなくて書く方法は知ってるけど、今回はサンプルなのでわざと使ってるYo!
0228デフォルトの名無しさん (ワッチョイ ab61-A5SY [49.253.78.66])
垢版 |
2020/05/04(月) 23:00:12.61ID:CBUb3t9r0
javascriptでandroidアプリ作れるって聞いたんだけど
仕組みはどうなってんの?
ブラウザでキャッシュにプログラム全部落として実行ってこと?
0230デフォルトの名無しさん (ワッチョイ ab61-A5SY [49.253.78.66])
垢版 |
2020/05/04(月) 23:24:39.48ID:CBUb3t9r0
>>229
そんなことを書くためだけにレスしたの?アホなの?
0232デフォルトの名無しさん (ワッチョイ 0b2c-aEdY [153.194.236.234])
垢版 |
2020/05/05(火) 02:27:53.37ID:rwJ86+M00
この板のJavaScript のスレは、荒らし対策で緊急避難用に作られたもの。
web 制作管理板のスレへ書き込んだ方がよい

こちらには、荒らししかいない

荒らしは必ず、2回書き込む。
自分のレスに、リンクを付けて「そうだよな」みたいに自演する

多くの人が言ってるように見せかける。
午前、3時とかでも、同時に2つのレスを書くw
0235デフォルトの名無しさん (ワッチョイ d361-INBt [218.231.250.166])
垢版 |
2020/06/03(水) 19:07:48.44ID:jt2kVIBa0
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;
}
0236235 (ワッチョイ d361-INBt [218.231.250.166])
垢版 |
2020/06/03(水) 19:40:21.72ID:jt2kVIBa0
watchPositionで
自己解決しました


バックグラウンド等々でも動作を継続させるのはどうしたら良いのでしょうか?
0237デフォルトの名無しさん (スプッッ Sd1f-Zi0f [1.75.211.253])
垢版 |
2020/06/10(水) 03:27:21.19ID:nXyeYMB9d
正規表現の質問です

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]これと同じ意味ですよね?
0238デフォルトの名無しさん (ワッチョイ cf61-q7/F [153.210.210.173])
垢版 |
2020/06/10(水) 04:08:41.09ID:+QBvSnI00
>>237
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
separator が、キャプチャする括弧を含む正規表現だった場合、 separator が一致するごとに、キャプチャする括弧の結果が (未定義の結果であった場合を含め) 出力配列に追加されます。

グループ化だけしたいなら(?:〜〜)で囲め
0239デフォルトの名無しさん (スプッッ Sd1f-Zi0f [1.75.211.253])
垢版 |
2020/06/10(水) 05:49:33.23ID:nXyeYMB9d
>>238
ありがとうございます。

括弧を含んだ正規表現の場合〜と解説してる文献があるんですね^_^;
こういうの自分で探せないわ…

何故そうなるのかはほとんど正規表現の知識がないので分かりませんが、とりあえず括弧で括った場合にはそういう挙動になるということは分かりました。

ありがとうございます
0242デフォルトの名無しさん (ワッチョイ 6fc7-Z00E [111.216.204.69])
垢版 |
2020/06/15(月) 21:13:50.22ID:1F3a2yyn0
スレを間違えただけです
0245デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.90.78])
垢版 |
2020/07/05(日) 23:47:37.29ID:S84HRZFZM
javascript初心者で右も左もよくわからないんだけどconsole.log();ってみなさんchromeなら検証からやって
0247デフォルトの名無しさん (ワッチョイ a56a-+D7B [42.125.49.111])
垢版 |
2020/07/06(月) 14:11:59.36ID:YRhjpfSA0
>>246
やっていますか? でした
0249デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.82.76])
垢版 |
2020/07/06(月) 15:11:39.18ID:AsDEr6ShM
>>248
そうです
理解があいまいで正しく伝達できませんでした
0254デフォルトの名無しさん (ワッチョイ fb5f-w4il [106.72.170.129])
垢版 |
2020/08/13(木) 21:43:17.29ID:cLv1fX6M0
こういう配列があったとして
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})
0258デフォルトの名無しさん (スッップ Sdbf-w4il [49.98.146.19])
垢版 |
2020/08/18(火) 19:36:32.49ID:65jirDTbd
これを
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的な便利ライブラリを使用する方法とかでも構わないので知りたいです
0264デフォルトの名無しさん (ワッチョイ d92d-C4/F [220.100.20.82])
垢版 |
2020/09/14(月) 13:19:22.86ID:tp+/+C8Z0
この方法だと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'});
としても機種依存文字が化けてしまいます

そういうもんでしょうか?
0267デフォルトの名無しさん (オッペケ Sr61-lMKa [126.212.166.165])
垢版 |
2020/09/17(木) 20:09:46.76ID:QWldExKKr
下記のコードでクリックした要素のidを取得したいのですが、取得できません。
$("li").on('click', function(e){
let k = $(this).attr('id');
});

取得する要素はjavascriptで動的にデータベースから値をとってきて表示しているのですが、
ページリロードした際にある要素しか上記のコードは有効でない、など、何か動かない条件などがあるのでしょうか。
よろしくお願いいたします。
0269デフォルトの名無しさん (ワッチョイ 7d2c-qc2B [114.144.98.145])
垢版 |
2020/09/17(木) 20:27:23.84ID:NHfa1bvj0
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制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出たときに、一時的に使っていたものなので
0273デフォルトの名無しさん (ワッチョイ b3f1-Kk5w [180.221.240.118])
垢版 |
2020/10/01(木) 18:40:48.93ID:3EMbehP20
enchant.jsでゲームを作り
自分のレンタルwebサーバにUPしたら
ブラウザで「NET::ERR_CERT_AUTHORITY_INVALID」のエラーが出て
他の誰にもゲームを見てもらえません。

なにがどうなっているのでしょうか?
0275デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:08:37.71ID:3EMbehP20
>>274
XSERVERでございます
0276デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:09:26.51ID:3EMbehP20
SSLとか証明書とか意味がさっぱりわからないのですが
なにがどうなっているのでしょうか?
0278デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:21:47.87ID:3EMbehP20
Cloudflareとは何じゃ
良い子はそんなの使ってません。
0282デフォルトの名無しさん (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 10:58:53.79ID:asjsDRkW0
sort関数に追加の引数を渡すことってできますか?
array.sort(mySort())に引数を与えて条件によって処理を変えたいのですが。

普通にmySort()に引数を入れるとソートで使われる引数に値が入ってしまってダメでした。
0284282 (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 11:48:53.44ID:asjsDRkW0
ありがとうございます。
新しいjsでは大丈夫でしたが、ES3という超古いバージョンなのです。
書き忘れていました。後出しで申し訳ありません。
(アドビのソフトで使われているjsです)
0287282 (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 13:05:25.23ID:asjsDRkW0
>>285
ちょっと自分のスキルでは難しそうです。
0289デフォルトの名無しさん (オッペケ Srcb-D9NN [126.208.250.170])
垢版 |
2020/10/14(水) 13:53:20.67ID:z5/Y8RhDr
ソート関数なんて自前で作ればいい
0291282 (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 14:10:27.29ID:asjsDRkW0
returnの挙動はともかく、
mySort(value)自体がES3だとできないのです。(aにvalueが入ってしまう)
とりあえず今はグローバル変数で対応していますが、
引数でやる方法がないのかと思いまして。
0292デフォルトの名無しさん (ワッチョイ 97d2-f5T3 [124.103.45.183])
垢版 |
2020/10/14(水) 16:00:56.30ID:zqMcknRo0
比較関数はどうやって指定しているんですか?
0294282 (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 17:08:39.53ID:asjsDRkW0
>>293
今やってることは大雑把には以下の通りで、
mySortにa,b以外の値cを渡してそれを元に処理を追加したいのですが
cの渡し方がわかりません。
var ary=[10,12,53,41,5,6,];
ary.sort(mySort);
function mySort(a,b){
return a-b;
}
0296282 (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 17:28:28.99ID:asjsDRkW0
ありがとうございます。まさに希望どおりです。
こんな書き方もできるんですね。
0298デフォルトの名無しさん (アウアウクー MM49-1tAR [36.11.229.191])
垢版 |
2020/10/24(土) 02:35:59.30ID:gS1xqNx8M
質問させてください。

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がそのまま表示されてしまいます。

ダブルクオートで囲い直す方法ってございませんでしょうか?
よろしくお願い致します。
0304デフォルトの名無しさん
垢版 |
2020/11/24(火) 13:11:50.94ID:FWk6XcjL
function hoge(){} //引数なし
hoge(a=11,b=33)
名前付き引数を可変的に追加できて
関数hoge側でkey(aとb)名も受け取れるようにしたいんだけど無理?
argumentsはkey名は無視されたし
hoge({a=1,b=3})で関数内でfor key in objみたいにするしかないのかな
0308デフォルトの名無しさん
垢版 |
2020/11/25(水) 16:45:55.85ID:UPK+j49C
>>307
端的にいうと
引数は
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名はこれに限らず)
0311デフォルトの名無しさん
垢版 |
2020/11/25(水) 17:52:06.24ID:UPK+j49C
>>309
なるほど
他の言語だとこういう書き方があったのでもしかしたらJSにもあるのかなとおもったのですがないのですね
ありやした

>>310
それはもちろん
しかしそれだとそもそも{}表記なんで
0312デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
垢版 |
2020/11/25(水) 19:21:16.56ID:zD7zhP2P0
>>311
あーそうゆうことね。
()呼び出しでなくタグ付きテンプレート呼び出し、
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"}
0315デフォルトの名無しさん (ワッチョイ 33bd-W+Es [133.200.2.96])
垢版 |
2020/11/25(水) 21:38:45.31ID:3CNxpkun0
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
}))
})
なんですけどこれだけの処理に二重でループ回すのはナンセンスな気がしてしまって・・・
0319デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
垢版 |
2020/11/25(水) 22:14:27.47ID:zD7zhP2P0
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)
とか。
0321デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
垢版 |
2020/11/25(水) 22:29:12.37ID:zD7zhP2P0
>>318
> numは存在しない場合もありました

このような後出し要件の場合は、安全なアクセス関数を追加で用意して差し込むのが簡単。
例えば、
const getNumSafe = ({num = -Infinity}) => num
const foo = hoge.reduce((acc, r) => getNumSafe(r) > getNumSafe(acc) ? r : acc)
のように。
0328デフォルトの名無しさん (ワッチョイ 53f0-P4WK [115.65.191.12])
垢版 |
2020/11/30(月) 16:28:41.73ID:gpUfY6cE0
動的型付け言語って本当にわかりづらい

javascriptでオブジェクト指向的なプログラムを組もうと思って
簡単な本でjavascriptを勉強してるんだけど
interfaceないのにどうやってオブジェクト指向的な開発してるんですか?
typescriptしたほうがいいんだろうか?
0336デフォルトの名無しさん (アウアウカー Sa6d-T9pK [182.251.184.232])
垢版 |
2020/11/30(月) 23:43:04.66ID:TJ10WaD1a
独学におすすめの本はありますか?
プログラム自体はphpの基礎ができる程度です
0339デフォルトの名無しさん (ワッチョイ 53f0-P4WK [115.65.191.12])
垢版 |
2020/12/01(火) 10:44:14.97ID:L1BkVMXS0
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には何も表示されない
とても不可思議な挙動
0341デフォルトの名無しさん (ワッチョイ 592c-OOND [114.144.98.145])
垢版 |
2020/12/01(火) 12:07:45.77ID:WP+WGTcn0
>>336
プロ向きなら、サイの表紙の2冊のサイ本

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan

ただし、これらは、Google などの開発者が読む、プロ向きの本。
最低でも、Ruby は出来ないと、難しすぎて読めないと思う

JavaScript は、言語仕様が肥大化してる。
Rubyみたいに、簡単には学べないから、適当にお茶を濁した方がよい。
キリがない
0342デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.133.193.52])
垢版 |
2020/12/01(火) 13:31:02.54ID:53WLqSe7r
>>341
> ただし、これらは、Google などの開発者が読む、プロ向きの本。

さすがにこれは嘘
Ruby知らない俺でも読めた

ES2020などの最新仕様に対応した和書がないのは認める
日本語に拘らなければある(>>338)し、概ね日本人著者よりも英語圏の著者が優秀
0344333 (ワッチョイ dff0-jrSk [115.65.191.12])
垢版 |
2020/12/02(水) 10:31:40.93ID:B0C6cOGW0
javascriptの挙動を確認したいので
本体が何処にあるか調べてるのですが不明です
javascript本体はどこにあるのでしょうか?
0347デフォルトの名無しさん (ワッチョイ f34e-2/bE [210.138.216.243])
垢版 |
2020/12/02(水) 14:00:48.75ID:s/Tj40p50
「javascript本体はどこにあるのか」か。
ちょっと哲学的な問いだな。
俺としては、「Ecma International にある」説を推したい。
しかし物理的実体があるわけではないので Ecma International 本部があるジュネーヴにはない。
0352デフォルトの名無しさん (ワッチョイ dff0-jrSk [115.65.191.12])
垢版 |
2020/12/04(金) 15:48:35.50ID:Q52RE+DV0
書き込み不可でした
質問の仕方が悪くてすみません

javascriptが関数などをどう処理してるのかを知りたくて
javascriptのソースファイルを見たいなって思ってました
googleのchromeファイルを見てたんですけどちょっと分からなくて質問してみました

実際にはバイナリなりで読めない状態なのかもしれませんけど
所在だけでもしっておきたいなと
0359デフォルトの名無しさん (オッペケ Sraf-/AfY [126.133.193.52])
垢版 |
2020/12/04(金) 19:34:15.00ID:0LJPp7yer
>>357-358
変数値は再代入で変えられる

変数名はグローバル変数を除いて変更(元の名前を削除)出来ない
そもそも、変数名を変えようとするのは不具合の種になる
オブジェクトのプロパティやnew Mapのkey等、限られた空間で安全に変更するのが好ましい
0363デフォルトの名無しさん (アメ MMaf-oX+r [218.225.232.26])
垢版 |
2020/12/04(金) 21:02:15.15ID:8jcPt1TuM
JavaScriptの効率的な学習方法を教えて下さい

入門書のひらがなJavaScriptは終わりました。
次は、Progateか一つ上の書籍かと思っていますが、どの書籍にすべきか迷っています
0364デフォルトの名無しさん (ワッチョイ bf5c-3VNM [115.36.86.55])
垢版 |
2020/12/04(金) 23:49:00.70ID:73Qqn1aF0
山田何とかの著書一択
0365デフォルトの名無しさん (ワッチョイ 6f01-/AfY [126.3.33.117])
垢版 |
2020/12/05(土) 07:37:21.02ID:7XRe2Ndx0
>>363
> JavaScriptの効率的な学習方法を教えて下さい

目指している目標に依る

何かを作るだけならサンプルコードのコピペに行き着く人が多い

基礎から下積みするなら、一日でも早く仕様書を読めるようになる事が最も効率的なので、仕様書に近い書籍を選ぶ事になる
0367質問者 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/05(土) 07:57:03.24ID:wSoVmOU1d
目的は参照ボタンを選択してファイル選択ダイアログを開き、選択したローカルファイルの中を読む事です。
ただ、
<input type=`file`〜>で表示されたファイルパスを取得する事は出来ない(セキュリティ上)?
ローカルファイルを読むにはファイルパスが必要なので、どうすれば良いでしょうか?
すみませんよろしくお願いいたします。
0374367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/05(土) 18:02:57.10ID:wSoVmOU1d
>>373

すみません。
ローカルファイルで読む為にフルパスが必要なんです。セキュリティの問題で取りにくいのは知ってます。それで
>>367
に書いた質問をしたのです。
よろしくお願いいたします。
0375367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/05(土) 18:22:16.72ID:wSoVmOU1d
補足

すみません。
サブ画面ではファイルパスの設定だけ。
メイン画面ではじめて、サブ画面で設定したファイルを読み込むという事をしたいのですが、無理なのでしょうか?
よろしくお願いいたします。
0379367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/05(土) 21:32:44.16ID:wSoVmOU1d
>>376

すみません。出来ないんですね。
設計者はサブ画面でファイル選択ダイアログを使用してexcelファイルを選択して、メイン画面でexcelファイルを取り込む事をやりたいんでしょうが、無理なんですね。設計者に言います。

それにしても、
POI技術で
https://blog.java-reference.com/poi-read-excel/
最初に
�is = new FileInputStream("D:�sample.xlsx");
パスを指定してますが、これは一般的には固定のローカルファイルパスを指定するもんなんですね。

>>377
ありがとうございます。調べてみます。
0381デフォルトの名無しさん (ワッチョイ 47f2-oX+r [153.232.6.174])
垢版 |
2020/12/05(土) 21:37:30.98ID:ryDIbbB50
>>365
返答ありがとうございます、仕様書の様な書籍とはどんなものでしょうか?、目指すところは現在webコーダーなのですが、JavaScriptでフロントエンドやサーバーサイド開発が出来る様になりたいです

>>368
「スラスラ読める JavaScriptふりがなプログラミング」が正式な書籍名でした、すみません


>>366
なるほどTypeScriptですか、やってみます
0383367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/06(日) 10:25:22.76ID:odok9c0Cd
>>382

ありがとうございます。内容はこれで渡せるんですね。
フルパスは取り扱えないんですね。

javascriptとは関係ないですが、フルパスを要求するJAVA POIは使えないので困ってます。こういうjavascriptとサーバー側処理を含んだ質問はどこですれば良いのでしょうか?
0384デフォルトの名無しさん (ワッチョイ 6f01-/AfY [126.3.33.117])
垢版 |
2020/12/06(日) 10:36:59.07ID:zDpqJVzS0
>>383
> フルパスを要求するJAVA POIは使えないので困ってます。

何が問題なのか、さっぱりわからん
状況を過不足なく伝える技術を身につけろ

フルパス要求する端末にJavaをインストールしえ取れないのか?
Javaの問題はJavaスレで解決すれば良い
0386367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/06(日) 14:13:40.86ID:odok9c0Cd
皆さん、javascriptだけでないレス違いの質問に回答ありがとうございます。

やりたいことは以下です。
1.選択したローカルのexcelファイルをクライアントからサーバーにアップロードする事はしたくない。
2.excelファイルから必要な情報を抜き出してそれのみをDBサーバーに登録したい。
0388デフォルトの名無しさん (ワッチョイ fb2c-RsF0 [114.144.98.145])
垢版 |
2020/12/06(日) 16:49:56.97ID:atqZF9NJ0
Ruby on Rails の、SQLite3 などのデータベース(DB)を使えば?

普通に、Rails プロジェクトの開発環境を作れば、
バックエンドのPuma サーバー・DBも、
フロントエンドのブラウザ、HTML, CSS, JavaScript も、ローカルPC 内にある

Node.js サーバーと、Chromium ブラウザを含む、Electron と同じ
0392367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/07(月) 08:15:51.20ID:ytf7dk5Ud
皆さんレスありがとうございます。

sheetjsを調べてみます。
Java poiはインストールされています。
0394367 (スップ Sd0f-sakO [1.72.8.111])
垢版 |
2020/12/07(月) 17:23:01.27ID:s3DToMe4d
すでに使われているwebシステムの回収で、ボタンを押したら、ローカルexcelファイルのファイル選択ダイアログを表示して選択する。
メイン画面で登録を押したら、excelファイルから必要な情報を取り込んでDBに登録する機能追加なんです。
sheetjsでやることに決めました。
後、画像もファイル選択ダイアログでよみこんで、リンクで表示できるようにする。登録で初めてサーバーにアップロードするという機能追加です。
0395デフォルトの名無しさん (ワッチョイ ee7b-y216 [153.189.240.38])
垢版 |
2020/12/22(火) 13:54:36.05ID:BKKJJQMZ0
http://s.kota2.net/1608612653.png

画像の様なグリッドの中でA,Bなどの矩形の面積が一番多く含まれる
グリッド(赤色部分)の座標を得たいのですが、どのように考えたらよいのでしょう?
この手の考え方は皆目わかりません。
0397395 (ワッチョイ ee7b-y216 [153.189.240.38])
垢版 |
2020/12/22(火) 14:48:28.47ID:BKKJJQMZ0
なるほど。ありがとうございます。
それで試してみます。
0398デフォルトの名無しさん
垢版 |
2020/12/23(水) 02:46:19.78ID:qoTDedlh
templateタグをcloneしてすぐそれにidを追加したいんすけど
なんか無理っぽいですね??
appendした後にその要素を特定する作業(追加した最後の要素を見つける)をしてから
その要素を改めて取得してから、idを追加することはできるみたいですけど
どうにかなりませんかね
0399398 (スプッッ Sdbf-JkJa [1.75.229.205])
垢版 |
2021/01/05(火) 07:55:22.65ID:RngV7BRKd
初見失礼します。

私は今、スマホのメモ帳系のアプリでjavascriptを勉強しています。

それなりに行数増えてきたので、そろそろ外部JSファイルからの読み込みに手をつけてみようと思い、
いろいろなサイトを見ながら四苦八苦していたのですが、殆ど上手く行きません。

何故か唯一、test.jsという名前のファイルだけ正常に開けているのが現状です。
そのファイルの名前に、2とかつけると読み込まれなくなります。

test.jsは何か特別な機能を持ったファイルなのでしょうか?

また、外部jsファイルを普通に読み込めない原因について、見当のつくことがあったら教えて貰いたいです。

よろしくお願いします。
0400399 (スプッッ Sdbf-JkJa [1.75.229.205])
垢版 |
2021/01/05(火) 07:56:15.13ID:RngV7BRKd
さっきの名前欄のレス番間違えました。
0401デフォルトの名無しさん (ワッチョイ 0f2c-qBFf [153.136.191.4])
垢版 |
2021/01/05(火) 12:18:47.00ID:zD1ciQHW0
この板よりも、web制作管理板の方へ書き込んで、聞いて下さい!
この板のスレは、一時的に作られたものなので

JSFiddle のサイトなどで、コーディングすれば?

基本、HTML, CSS, JavaScript の3つのファイルが必要です

たぶん、何かのファイルに、test.jsを読み込むように書かれているだけでしょう
0402399 (スプッッ Sdbf-JkJa [1.75.196.4])
垢版 |
2021/01/05(火) 14:14:30.47ID:9ncSzFMad
>>401
ありがとうございます。

また色々と検索、勉強してみます。
0404デフォルトの名無しさん (ブーイモ MM0f-iKFX [202.214.167.2])
垢版 |
2021/01/05(火) 14:43:42.88ID:Uu3wwMSXM
>>403
ディスプレイに「エライこっちゃ」と表示されます
0405デフォルトの名無しさん (ワッチョイ efad-rl6H [119.175.26.66])
垢版 |
2021/01/05(火) 16:55:55.29ID:S6fGmzIM0
>>399
安くてもいいから、とりあえずPCとかMacとか呼ばれている電子計算システムを購入したほうがええで。
JAVA Script学ぶのはそのあとでいい。
0410デフォルトの名無しさん (ブーイモ MMef-7dEe [210.138.178.203])
垢版 |
2021/03/02(火) 20:14:12.81ID:TGKntu6+M
>>409
PhotoShopも?
0412デフォルトの名無しさん (ワッチョイ 9a55-7dEe [211.120.131.250])
垢版 |
2021/03/03(水) 10:51:04.90ID:H0i/cbqk0
>>411
よっしゃ!
で、なにができますの?
0413デフォルトの名無しさん (ブーイモ MM86-7dEe [163.49.202.155])
垢版 |
2021/03/03(水) 10:51:27.69ID:D2xhgaADM
>>411
よっしゃ!
で、なにができますの?
0415デフォルトの名無しさん (スッップ Sd03-7o5G [49.98.218.110])
垢版 |
2021/03/12(金) 15:48:21.50ID:LA00op8vd
一回躓くと次の一歩踏み出すのが困難なのは何でも同じか〜とか考えながら勉強の日々
0418デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 20:15:20.99ID:Z8nieuaQM
>>417
変数に関数が代入できること
0423デフォルトの名無しさん (アウアウエー Sa93-P18s [111.239.173.204])
垢版 |
2021/03/16(火) 21:29:17.58ID:fMHJVTaAa
JSXっってbabelで変換しないとnodeで動かんのか?
0424デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 22:17:20.61ID:Z8nieuaQM
関数の引数に関数というのがあるけど
その引数の関数の中からは外のすべての変数にアクセスできるの?

例は
something.addEventListener(function(){
この中から外の変数はすべて見えるのか
});
0426デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 23:07:50.72ID:Z8nieuaQM
>>425
Javaだ
0431デフォルトの名無しさん
垢版 |
2021/04/22(木) 13:40:05.75ID:Wc1Mrwyv
document.querySelectorAllの:last-child使えなくなってる??
セレクタでjqueryでいうところの:eq()があればいいのにな
0434デフォルトの名無しさん (ワッチョイ af69-ZiTH [114.171.63.103])
垢版 |
2021/04/29(木) 08:41:41.15ID:+/R4Bs830
(function aaa(){})のように関数を()で囲むのはどういう意味があるんですか?
0435デフォルトの名無しさん (ブーイモ MM87-sqj5 [202.214.231.24])
垢版 |
2021/04/29(木) 09:34:41.24ID:Z1D+EN2jM
>>434
関数が寒くて風邪をひかないように服を着せているんです。
0437デフォルトの名無しさん (ワッチョイ 6b2c-uCoU [180.26.204.51])
垢版 |
2021/04/29(木) 10:27:52.89ID:RErNGDPY0
IIFE (Immediately Invoked Function Expression; 即時実行関数式) は、
定義されるとすぐに実行される、JavaScript の 関数 です

関数を定義して即実行したい場合、( ) で囲んで、式にする

JS の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用に作られたものだから
0438デフォルトの名無しさん (ワッチョイ af69-ZiTH [114.171.63.103])
垢版 |
2021/04/29(木) 12:23:48.15ID:+/R4Bs830
>>437
どうもどうも
web版のスレは新スレが立ってないのでこっちに書いてみた
0439デフォルトの名無しさん (ササクッテロラ Spe5-5up0 [126.166.46.121])
垢版 |
2021/05/03(月) 00:14:59.29ID:8d3P1jQsp
仕事でWebアプリケーションを作ってる方にお聞きしたいんですが、
jsやcssをいわゆるmin化するのに何使ってます?

Web上のサービスでやるのはセキュリティ的によろしくないのでローカルで完結できるものがあればと思いまして調べたら何個かあるみたいなのですが、主流はどれなのかなと…
0441デフォルトの名無しさん (ワッチョイ 8549-DjaX [114.160.215.18])
垢版 |
2021/05/07(金) 11:11:04.70ID:37C3PSFQ0
質問です。

下記みたいに複数の配列の各要素を合算した配列を作成するために、
スマートなやりかたはありますでしょうか。

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の積み上げグラフで、合計の線グラフを差し込むのにあればいいなと思っています)
0443デフォルトの名無しさん (ワッチョイ 8549-DjaX [114.160.215.18])
垢版 |
2021/05/07(金) 14:03:34.51ID:37C3PSFQ0
>>442
なるほど!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]

ありがとうございました!
0451デフォルトの名無しさん (ワッチョイ 7d02-dxvU [106.167.62.121])
垢版 |
2021/05/10(月) 01:09:13.09ID:+rwW6yZ/0
https://jsfiddle.net/s1awpc0b/

すみません、JS、jQuery初心者なのですが質問させてください。
「リストの中の文字をホバーしたら、タイトル内のテキストがその文字列に置き換わる」
という機能を実装したいと考えております。

しかし、実際にやってみると、何故か最初に一回変わるだけで他のリストにホバーしても
最初と同じ文字列が出てきてしまうのと、ホバーを外した際にタイトル内のテキストを
元の文字に戻す方法が分からず、困っております・・・

この場合、有効な手段などあれば教えて下さい。よろしくお願いします
0454デフォルトの名無しさん (ワッチョイ 692c-C7Xb [180.26.204.51])
垢版 |
2021/05/10(月) 23:59:24.06ID:ViCp850r0
const navtxt = $(this).find('p').text();

find() メソッドは、提供されたテスト関数を満たす配列内の、最初の要素 の 値 を返します。
最初の要素だから、p が複数あるなら、別々に指定しないといけない

テスト1 のp
テスト2のp
テスト3のp

個別に、クラスか何かを付ければ?
0455デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 02:35:02.21ID:x0DsNnEv0
var l = data_array.length;
if (l > 51) {
l = 50;
}
for (var i3 = 0; i3 < l; i3 += 1) {〜略〜}

なんか、書き方がダサい気がする、かっこよくて見やすい書き方
をご教授願います。
0457デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 03:24:41.76ID:x0DsNnEv0
>>456
早速の回答、ありがとうございます。
変数名や関数名の付け方がよくないのは
上司によく言われますが、直しません。
0460デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 13:35:37.63ID:x0DsNnEv0
>>459
すいません。元のコードが間違えていました。
lに入る値の最大値が50が正しいです。
0461デフォルトの名無しさん (ワッチョイ 8569-dxvU [114.171.63.103])
垢版 |
2021/05/13(木) 23:48:22.88ID:VBQJX34F0
複数の画像を全て読み込んでから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("");}
0465デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/14(金) 07:15:30.72ID:GbcY98b30
promiseっていうやつですか
調べてみます
0466デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/15(土) 08:00:49.27ID:cqN6MRht0
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にならなければならないのに。
0467デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/15(土) 08:24:12.13ID:cqN6MRht0
訂正elm.getBoundingClientRectです
0469デフォルトの名無しさん (ワッチョイ 4a8f-sort [115.177.79.56])
垢版 |
2021/05/16(日) 00:07:02.23ID:R/k6sd0e0
間違いw

正直言って

(a)=>{
 bar(a);
}

を引数に渡すのって可読性どうなんだろう?数学的には
美しいのかもしれないけど、世の中の大部分のプログラムは
そういうところまで行ってないプログラマが組んでるわけで。

そのうち、「大多数のプログラマにとって理解しやすいかどうか」理論
みたいのが出てこないかと…。
0470デフォルトの名無しさん (ワッチョイ d814-sort [153.190.201.226])
垢版 |
2021/05/16(日) 07:43:31.39ID:dwn8WkYe0
「大多数のプログラマ」じゃなくて「一年後の自分」で考えればいい
一年経ったら成長するだろ?その時に自分が辛くなるようなコードを書きたいと思うか?

プログラマを一年程度で使い捨てにしているところなら、
そりゃ一年以内の知識だけでやりゃあいいだろうさ
一年後にはプログラマをやってないわけだからな

成長するたびに自分が苦しくなるようなコードを
書き続けなければいけないのは地獄だってわかるかい?
0471デフォルトの名無しさん (ワッチョイ b68f-EUeD [218.43.25.181])
垢版 |
2021/05/16(日) 07:43:31.96ID:F1fTQsai0
四則演算も出来ないのか....
0473デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/16(日) 12:32:29.26ID:WhxfrR+Z0
>>471
x座標8〜108だと101ピクセルあるので幅101になる
108-8=幅100ピクセルではない
なので107にならなければおかしいので間違ってないですよ
0476デフォルトの名無しさん (ワッチョイ 5701-LmfE [126.224.190.85])
垢版 |
2021/05/16(日) 19:59:20.58ID:8eqrVBsX0
>>469
コードが断片的でわからんが、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());
> と、ロジックはロジック、コールはコールとかで並んでたほうが可読性高くね??
> (以下略)
0477デフォルトの名無しさん (ワッチョイ d669-gSvD [114.171.63.103])
垢版 |
2021/05/16(日) 21:30:12.14ID:WhxfrR+Z0
>>475
MSペイントを拡大してドットを打つと一番左上のドットが(0,0)で右隣が(1,0)になってるよ
0479デフォルトの名無しさん (ワッチョイ d669-gSvD [114.171.63.103])
垢版 |
2021/05/16(日) 22:43:10.57ID:WhxfrR+Z0
<img src="test.png" id="test" style="border:Solid 20px #0000ff;padding:10px ">
の画像のブラウザ上での絶対座標はどうやって求めるんですか?
getBoundingClientRectのleft,topだとborderとpaddingを含んだ座標になるので
これらを含まない画像のみの座標で
0483デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/17(月) 08:40:57.94ID:P4sOaxft0
>>480
html上の座標もpxピクセルで指定するのに何が違うのかわからん
>>481
width=0ならleft=8,right=7になるのでwidth=0ならエラー処理にする
0485デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/18(火) 08:20:27.46ID:5OXOj7Ej0
やっとわかった
ワイが言ってたのはグリッド座標ではなくピクセル座標のことか
四角形の場合ピクセル座標の右端を+1すればグリッド座標になるな
左端は同じだけど
0486デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/18(火) 08:27:50.81ID:5OXOj7Ej0
>>482
element.clinetLeftで左側のborderの幅を、element.clinetTopで上側のborderの幅をピクセルで取得できるので
getBoudingClientRectのleftとtopの座標にそのぶん加算すれば座標取得できたけど
問題はpaddingの幅をピクセルで取得できないこと
element.style.paddingLeftだとem指定の場合ピクセルで取得できないし
0488デフォルトの名無しさん (ワッチョイ aaad-IGeJ [27.141.86.23])
垢版 |
2021/05/30(日) 12:34:06.53ID:V/qTlijF0
ググるとforは普通のカウンターがだいたい最速のようですが
普通の言語は高速化のためにeach系があるはず

でも自分のサイトはEgdeで見る限り、forEachの方が若干速いような(ほとんど差はないですが)
forEach>forカウンター>for of
(for ofはforEachの改良版だと思ったんですが…)

でも基本的にjavascriptは驚くほど速いと思います
カウンターとeach系があまり変わらないのはeach系の性能が悪いというより、添え字検索が工夫されてるんでしょうか?
最後に見た要素の位置が保持されてて、次に来た添え字が1つ上なら再検索せず、each系のように次を返すとか
0489デフォルトの名無しさん (ワッチョイ 532c-0h5H [180.26.204.51])
垢版 |
2021/05/30(日) 13:00:26.46ID:Gk//zzeB0
そりゃ固定長の配列なら、リストをたどらないで、数値インデックスだけで計算できる。O(1)

例えば、8バイト固定長で[100]なら、800バイト先に内容のアドレスが書いてあるから、
そのアドレスから内容を読み込めばよい

一方、Elixir の片方向リストでは、先頭要素だけが速いだけで、
末尾要素はリストをたどって行くから、O(N)

Ruby では両方向リストだから、末尾も速いけど、メモリを食う

つまりデータを、固定長の配列の並びか、リストで構成しているかによる
0490デフォルトの名無しさん (ワッチョイ 66cb-vpMm [223.132.6.112])
垢版 |
2021/06/01(火) 16:14:06.00ID:IytVAIyJ0
http://newpuru.doorblog.jp/
このサイトは何でfeedを取得しているのでしょうか?
ライブドアブログなのでphpは使えないはずです。
0491デフォルトの名無しさん (ワッチョイ 532c-0h5H [180.26.204.51])
垢版 |
2021/06/01(火) 18:22:57.66ID:Dbf622Mk0
どこかのサーバーで、Ruby など何かの言語で、データを集めておいて、
JavaScript(JS)で、そのサーバーにアクセスして結果をもらっているとか?

それか、サーバーを使わずに、
JSで直接データを集めて、集計しているとか?
0492デフォルトの名無しさん (ワッチョイ 66cb-muMV [223.132.6.112])
垢版 |
2021/06/02(水) 19:45:33.58ID:WXREuJ2A0
javascriptでh1やh2を検出して、ページ内リンクを作ることは可能ですか?
ライブドアブログで作ろうかと思います。
アンカーつけるのが面倒なので。

見出しにはアンカーはありません。
その場合でも場所を指定して、飛べるんでしょうかね。
0497デフォルトの名無しさん (ワッチョイ 66cb-muMV [223.132.6.112])
垢版 |
2021/06/03(木) 12:05:06.51ID:IjUlafEd0
>>493
jqueryありじゃないとだめなのですか。
なんにしろ見出しにidを付与しないとだめですよね
0499デフォルトの名無しさん (ワッチョイ 66cb-muMV [223.132.6.112])
垢版 |
2021/06/03(木) 12:22:40.14ID:IjUlafEd0
jQuery学ぶのも大変なのでjsでやろうとしてます
とりあえず動的にidを追加することがまず必要ですよね
0503デフォルトの名無しさん (ワッチョイ 66cb-muMV [223.132.6.112])
垢版 |
2021/06/03(木) 16:51:19.75ID:IjUlafEd0
>>500 501 502
ありがとうございます。
つまづいたらまた来ます。
0505デフォルトの名無しさん (ワッチョイ 43ca-0h5H [36.3.90.170])
垢版 |
2021/06/03(木) 20:57:45.05ID:Lw6VCoxx0
教えてください。
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);
っでよくないでしょうか?
0508デフォルトの名無しさん (ワッチョイ 43ca-0h5H [36.3.90.170])
垢版 |
2021/06/03(木) 22:32:19.08ID:Lw6VCoxx0
>>506
ありがとうございました。関数で変数生成しているのですね。
よく考えますと handler = function () でなくてもいいですね。下記のように。
oDOC.addEventListener("DOMContentLoaded", function() {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);

>そもそも、readyStateは読み取り専用なのに再代入するとは…
そういえば、readyStateって勝手に値が変わるはずなのに、代入しないですね普通。
0511デフォルトの名無しさん (ワッチョイ 43ca-0h5H [36.3.90.170])
垢版 |
2021/06/03(木) 23:12:45.89ID:Lw6VCoxx0
/*
if (oDOC.readyState == null && oDOC.addEventListener) {
oDOC.readyState = "loading";
oDOC.addEventListener("DOMContentLoaded", handler = function() {
oDOC.removeEventListener("DOMContentLoaded", handler, false);
oDOC.readyState = "complete";
}, false);
}*/

こうですね。ありがとうございます。
0514デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 11:56:45.37ID:s3nDY94/0
連投すみません。
prototypeというのは、クラスのプロパティにアクセスするための記述と考えてもいいでしょうか?
prototype=組み込み、といった意味だと思いますし、、、。
0519デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 18:27:11.43ID:s3nDY94/0
let get_ul = document.querySelector("#test_ul");
let str = "hogehoge";
get_h2.insertAdjacentElement("beforebegin",str);

こうするとstrはオブジェクトじゃない、というエラーが出ます。
javascriptにおいてのオブジェクトとは、dom、つまりhtmlの構造を持つもののことでしょうか?
文字列を入れたいのなら、htmlと連結するのでしょうか。

>>516,517,518
ありがとうございます。全部見させてもらいます。
0521デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 18:32:49.09ID:s3nDY94/0
↑上でやりたかったことはタグの中に文字列を挿入したかったのです
<a></a>
↑ここに「あああ」をはさみたいのです
innnerhtmlより、insertadjacenthtmlがいいと聞いて使ってみたんですが、文字型はオブジェクトじゃないと、、、。
0524デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 18:56:14.50ID:s3nDY94/0
>>522
回答どうも
タグで包んだ場合はいけました

文字列だけの場合はtextContentですね

しかし、これはすべての内容物を書き換えてしまいます
そこでinsertadjacentを使いたかったです
0526デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 20:28:32.31ID:s3nDY94/0
>>525
ありがとうございます。
オブジェクトとそうでないものの違いってなんでしょうか?
全てはオブジェクトだと思うんですが。
stringはオブジェクトじゃないと。
0527デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/04(金) 21:09:03.37ID:s3nDY94/0
連投すみません。
既存のタグの中にある文字を挟み込むように、新たなタグを挿入するにはどうしたらいいのでしょうか?

<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で文字列を挿入したほうがいいのでしょうか?
0529デフォルトの名無しさん (ワッチョイ 7369-RZYr [114.171.63.103])
垢版 |
2021/06/05(土) 21:16:58.18ID:LNHYK+7R0
javascriptでボタンを押したときにaaaという変数の値(現在100)を変えるには
<input type="hidden" id="aaa" value="200">というのを作って
ボタンを押したときに
var aaa = document.getElementById("aaa").value;を呼び出すというやり方でやっていますが
この方法以外で変数の値を変えるやり方あったら教えてください
0531デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 06:22:02.86ID:weTrX2zS0
>>528
オブジェクトの種類の1つがノードってことですね
yagniってのを信じてて、使うことだけを勉強すると

>>523
domってのはつまり、ただの階層構造ですよね
0533デフォルトの名無しさん (ワッチョイ a301-9b/0 [126.29.60.171])
垢版 |
2021/06/06(日) 09:39:10.77ID:6dX5kGmx0
javascriptの書物とか動画のおすすめとかある?
すでに書かれてあったらスマソ
0534デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 11:35:27.06ID:weTrX2zS0
javascriptでは単なる文字列はオブジェクトではない、とみなされるようです
ノード(つまりタグ)に対して付与されるものであって、文字自体はオブジェクトじゃないということですよね
0536デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 12:46:12.70ID:weTrX2zS0
>>535
どうも勘違いしていたようです
使用している関数の引数として適切ではないという意味だったようで
0537デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 12:57:18.59ID:weTrX2zS0
insertAdjacentTextとinsertAdjacenetHtmlの違いってなんでしょうか?
<div>あああ</div>
どちらでも↑を↓の状態に出来ました。
<div><span>あああ</span></div>

動作の違いは感じられませんが
0538デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 13:11:29.85ID:weTrX2zS0
↑ああ、分かりました
adjacenthtmlだと、"<span>"などとしたときに閉じタグが付与されますね 勝手に
0541デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/06(日) 19:54:43.32ID:weTrX2zS0
vscodeでjavascriptをhtml外から呼び出した場合、補完は効かないのですか?
htmlファイルとjsファイルを分けた場合、jsファイルでhtmlのidを取りたいなんていう場合
入力補完は当然出ません

このような場合はどうしてるのでしょうか?
0542デフォルトの名無しさん (ワッチョイ 7f02-p9zx [59.138.195.212])
垢版 |
2021/06/07(月) 14:09:10.93ID:Y/i97Tuu0
10数年ぶりにプログラミングやってみようかなと思い立った初心者です
JavaScriptをやってみようと思っているのですが、学習ルートとしてまずES6
その後TypeScriptに行くべきか、Reactに行くべきか迷っています
AltJSとフレームワークなので一概にどちらが先とは言えないかも知れませんが、あえて選ぶならどちらから学ぶべきでしょうか?
もちろん最終的にはReactをTypeScriptで書いてWebアプリを作ってみたいと思っています
どっちでも良いと言われるような気はするのですが、それでもあえて諸先輩方のご意見をお伺いしたいです
0544デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/07(月) 17:15:28.63ID:cP5Yb5w50
javascriptのオブジェクトが、多言語でのクラスということですか?
0549デフォルトの名無しさん (ワッチョイ a301-lRkg [126.53.116.57])
垢版 |
2021/06/07(月) 18:28:53.16ID:50KNDDY70
>>544
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
0553デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/08(火) 11:33:50.39ID:V6KC1q9F0
オブジェクトリテラルはプロパティと同義ですかね?
オブジェクトの持つデータですよな
0555デフォルトの名無しさん (ワッチョイ f34e-c0Dd [210.138.216.243])
垢版 |
2021/06/08(火) 12:26:14.97ID:Vw+6EMs10
> prototype=組み込み、といった意味だと思いますし、、、。


専門用語が分からない

そうだ英単語の意味から推測しよう

英単語の意味から間違えている

いくらなんでも酷すぎ
プログラミング関係なく問題解決の取り組み方が杜撰で稚拙すぎ
辞書引くことすら失敗するとか一体どういう教育受けてきたの
0556デフォルトの名無しさん (ワッチョイ a301-lRkg [126.53.116.57])
垢版 |
2021/06/08(火) 18:29:25.55ID:pZSU03Zb0
自分で調べるより専門家に聞いた方が早いと思うタイプの人なんだろう

>>555のようにちょっと調べればわかるはずの内容を質問したり、回答したURLを全く読んでないかのような反応が返ってくる
DOMもプロトタイプチェーンも学習した形跡がない
0557532 (テテンテンテン MM7f-snJV [133.106.61.7])
垢版 |
2021/06/08(火) 18:39:03.92ID:spIl1qf+M
忍耐強く付き合ってくれる方々が居るうちはYAGNIで上手く行くのかも知れない
早々に匙を投げてしまった自分が言える立場じゃないけど
0559デフォルトの名無しさん (ワッチョイ 7fad-3tT5 [27.141.86.23])
垢版 |
2021/06/09(水) 11:50:43.35ID:+7j1Uic/0
C#の拡張メソッドはやってることが分かりやすいね
staticと宣言され、thisが第1引数
ただ宣言と利用で引数が違うのが気持ち悪い

C#で基礎的に多い使いどころはnull処理や型変換
なんでも型としてobjectがあるので
でもやたら型に煩いので中の分岐が面倒

javascriptの引数は全てなんでも型だが、逆にprototypeのthisだけは型が必要
なので、null処理や型変換は、普通の関数にしてる
そもそも「メソッドチェーンはnullで止まる」とか、最初から言われてたり
0561デフォルトの名無しさん (ワッチョイ 7fad-3tT5 [27.141.86.23])
垢版 |
2021/06/09(水) 12:35:56.32ID:+7j1Uic/0
>>560
失礼、nullが駄目なだけだね
0563デフォルトの名無しさん (ワッチョイ 6fcb-zjai [223.132.6.112])
垢版 |
2021/06/09(水) 13:01:14.82ID:+7DuCF3D0
arrayとDocument.createDocumentFragment()の違いってなんでしょうか?
createElementで作成したタグを、ターゲットに複数追加したい場合、後者を使います。
しかし、arrayにもアンカーは格納されているようです。
0567デフォルトの名無しさん (ワッチョイ 7fad-3tT5 [27.141.86.23])
垢版 |
2021/06/09(水) 15:23:28.36ID:+7j1Uic/0
>>564
Object.prototype.foo=function(s){略}
null.foo() こう書けないなら

function foo(s){略}
foo(null) こうせざるを得ない、ということなんですが

null.foo().bar() この利点は
bar(foo(null)) これより目に優しいという
0568デフォルトの名無しさん (ワッチョイ a301-szig [126.53.116.57])
垢版 |
2021/06/09(水) 18:17:53.95ID:mxnL56NS0
>>567
いろいろと誤解があるので、プロパティアクセサ、プロトタイプチェーンについて再学習することをお勧めする
(ちなみに、あげられている問題は「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の影響範囲は大きいが、それでも全てのデータに影響を及ぼすものではない
0569デフォルトの名無しさん (ワッチョイ 7fad-3tT5 [27.141.86.23])
垢版 |
2021/06/10(木) 08:41:17.28ID:U1CAdJt50
>>568
だからnullは駄目ってことですよねw
(C#ではそれができるという違い)
0572デフォルトの名無しさん (オッペケ Sr87-f/ms [126.166.143.60])
垢版 |
2021/06/12(土) 13:07:42.11ID:gwGFqR/Mr
当たり前だけど初級レベルはそれほどでもない
しかし製品レベルを作るとなると一気にナンジャコレ的な書き方でジャバパーたちには理解不能になる
そこにDOM、jsxやstyle componentとかも入ってくるからもはや宇宙語になる
0574デフォルトの名無しさん (ワッチョイ f332-oQln [122.133.210.54])
垢版 |
2021/06/12(土) 13:34:25.97ID:dSUYOhsd0
JavaScriptはWEBブラウザを誰でも持っていて環境が身近だから試してみやすいというだけで、言語自体が初心者向けというわけではないだろ。

まともに使おうとしたらかなり筋の悪い言語。所詮はWEB用のDSL。
Excelは持ってるからVBAやってみるみたいなもんだよ。
0576デフォルトの名無しさん (ワッチョイ c301-1XBy [126.241.206.249])
垢版 |
2021/06/12(土) 15:55:52.61ID:uZPmX/A70
>>571
JavaScriptの理解が難しくなる下地は十分にある

- 複数の仕様書
- 複数ブラウザで動作確認
- 新機能作成時の制約(一定の後方互換性を担保)

それ以前にESレベルの基本を分かってない人が多過ぎな気はするが

- 型
- [[Prototype]]
- プロトタイプチェーン
- スコープチェーン
0577デフォルトの名無しさん (ワッチョイ 934e-0k4Q [210.138.216.243])
垢版 |
2021/06/12(土) 17:03:36.21ID:th+ACTev0
JavaScript(正しくはECMAScript)ほど仕様しっかりしてる言語は今メインストリームの言語でそんなにはないと思うけどな。Cはしっかりしてるけど、かなりコンパクトな言語だからドキュメント量が全然違う
RubyやPythonにいたっては酷いもんだ。思い付きで作ってるレベル
0579デフォルトの名無しさん (ワッチョイ cf63-OF3p [153.167.227.218])
垢版 |
2021/06/12(土) 17:33:15.15ID:oYBdY7Ja0
Babelで後方互換性担保できるといっても
Setみたいに色々なことができるせいで機械的な書き換えができないコンストラクターがあるからなあ
業務端末が古いandroidのイントラ案件でSet動いてないの気付かず3時間くらい無駄にしたわ
0580デフォルトの名無しさん (ワッチョイ c301-1XBy [126.241.206.249])
垢版 |
2021/06/12(土) 17:52:32.79ID:uZPmX/A70
JavaScript関連の仕様はECMAScriptの他に、DOM,HTML,UIEvents,fetch,Selectors,CSDOM等、多くの仕様がある
Babelを使えば、ECMAScriptをES2020に一本化出来るが、他の仕様は読まなければならない
仕様書の中には日本語訳がなく、英語を読まなければならない場合もある

対して、Ruby,Pythonは公式マニュアルの日本語訳一つを読めば事足りる

資料の読みこなしの面では、JavaScriptの難度は非常に高い
不正確な二次情報に惑わされたり、MDNも時々間違ってたり、罠が多い
0581デフォルトの名無しさん (ワッチョイ cfb0-t88l [153.215.71.159])
垢版 |
2021/06/12(土) 18:08:20.99ID:7X99TIl20
DOMを扱うならDOMを学ばなきゃならんというだけでJavaScriptとは関係ないが?
RubyやPythonを使ったとしてもDOMを扱うなら同じように必要だろう。

Webだけで学ぼうとすると古い情報に惑わされやすいというのはその通りだな。
ちゃんとした書籍を1冊用意して学ぶのが吉。
0582デフォルトの名無しさん (ワッチョイ c301-1XBy [126.241.206.249])
垢版 |
2021/06/12(土) 19:05:50.66ID:uZPmX/A70
>>581
Python公式文書はDOM APIの説明があるので、DOM仕様書を読まずともある程度の情報は得られる
https://docs.python.org/ja/3/library/xml.dom.html

ESにはDOM,HTML,fetch,CSSOM等のAPI情報は当然ない
MDNがこの役割に近いが、仕様程の信頼性がなく、英語版と日本語版で情報に差異があったり、仕様と比べて情報鮮度が落ちている部分がある
体系的な一カ所にまとまった一次情報と呼べるものがJavaScriptにはない
実装が複数仕様を実装する形なので当然だが、調査コストが高いのは事実

Pythonは仕様と実装が同一なので、仕様と実装の差を区別する必要がない
ドキュメントも仕様と実装の2つ分を読む必要がなく、最新の情報に整備されている
0586デフォルトの名無しさん (ワッチョイ 1369-UeOY [114.171.63.103])
垢版 |
2021/06/15(火) 08:09:22.25ID:V8tE61t00
1個の商品の金額の場合オブジェクトでvar shouhin = {};と宣言してshouhin.kingakuとすればいいんですが
複数の商品の場合shouhin[1].kingaku、shouhin[2].kingakuのようにしたいんですが
宣言や関数で引数として渡す場合はどうすればいいですか?
0587デフォルトの名無しさん (ワッチョイ 7361-42hD [218.33.253.212])
垢版 |
2021/06/15(火) 08:57:01.65ID:+pZThSMJ0
配列にするだけじゃん。
0588デフォルトの名無しさん (ワッチョイ ffad-W6T4 [27.141.86.23])
垢版 |
2021/06/17(木) 11:44:35.91ID:Y2s/MWh/0
内部関数をコールバックに渡せるのは超楽だね
同名のグローバル関数があってそっち行くかな?と思ったらちゃんと内部関数に行った
(そもそも普通の関数に内部関数をほいほい書ける時点で超楽だが)

コールバックがグローバルに限定された言語の場合、名前管理が増えるのが嫌で、
なんとかコールバック使わずに、とか頭をひねっちゃう
0590デフォルトの名無しさん (ワッチョイ 934e-0k4Q [210.138.216.243])
垢版 |
2021/06/17(木) 14:39:14.89ID:jYVCbF5R0
>>589
誰のためにあるかという話だわな。
なおクラス構文導入議論時、反対派の旗手だったのはグッドパーツ著者であり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老害ってクソだわ。
自分が分からないからって意味ない(できることが増えるわけでもない)クラスベースに固執しといて、単純な関数で同じことできると気づいたらお前らのワガママに合わせて作ってやったコーディング規約破って勝手に使い出すんだからな。
いや、言いだしっぺなんだからクラス使い続けろや!
0592デフォルトの名無しさん (ワッチョイ 1ecb-wcuM [223.132.6.112])
垢版 |
2021/06/20(日) 16:40:52.66ID:WIbUxISs0
要素を取得して、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つ目はタグオブジェクトに、オブジェクトリテラル?をコピーしている?

この辺のことを教えて下さい
0593デフォルトの名無しさん (ワッチョイ 2b61-wUFk [114.166.144.141])
垢版 |
2021/06/20(日) 20:46:26.62ID:sZ7GtS6K0
Nodeオブジェクトに元から存在するプロパティは列挙可能になってないからそのままObject.assginしても何もコピーされない
textContentプロパティだけを取り出してObject.assignするくらいなら
let copy = document.createElement("span");
copy.textContent = span.textContent;
でいいじゃない

もっともノードの複製は
let copy = span.cloneNode(true);
で一発。ただしid等の一意であるべき属性も存在する場合は複製されることに注意
0594デフォルトの名無しさん (ワッチョイ 1ecb-wcuM [223.132.6.112])
垢版 |
2021/06/21(月) 11:08:34.75ID:qJrDRmsU0
>>593
ノード全体をコピーする場合はcloneで、タグ名などを変えたい場合は教えてもらった方法でやることにします。
1行目なんですが、「 Nodeオブジェクトに元から存在するプロパティは列挙可能になってないからそのままObject.assginしても何もコピーされない 」というのはどういう意味でしょうか?
1つめのやり方に対してだと思いますが、どちらのspanエレメントもtextContentプロパティは持っていると思います。

とりあえず、中身もコピーする場合はプロパティにまでアクセスしないといけないことは分かりました。
object.assignというのはループを回しているわけですよね。おそらく。
0595デフォルトの名無しさん (ワッチョイ 9325-565v [106.184.154.198])
垢版 |
2021/06/21(月) 18:44:30.50ID:uOMSqfSW0
素のJS書いてます
DOM要素の中身をまるまる消したいんですが、もっといいやり方ないですか?
今はinnerHTML=""で消してます
0598デフォルトの名無しさん (ワッチョイ 8701-626F [126.84.19.55])
垢版 |
2021/06/22(火) 01:23:10.83ID:XaKTjWfC0?2BP(1000)

初心者です。
chrome拡張機能を作っているのですが、自分のコードが他の人から見たら、見づらかったりするのか気になったので評価してくれませんか?
一人で作っているのでコメントはほぼないです。
https://harigami.net/cd?hsh=b5c6452f-fa81-4b69-b554-d68bf8194d75
0599デフォルトの名無しさん (ワッチョイ 9769-XViW [180.48.211.187])
垢版 |
2021/06/23(水) 17:45:18.28ID:XH4Ry57E0
constって値の変更できないのであとから値を変更したくなった場合letに書き直さないといけないので
最初からconstよりlet使った方が無難だよね?
constの方が速度が速いってこともないだろうし
0601デフォルトの名無しさん (アメ MM33-aKFO [218.225.234.51])
垢版 |
2021/06/23(水) 18:16:29.13ID:uY7z/n/mM
letってスコープ外からアクセスできないのであとからアクセスしたくなった場合let消してグローバル変数にしないといけないので
最初からletよりグローバル変数使った方が無難だよね?
letの方が速度が速いってこともないだろうし
0602デフォルトの名無しさん (ワッチョイ 9769-XViW [180.48.211.187])
垢版 |
2021/06/23(水) 18:20:16.91ID:XH4Ry57E0
>>601
グルーバルはどこからでも変更できちゃうので基本使わない
せやから変数はバケツリレーしてでも引数として渡す
0607デフォルトの名無しさん (ブーイモ MM2b-81U8 [163.49.202.31 [上級国民]])
垢版 |
2021/06/25(金) 16:01:35.51ID:CvkTX/L1M
DIVの中にline-hightを設定したテキストを入れた時と同じ場所になるようにDIVと同じサイズのCanvasの中に文字を書き込みたいんだけどどうやるの(´;Д;`)
0609デフォルトの名無しさん (ワッチョイ f535-ZvIq [220.208.234.203 [上級国民]])
垢版 |
2021/06/26(土) 18:57:01.42ID:JMJiYaB90
>>608
line-height内でのテキストの上下方向の位置を合わせる方法がわからない
0611デフォルトの名無しさん (ワッチョイ f535-ZvIq [220.208.234.203 [上級国民]])
垢版 |
2021/06/26(土) 19:52:17.54ID:JMJiYaB90
ボックスというかベースラインの話
今サンプル作る
0613デフォルトの名無しさん (ワッチョイ f535-ZvIq [220.208.234.203 [上級国民]])
垢版 |
2021/06/26(土) 20:30:25.16ID:JMJiYaB90
>>612
そのベースラインの座標がわからない
0614デフォルトの名無しさん (ワッチョイ f535-ZvIq [220.208.234.203 [上級国民]])
垢版 |
2021/06/26(土) 20:35:43.90ID:JMJiYaB90
サンプルがこれなんだが、最後の 80*0.64 って奴がline-height*割合で
割合を調整してベースラインの位置に来るように調整してあるんだがfont-sizeやline-heightを変えると0.64じゃ一致しなくなる
https://codepen.io/as124680/pen/wvdwWyO
0615デフォルトの名無しさん (ワッチョイ 4569-QOAx [180.48.211.187])
垢版 |
2021/07/12(月) 23:42:04.57ID:wbIA3J3A0
<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を取得できる方法があったら
やりかたを教えてください
0617デフォルトの名無しさん (ワッチョイ dd2c-KGMb [124.96.103.214])
垢版 |
2021/07/13(火) 03:42:43.38ID:dtNqNBdW0
「css セレクタ」で検索!

x y は、xの子孫(子・孫・玄孫なども含む)のy。
x > y は、xの子(直下のみ)のy

JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用に立てられたもので、今は使われていません
0618デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/18(日) 14:00:13.55ID:5EoIqaKx0
プログラミングするときは必要な処理を必ず日本語化したほうがいいですか?
まず、必要な機能をすべて書き出してから、フローチャート的なものを作る

ぶっつけでコードを書き始めると駄目ですかね。
0620デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/18(日) 16:06:28.09ID:5EoIqaKx0
ストップウォッチを作っています。
1:スタートボタンを押した時にカウントアップを開始し
2:もう1度押すと停止します
3:もう1度押すと途中からのカウントアップを開始します

この途中からのカウントアップのやり方がわからないのでヒントを教えて下さい。
addTime変数にカウントアップ途中の数値をセットし、3に加算すればいいわけですが、上手くイカなかったので教えて下さい。
わからないのはaddTimeの取得方法と、加算のタイミングです。
0621デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/18(日) 16:08:02.80ID:5EoIqaKx0
https://ideone.com/Fq7ki3
コードはこちらになります。

別の質問なんですが、コードのペーストサービスってどこがいいんでしょうか?
0625デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/18(日) 23:43:41.81ID:5EoIqaKx0
>>623
どうも
performanceを使うといいんすね

差分の部分も参考にさせてもらいす
わからなかったら聞きます
0626デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/19(月) 14:43:39.83ID:Dj9cyoNJ0
jaavscriptって型あるんですか?
let ms= 1000
としてもデータオブジェクト?じゃないので、getUTCSeconds()などが使えません
let ms = new Date(1000)

これでokです

>>624動作確認しやすいのでjsfiddleにしときます
0628デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/19(月) 20:25:14.80ID:Dj9cyoNJ0
>>623
performance.nowって時刻を取得して差分を求めるより、正確なタイマーになるんでしょうか?
utcの時刻です。
0631デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/20(火) 06:08:39.83ID:VV+336kW0
>>630
performanceについての質問はしてないですよ。
performanだとcpu性能などに影響されるのか分かりません。
0632デフォルトの名無しさん (ワッチョイ ed01-XT2i [60.72.55.236])
垢版 |
2021/07/20(火) 06:28:13.06ID:znznH+MD0
>>631
失礼、performance.now()には触れてなかったな
だが、リファレンスに書いてある

https://developer.mozilla.org/ja/docs/Web/API/Performance/now
> performance.now() メソッドは、ミリ秒単位で計測された DOMHighResTimeStamp を返します。

---

https://teratail.com/questions/348048
> あらゆるイベントに timeStamp というプロパティがあり、これが 0.005ms 程度の精度だそうです。

こう回答されたら、俺ならtimeStampプロパティを使うが
0633デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/20(火) 11:44:45.80ID:VV+336kW0
>>632
performanceはタイムスタンプを取得しているそうですが、その取得にはcpu性能が影響するのでしょうか。
最初のタイムスタンプの取得が遅れたとしても、終了時のタイムスタンプも同様に遅れるわけですから、差分は変わらないと考えればいいでしょうか。
0634デフォルトの名無しさん (ワッチョイ fd01-XT2i [126.147.160.1])
垢版 |
2021/07/20(火) 18:05:59.91ID:2nw+devd0
>>633
CPUに影響しない処理はほとんどないも思うが、GPU演算を期待してるのか?
ハードウェアアクセラレーションは門外漢なので分からん
専門家に確認してくれ

そこまで気にしていて、requestAnimationFrameが候補に挙がらない理由が謎
0636デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/20(火) 22:23:21.73ID:VV+336kW0
>>634
ありがとうございました。
gpuを期待しているわけではないです。
非力な環境で正確な動作をするかどうか分からないのです。
0637デフォルトの名無しさん (ワッチョイ bbcb-Io+N [223.132.6.112])
垢版 |
2021/07/21(水) 21:55:42.60ID:eII+w+/h0
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());
0641デフォルトの名無しさん (ワッチョイ 6340-kbnc [157.147.40.213])
垢版 |
2021/07/22(木) 01:35:46.57ID:pUylfiot0
最近javascriptを始めた者ですが、最初の段階からつまづいています。
参考にしているのはこの本ですが「https://www.sbcr.jp/product/4815601577/
ブラウザのコンソール機能を使って文字を表示させるのですが、上手くいきません。
「>console.log('おうむ返し');」と打ち込んでも、「Uncaught SyntaxError: expected expression, got '>'」
と言うエラーメッセージが出て上手く表示されません。
本に書いてある通りにやっているつもりなのですが、何故なんでしょうか?
宜しくお願いします。
0642デフォルトの名無しさん (ワッチョイ 6301-zSg9 [221.24.92.174])
垢版 |
2021/07/22(木) 01:46:58.75ID:VUYJjhRP0
console.log('おうむ返し');
と打ち込んでください
0644デフォルトの名無しさん (ワッチョイ 6340-kbnc [157.147.40.213])
垢版 |
2021/07/22(木) 02:05:33.27ID:pUylfiot0
>>642
「illegal character U+FF1B」と出るのですが・・・
0645デフォルトの名無しさん (ワッチョイ 6340-kbnc [157.147.40.213])
垢版 |
2021/07/22(木) 02:13:03.04ID:pUylfiot0
自己解決しました。
「:」を付けるなと言うエラーでした。
しかし、本には「>」「;」を付けろと書いてあるのですが
付けてはいけないのでしょうか?
0647デフォルトの名無しさん (ブーイモ MM0b-Ggzh [163.49.204.185])
垢版 |
2021/07/22(木) 03:43:40.04ID:ZZMUYXj4M
u+ff1bは全角のセミコロン(;)
;みたいな半角にすれば上手くいく
セミコロンに限らずプログラムを書く時は文字列、コメント以外は基本全角を使ってはいけないことを意識した方がいい
JavaScriptの場合文字列にあたるのは"文字列"、'文字列'、`文字列`の3種類
0650デフォルトの名無しさん (ワッチョイ 6ecb-qCnf [223.132.6.112])
垢版 |
2021/07/23(金) 14:12:58.59ID:/dxGnZSf0
都道府県のデータを地図上に表示させる場合、なにかしらapiを使いますか?
例えば、人口のデータ。
東京10万人、大阪5万人というデータだった場合、東京を赤に、大阪を青にします。

cssのareaとif文でできそうですが、グラフィカルに出来るやり方はあるんでしょうか?
0652デフォルトの名無しさん (ワッチョイ 6ecb-qCnf [223.132.6.112])
垢版 |
2021/07/24(土) 05:34:58.11ID:rkiLuKXr0
>>651
googlemapほど高機能じゃなくてもいいんですよね。
単なるグラフ化するライブラリなりあれば

ただ、地図ですが
0655デフォルトの名無しさん (ワッチョイ e6db-3Z6B [217.178.96.78])
垢版 |
2021/07/24(土) 17:07:18.18ID:Qi1mUWJh0
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人
0658デフォルトの名無しさん (ワッチョイ 6ecb-qCnf [223.132.6.112])
垢版 |
2021/07/25(日) 05:41:30.41ID:u3F8MSWe0
>>653
cssだけでできませんかね?
0672デフォルトの名無しさん (ワッチョイ 6ecb-qCnf [223.132.6.112])
垢版 |
2021/07/26(月) 10:54:00.67ID:Ak80SZap0
javascriptが動かない環境ってまだまだあるんでしょうか?
ブログの見出しをjavascriptで取得して、ページ内リンク(目次)にしたいのですが。
wordpressならそのようなアドオンがあるんですが、ライブドアブログなので。

見出しは記事内に手書きしたほうがいいでしょうか?
0675デフォルトの名無しさん (ワッチョイ 4240-3Z6B [157.147.40.213])
垢版 |
2021/07/27(火) 20:06:25.72ID:TjjVMu0r0
const thumbs = document.querySelectorAll('.thumb');

thumbs.forEach(function(item,index) {

item.onclick = function() {

document.getElementById('bigimg').src = this.dataset.image;

}

});
0679デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135])
垢版 |
2021/08/01(日) 11:31:04.39ID:9TmqVOhq0
ブログ記事のヘッダ(h要素)を取り出して目次化する機能をjavascriptで作りました。
目次ってのは直接、idを指定して作ったほうがいいんでしょうか?

このような疑問を持ったのは、javascriptが動かない場合を考えてです。
0681デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135])
垢版 |
2021/08/01(日) 14:53:40.48ID:9TmqVOhq0
>>680
ワードプレスならプラグインがあるんですが、ライブドアブログなんですよね。
調べましたが、おそらくないと思います。
0683デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135])
垢版 |
2021/08/02(月) 06:44:39.43ID:DD4JIXiO0
そうなんですか?
0685デフォルトの名無しさん (ワッチョイ 6759-MjzU [150.246.99.135])
垢版 |
2021/08/02(月) 20:51:31.31ID:DD4JIXiO0
はい
0686デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/06(金) 14:39:15.85ID:bbEiQUtR0
最近、ステップ実行というデバッグ方法をはじめてみたんですが、使い方がよくわかりません。
質問です。

1:ステップ実行はブラウザの機能を使うのが普通なんでしょうか?firefoxです
2:ブレークポイントから実行されるようですが、行末までいったらブレームポイントに戻るという挙動似できないのでしょうか?
firefoxです
0688デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/07(土) 05:29:09.18ID:Xvs4IZ+y0
>>687
どうも
htmlファイル内のjsをデバッグする場合はブラウザになるんですかね?
0690687 (ワッチョイ 822c-2tbN [211.11.11.1])
垢版 |
2021/08/07(土) 13:14:23.80ID:D2Nz4xRW0
VSCode で、break point を付けたりして、1行ずつデバッグする。
好きなブラウザも起動される

例えば、ボタンをクリックした時のコールバック関数に、break point を付けて、
ブラウザでボタンをクリックすると、そこで止まる

そこから、1行ずつデバッグするような感じ

まあ、VSCodeの使い方・おすすめ拡張機能を学ぶのが先。
YouTube でも見れば?

この板にも、VSCodeのスレがある
0691デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/08(日) 13:12:16.33ID:w9BUoWYn0
>>689
>>690
どうも
ブラウザで動かすものなので、すべてブラウザ上のデバッグツールでは駄目なんでしょうか?
0693デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/08(日) 13:59:15.55ID:w9BUoWYn0
node jsとvscode使ってみたんですが デバッガーのタブを開いて、node.jsをデバッガーとして開き、runcurrent fileを洗濯するという手順でいいんすかね?
0694デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/08(日) 15:22:47.76ID:w9BUoWYn0
>>692
vscode上でのデバッグだとまとめて出来るという意味でしょうか?
0696デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/08(日) 20:33:00.96ID:w9BUoWYn0
>>695
node.jsを使ったデバッグだとまとめてできるのかなと思いこんでました
node.jsはブラウザをvscode上で再現するものではないのですか?
console.logの結果をdebug consoleに表示出来たり。
0700デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/08(日) 22:25:01.50ID:w9BUoWYn0
ボタンを無効化したいです

button.setAttribute("disabled");
これだとdisabledがセットされないのですが、なにか間違っているでしょうか?
valueを追加しても同じです。

サンプルコード通りにやってみたんですが、、、
0702デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/09(月) 06:27:35.78ID:Azri5LRy0
>>701
どの部分が間違っているのでしょうか?
0706デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/09(月) 10:18:05.96ID:Azri5LRy0
了解っす。
0707デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1])
垢版 |
2021/08/09(月) 13:39:27.94ID:78aLRiJY0
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 でも必須
0708デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/09(月) 20:37:20.30ID:Azri5LRy0
ロジックが分からないといった場合、デバッグは役に立たないのですか?
0712デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/10(火) 05:53:52.56ID:4Mt5Fls80
>>710
で、ですよね、、、(´・ω・`)
0713デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/10(火) 21:33:07.35ID:4Mt5Fls80
ステップ実行というのは同じ範囲を何度もループ出来るんでしょうか?
例えばクリックするごとに数字が加算されていくというばあい、同じ範囲をループさせる必要があります

<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の範囲を何度もループさせたいのですが。
0716デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/11(水) 11:45:51.34ID:fyzMDiGk0
>>714
すみません
firefoxなんですが、例えばブレークポイントを以下のように仕込んでもループしません
開発環境によって違うのでしょうか?
以下の0と5にブレークポイントを仕込み、step inを連打しているのですが、この範囲をループしません
console.log("0");
console.log("1");
console.log("2");
console.log("3");
console.log("4");
console.log("5");

>>715
どうも
調べてきます
0718デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/11(水) 14:14:15.47ID:fyzMDiGk0
ideやブラウザではなく、コードの方で対処するということですか?
0722デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/11(水) 16:45:11.40ID:fyzMDiGk0
>>721
ステップ実行を使いたいんですよね
ステップ実行で繰り返しは出来ないんですよね

確かに根本は理解出来ていないです
0725デフォルトの名無しさん (ワッチョイ 822c-Lto6 [211.11.11.1])
垢版 |
2021/08/11(水) 17:45:17.95ID:Z6PNV5dP0
click イベント内で、break point で止めてから、step 実行していっても、
callback 関数を抜けると、実行が止まる

そこで一旦、ブラウザに戻って、またボタンを押さないと、
callback関数が呼ばれない

つまり、イベントの場合は、VSCode だけでは出来ない。
同時にブラウザも操作して、イベントを起動しないといけない
0728725 (ワッチョイ 822c-Lto6 [211.11.11.1])
垢版 |
2021/08/11(水) 18:50:49.65ID:Z6PNV5dP0
click イベント内のcallback 関数は、VSCode だけでは実行できない

同時にブラウザも操作して、イベントを起動しないと、
callback関数が呼ばれない
0730デフォルトの名無しさん (ワッチョイ 676e-dtsT [150.246.100.179])
垢版 |
2021/08/11(水) 20:12:32.61ID:fyzMDiGk0
>>723
ボタンをクリックしていけばそうなんですが、ステップ実行のstep inの連打でそのような挙動をさせたいのですが、無理なんでしょうか?
0736デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
垢版 |
2021/08/13(金) 16:09:16.34ID:bqxBNW7u0
>>733
繰り返し処理のデバッグはステップ実行を使わないのですか?
ステップ実行がどんな場面で必要かよくわかりませんが、
0737デフォルトの名無しさん (ワッチョイ 1f2c-MEry [211.11.11.1])
垢版 |
2021/08/13(金) 16:27:54.44ID:S8120IP70
質問者はブラウザを操作しないで、VSCode だけで、イベントを繰り返したいのだろ?
ブラウザのボタンをクリックすると、イベントが呼ばれるから簡単なんだけど

クリックなど、ユーザーのアクションが無いと、
イベントが呼ばれない事を知らないのかも
0745デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
垢版 |
2021/08/14(土) 07:42:49.75ID:ogKvtxQL0
>>741
ブレークポイントの範囲内で動かすというようなことが出来るのかなと
0747デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
垢版 |
2021/08/14(土) 11:31:45.65ID:ogKvtxQL0
>>746
ブレークポイントを2つ設定することで、範囲が指定されるのかなと考えていました
0749デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
垢版 |
2021/08/16(月) 14:04:43.59ID:HuZbr3zA0
>>748
ブレークポイントは2つです。
この範囲内のみの実行が可能かと思っていました。
ヘルプは読んでいないのですが、そういうものかと思いこんでいました。
0750デフォルトの名無しさん (ワッチョイ 4b2d-ZfRL [220.100.114.30])
垢版 |
2021/08/17(火) 07:58:32.06ID:O7tce/sS0
「ハンズオン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;
}
0755デフォルトの名無しさん (ワッチョイ 4b2d-ZfRL [220.100.114.30])
垢版 |
2021/08/18(水) 04:14:03.58ID:MlgFIKsc0
>>751
レスありがとうございます。

ご助言頂いた後に、何故「parent」を包括してるのに
わざわざ「...parent」と展開しているのかに悩まされたのですが、
継承元のメソッドをオーバーライドしているため、
継承元のメソッドを参照するための措置だと理解するに至りました。

何はともあれすっきりいたしました。ありがとうございました。
0760デフォルトの名無しさん (ワッチョイ 0b6e-YgaZ [150.246.100.179])
垢版 |
2021/08/19(木) 20:25:30.16ID:DoSdBCp10
プログラミングにはまる方法ありますか?
もう1日獣コーディング出来るという感じの
0761デフォルトの名無しさん (ブーイモ MM7f-Vt5m [163.49.207.219])
垢版 |
2021/08/19(木) 20:29:27.31ID:XQ1nrb4AM
百獣の王ライオンのように獣分勉強することが獣要だ。
0764デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/20(金) 10:32:33.93ID:Z+g/1lv60
javascriptでゲージを表示出来るライブラリってないですか?
かんたんなものでいいんですが

円形や半円形で、残り時間を表示出来るようなもの
0770デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/20(金) 14:54:30.33ID:Z+g/1lv60
没頭できる方法はないかしら
0773デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/21(土) 06:10:37.76ID:kZOy5p0X0
>>772
それにしときます
0774デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/21(土) 13:43:38.68ID:kZOy5p0X0
プログラミン好きになりたい
0776デフォルトの名無しさん (アウアウウー Sad9-LN3e [106.129.141.43])
垢版 |
2021/08/21(土) 19:36:40.29ID:IJG/Rocua
>>770
JavaScriptでのアプリってさ
静止画で動かないものをプログラミングするよりも
動きのあるものやインタラクションで即応性のあるもののが楽しいと思うよ
canvasやったらお絵描きやら、three.js使ってマウスでグリグリ動かせる3Dも作れるし
0777デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/22(日) 12:53:46.24ID:M/f8ZXpG0
>>776
ゲームエンジンも使ってますね
確かに楽しい
0778デフォルトの名無しさん (ワッチョイ 356e-hCLa [150.246.100.179])
垢版 |
2021/08/24(火) 08:35:43.20ID:MyDy/SP/0
コツコツやってれば楽しくなるかしら
0780デフォルトの名無しさん (オイコラミネオ MMe1-CXBN [150.66.82.157])
垢版 |
2021/08/26(木) 12:42:23.70ID:ReNipBHPM
セールストークのような短文が浮かんでは消えるようなスクリプトを書きたいです
その場で表示されて、消えて、別の短文が表示されるみたいに
リストした候補を順番、ランダムで代わる代わる表示させるには
どんなキーワードで検索したら似たような機能のスクリプトを探せますか?
素人が引き継ぎをするようになり、webプログラムの機能の専門用語が分からず難儀しています、、
0783デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
垢版 |
2021/08/27(金) 13:43:18.46ID:qCuii4QT0
>>779
プログラミン楽しくなった瞬間とかありますか?
やっぱりある程度スキルがつかないとつまらんですわな

まず継続化の時点で躓いている
0784デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
垢版 |
2021/08/27(金) 14:09:02.43ID:qCuii4QT0
即時関数ってのは全体の構造を把握しやすくするために使うんでしょうか?
関数化すればアウトラインに出ますもんね。
0786デフォルトの名無しさん (ワッチョイ 1d6e-XeGO [124.219.198.89])
垢版 |
2021/08/27(金) 17:07:32.29ID:h8MNocFf0
java/C++/C#辺りやってたのでオブジェクトの扱いがよく分からないというかプロトタイプベース?というのを聞いて分からない!文化が違う!ってなってます
なんかその辺上手いこと説明してくれてるとこないですかね
0788デフォルトの名無しさん (ワッチョイ 7d6e-+pMA [150.246.100.179])
垢版 |
2021/08/27(金) 18:57:04.42ID:qCuii4QT0
>>785
目的あるけど、スキル不足でまだ楽しくない
0792デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
垢版 |
2021/08/27(金) 21:58:17.72ID:cMIVTei20
>>786
prototype, __proto__ は継承チェーン

let Person = function (name) {
this.name = name;
};

let taro = new Person('太郎');
taro.age = 20;
console.log(taro); //=> Person { name: '太郎', age: 20 }

let jiro = new Person('次郎');
console.log(jiro); //=> Person { name: '次郎' }

taro.age = 20;
みたいに、インスタンスにメンバー(データ・関数)を直接追加しても、
そのインスタンスにしか追加されない。
Ruby の特異メソッドと同じ

1階層上に追加しないといけない。
それをプロトタイプチェーンを遡ると言う
0793デフォルトの名無しさん (ワッチョイ a32c-4h9J [211.11.11.1])
垢版 |
2021/08/28(土) 19:18:57.18ID:g8WbsRiO0
>>780

function f() {
const ary = ["あ","い","うう"]
let i = 1;

const timer_id = setInterval(function () {
// 0〜配列の要素数未満の乱数を発生させて、少数点以下を切り捨てる。つまり、0〜2
idx = Math.floor(Math.random() * ary.length)
console.log(i, ary[idx]);
i++;

// 指定回数でタイマーを解除する
if (i > 5) { clearInterval(timer_id); }
}, 1000);
}

f()
0794デフォルトの名無しさん (オイコラミネオ MM09-GAdy [150.66.71.102])
垢版 |
2021/08/29(日) 15:56:34.06ID:IDEI2UK0M
>>793
有難うございます!
これはJavaScript?
自分で考えてからあれこれ加工するまでには全然至っていません・・
アニメーションも探すとcss3でも可能みたいですね

セールストークの文字列が2箇所あって
例「みんなのお役に立てる」「◯◯です」みたいな感じなのですが
こういう場合は一個づつの要素を動かしてあげる方が簡単ですよね?

3つくらいの組み合わせを、季節ごとに変えようとか考えていて色々試行錯誤してます
ワンセットで、1→2→3と時間指定で変えられれば一番楽なのですが
0798デフォルトの名無しさん (ワッチョイ cbda-KrGZ [121.116.31.42])
垢版 |
2021/09/03(金) 20:32:19.52ID:L3QItCYH0
オブジェクトのプロパティの値に対して、falseを入れておくと、その一つ下のプロパティの存在チェックが
できるのですが、nullにするとエラーが出てしまいます。
一体どのような理由なのでしょうか?

obj = {
obj.abc = false;
// obj.abc = null;
};
if (obj.abc,def) {...}
0799デフォルトの名無しさん (ワッチョイ d535-sk6x [180.145.179.243])
垢版 |
2021/09/03(金) 21:34:31.02ID:KftlCW3D0?2BP(1000)

>>798
falseはではない(表示しない)
trueはである(表示する)
nullはなにもない(どちらでもない)
だからだと思う
0801793 (ワッチョイ 4b2c-3Lnd [153.136.94.40])
垢版 |
2021/09/03(金) 22:57:56.98ID:pInph4TO0
>>793
自己修正

>idx = Math.floor(Math.random() * ary.length)
let が抜けていた

VSCode で、拡張機能・ESLint も入れているけど、
letが無くても警告されない
0806デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/05(日) 04:32:46.84ID:oH2jfftx0
戻り値のない関数ってどういうときに使うんでしょうか?
0808デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/05(日) 10:32:02.35ID:oH2jfftx0
>>807
alertやconsole.logなどの何らかの出力処理を関数内に含めるか、returnを使うかしないと、外部とのやり取りは出来ないんですよね?
0810デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/05(日) 12:47:36.39ID:oH2jfftx0
>>809
関数は数値などを加工するものだと思います。
その加工した値を取り出す手段がないと、使う意味がないと思うのですが。
0813デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/05(日) 18:55:22.30ID:oH2jfftx0
>>811
>>812
はい
0814デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/07(火) 11:24:53.81ID:S+wKaSSK0
localStrageに複数のデータを保存して、ループで取り出したいのですが、pushで保存は可能です。しかし、forで取り出すとカンマの区切りが機能していないようです。
[1,2,3]
こういう配列があった場合、forで取り出すと以下のようになります。
1
,
2
,
3
つまりこれは配列ではなく、文字列として扱われているのだと思います。
localStrageへの保存はどのような方法が一般的なのでしょうか?

以下はstartを押すとlocalStrageに配列を保存し、outputで取りだすというものです。
<button id="start">ボタン</button>
<button id="test">output</button>
<div id="timer" style="border:1px solid red;width:500px;height:500px;"></div>
<script>
let startButton = document.getElementById("start");
let testButton = document.getElementById("test");
let timer = document.getElementById("timer");
let num = 0;
let arr = [];
startButton.addEventListener("click" , function()
{num += 1;
timer.insertAdjacentHTML("afterbegin" ,"<div>" + num + "</div>");
arr.push(num);
localStorage.setItem("saveArray" , arr);
});
testButton.addEventListener("click" , function()
{let array = localStorage.getItem("saveArray");
for(let i = 0;i < array.length ; i ++)
{console.log(array[i]);}});
</script>
0816デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/07(火) 15:35:10.78ID:S+wKaSSK0
>>815
jsonにするということですが、なぜ配列だと駄目なんですかね。
0819デフォルトの名無しさん (ワッチョイ c56e-nzYM [150.246.100.179])
垢版 |
2021/09/07(火) 15:57:51.34ID:S+wKaSSK0
>>818
そういう仕組だと覚えるしかないですね
localstrageって一種の変数みたいなもんじゃないんでしょうかね
0822デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/08(水) 15:58:10.14ID:Zc9KUQv/0
はい(´・ω・`)
0823デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/08(水) 21:31:41.92ID:Zc9KUQv/0
innerhtmlはfor内では機能しないのでしょうか?
クリックしたときにtimerの中にnum_arrの中身をセットしたいです。
しかし、console.log(num_arr[i])での展開はされますが、innerhtmlでのセットは機能していないです。
なぜでしょうか?
<button id="test2">
test2
</button>
<div id="timer"></div>
<script>
let testButton2 = document.getElementById("test2");
let num_arr = [1,2,3,4,5];
testButton2.addEventListener("click" , function()
{
for(let i = 0;i <num_arr.length ; i ++)
{
timer.innerHTML = "<div>" + num_arr[i] + "</div>" ;
console.log(num_arr[i]);
}
});
</script>
0830デフォルトの名無しさん (ワッチョイ 6501-lYlz [60.126.191.83])
垢版 |
2021/09/09(木) 00:07:10.15ID:nyRHg+r60
chrome拡張機能を作っているのですが、insertRuleしようとするとたまにエラーが出てしまいます。
調べてもよくわからなかったのですが、原因わかる方いますか?
Error handling response: Error: Failed to execute 'insertRule' on 'CSSStyleSheet': Failed to parse the rule 'undefined'.
0831デフォルトの名無しさん (アウアウウー Sa69-AvaG [106.129.118.72])
垢版 |
2021/09/09(木) 00:10:23.30ID:4mdtO86la
>>823>innerhtmlはfor内では機能しないのでしょうか?

>>828の様にすればinnerHTMLはfor内でも機能してるのが確認出来る

>クリックしたときにtimerの中にnum_arrの中身をセットしたいです。

なら
//num_arr[i] ではなく

timer.innerHTML = "<div>" + num_arr.join() + "</div>" ;

とすべし、あと名前はtimerではなくてtimesだろう
0833デフォルトの名無しさん (ワッチョイ 3501-UAwi [126.28.239.133])
垢版 |
2021/09/09(木) 01:04:57.92ID:gVcxc3AP0
jsを勉強し始めたんですがコールする関数タイポしてもコンパイルエラーとかないんで実行してコケて気づいて直す、を繰り返してしまいます。
こういうテスト以前のコーディングミスについて、コンパイル言語のように事前に検知する方法はないでしょうか?
ちなみにvscodeで開発してます。
0834デフォルトの名無しさん (ブーイモ MM6b-FGfd [163.49.207.128])
垢版 |
2021/09/09(木) 01:27:37.42ID:BO4ka+Z8M
コケちゃいました
0836デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
垢版 |
2021/09/09(木) 03:49:44.49ID:sZM33J3R0
漏れは、VSCode で、スクラッチパッドみたいな拡張機能・Quokka.js で、
コードを入力してるけど、文法エラーでは、赤い波線が表示される

拡張機能・ESLint も使っているからかな?

もちろん、Node.js もインストールしているから、
Quokka.jsに書いたコードは、Node.jsで実行されるので、時刻が9時間ずれる
0837デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/09(木) 06:09:13.65ID:MrnZHVcA0
>>828
これで解決しました
ありがとう

加算にしないと駄目なんですね(´・ω・`)、、、
0839デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/09(木) 15:28:43.86ID:MrnZHVcA0
プログラミンコードの校正ってどこでアドバイスもらえますか?
ストップウォッチ作ったはいいものの、コードぐちゃぐちゃで読んでて分からない
分かりやすく書く方法を教えてほしいのです(´・ω・`)、、、
0841デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/09(木) 15:52:13.51ID:MrnZHVcA0
https://ideone.com/O5tsDV
ideonにupしました(´・ω・`)、、、
コメント入れているのですが、改善点のアドバイスもらえますか?
コメントアウトしている部分はとりあえずは使わない機能です。
0842デフォルトの名無しさん (ワッチョイ 4b7b-xzrk [153.185.174.10])
垢版 |
2021/09/09(木) 16:17:46.87ID:MjE68I3R0
>>841
適当にコード拾ってきてつなぎ合わせたのでなけりゃ、十分理解できるコードだと思うが。
それなりにコメント入ってるし。
むしろ具体的にどこがわからんのよ。

自分で理解して書いたコードだったら、一回全内容にコメント入れてみたら?
0843デフォルトの名無しさん (ワッチョイ c56e-zxq2 [150.246.100.179])
垢版 |
2021/09/09(木) 19:26:54.34ID:MrnZHVcA0
>>842
どういう部分と言われても難しいですが、しばらく放置してから見ると動きを理解するのに少し時間がかかるというか
この程度の短いコードですが

複数ファイルに分けたりしたほうがいいのでしょうか?

おそらく、良くわからないのは実行の流れです
フローチャートなどは苦手で書いていません
0844デフォルトの名無しさん (ワッチョイ 4bbb-nTGN [217.178.195.45])
垢版 |
2021/09/09(木) 20:13:16.49ID:B3AuMWY60
>>843
できるだけ関数化するのと、その関数の名前にはこだわった方がよいかも
ファイルは分けなくてよい
フローチャートは自分も書いたことはない

例えばタイマの初期化が先頭部分とリセットボタンクリックイベントの2箇所にあるが、読みづらい上に不具合のもと
実際にリセットボタンクリック時にはミリ秒がクリアされるのに
起動時にはミリ秒がクリアされていないように見える(ローカルストレージから前回の値を拾ってきてる?)

関数外にはグローバルっぽく扱いたい変数の宣言のみを置いて
初期化は名前を付けて関数にする

イベント内の処理も関数化する

そうするとソースを読むとき、先頭から追いかけるときは
原則関数だけが並んでいる形になり、そこでは細かな処理を気にする必要はない

イベントの処理ではイベント関数の先頭からソースを追いかけるが、
そこでも関数だけがあって細かな内容は気にしなくてよい、という形にする

あとはセンスも必要になるけど、処理の内容を的確に表す分かりやすい関数名であれば、
関数名それ自体がコメントのような役割をはたすので、さらに読みやすくなる
0845デフォルトの名無しさん (ワッチョイ 4b2c-8qru [153.136.94.40])
垢版 |
2021/09/09(木) 20:27:52.09ID:sZM33J3R0
フレームワーク無しで開発すると、最後には暴発する。
デザインパターン・ファイル分割などが、統一的に決まっていないから

他人のクソコードを誰も読みたくない

だから、Ruby on Rails を使って、
全員が同じ規約で、レールに乗る。Rails Way

Rails では、Node.js, React, Vue.js, Bootstrap を使う。
これらもフレームワークだから、規約で決まっている

だから、独自のデザインパターンを使うことや、我流は、すべて禁止されている。
つまり、全てフレームワークに従う

コードレビューも、フレームワークに従っていない部分を、修正させられる。
フレームワークのやり方と違いますよと

例えば、伊藤淳一のコードレビュー。
YouTube 動画、2018/10

RSpecで書かれたRailsチュートリアル 第6章のテストコードをレビューしてみた
0847デフォルトの名無しさん (ブーイモ MM6b-Ndt7 [163.49.209.85])
垢版 |
2021/09/09(木) 20:52:57.96ID:kZqbipt0M
関心事がごっちゃ混ぜだから分かりにくい

アプリケーションが管理する状態(モデル)とその状態をユーザーに見せる表現(ビュー)に対する処理を意識して分けること
MVCの基本を学ぶと良い

モデルの初期化処理やビューの初期化処理、モデルのsave/load処理を関数等でまとめること

モデルの変更イベント(mode: stopped -> running)をリッスンしてビューを更新する作りにすると関心事の分離的にも依存性の方向的にも見通しがよくなる
0851デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/10(金) 15:55:30.36ID:rOEuM+530
>>844
変数は出来るだけローカルにして、関数化出来る部分は出来るだけ関数化するということですよね。
MVCも調べているところです。
これはMVCの3つのクラスに分ければいいんでしょうか?
0852845 (ワッチョイ 8b2c-aIS6 [153.136.94.40])
垢版 |
2021/09/10(金) 21:07:41.01ID:kAVp3Lay0
Ruby on Rails が、MVC の代表

React, Vue.js のFlux 系フレームワーク。
Store, View, Action

サーバーがRails のAPI モード・Web Socket などで、
クライアント側のHTML が、React, Vue.js, Bootstrap が多い
0853デフォルトの名無しさん (ワッチョイ 8bbb-dGLa [217.178.195.45])
垢版 |
2021/09/11(土) 04:28:54.23ID:TBXgXRUv0
>>851
ソースを修正してみた
https://codepen.io/cocotto/pen/OJgmXyo

自分はMVCとかよく分からんので、元のロジックは基本的にそのままで
機械的に細かく関数に分けてみただけだが

一応意識したのはタグの操作(insertAdjacentHTMLとかsetAttributeなどの行)は
ソースとしては非常に読みづらいので1行2行でも関数化したのと、
ボタンの状態変化をupdateButtonStatus()の1箇所にまとめ、
アクションの種類によらずその1種類の関数だけを呼べばよいようにしたことくらい
0854デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/11(土) 06:58:37.14ID:Uw+xpz9o0
mvcってどうやってエリアを分けるんでしょうか?
model controller viewのエリアです
単にコメントアウトで分けるのですか?
0855デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/11(土) 07:18:42.95ID:Uw+xpz9o0
>>853
回答どうも
似たような

タグの操作というのはmvcでいうところのviewですよね。
ボタンの状態もviewですよね。

controllerはキーイベントなどのことだと思います。

modelってどの部分が該当するんでしょうか
0856845 (ワッチョイ 8b2c-aIS6 [153.136.94.40])
垢版 |
2021/09/11(土) 09:52:12.58ID:IblrjkB00
100年やっても、MVC を作れない。
MVC のRuby on Rails をやった方が良い

それで、React, Vue.js のFlux 系フレームワークで、
Store, View, Action

Model, Store は、データ
View は、HTML
Controller は、それ以外の雑多なもの
Action は、データを変更するイベント
0858デフォルトの名無しさん (ワッチョイ 8bbb-dGLa [217.178.195.45])
垢版 |
2021/09/11(土) 13:02:57.50ID:TBXgXRUv0
>>855
modelはビジネスロジックを扱う部分
今回のプログラムでは
modeなどの状態管理や累積時間を操作する処理が該当

>>似たような
最初からロジックは変更してないといっている

MVCやフレームワークはアプリを作成する上の考え方やお作法なので、
多人数のプロジェクトに参加する場合には覚えて使いこなすことが必須で、
理解している人同士では話が通じやすい

一方で、たとえばLaravelというフレームワークでは新規にプロジェクトを作成すると、
コードを1行も書いていない状態で、数千のファイルが生成される
開発ではお作法に従って適切なファイルを適切に修正していく必要があるが、
そもそもお作法を理解するまでに学習コストがかかり、理解するまでは読みやすいとは限らない
1ページ2ページのwebアプリでフレームワークを導入すべきかも検討が必要

とはいえ小規模なプログラムでも
ビジネスロジック部分ではUI操作を混ぜない、
UI操作の途中でビジネスロジックに影響を与えない、
などとした方が読みやすく保守性も上がる、とは言われていて、
本来的にはMVCなどの考え方を導入すべきかもしれないが、
小規模な趣味的アプリならUI操作部分を関数化して追い出すだけで
多少見やすくなるんじゃないか、というのが 853 の例

趣味でなく就職のトレーニングのつもりならMVCでもフレームワークでも頑張って勉強してもらうしかない
0859デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/11(土) 20:24:46.63ID:Uw+xpz9o0
↑回答どうも
趣味程度ですね。

ただ、それでも分かりやすくはしたいので、mvcの考え方だけ取り入れます。
本物のmvcがよくわかりませんけどね。
0861デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/12(日) 10:42:23.75ID:9YHRam0P0
javascriptだとmvcがなじまないから何らかのフレームワークを使うってことなんですかね?
0863845 (ワッチョイ 8b2c-Le98 [153.136.94.40])
垢版 |
2021/09/12(日) 12:19:17.43ID:jZMYjdNi0
>>856
に書いたように、

Ruby on Rails は最初から、Node.js, Webpack, Babel を使う

多いのは、React, Bootstrap。
日本では、Vue.js も使う

最近の転職では、Vue.js, TypeScript も有利だと、
YouTube で有名な、雑食系エンジニア・KENTA が言ってる

サーバー側がRailsのAPIモードで、
フロントエンドが、React, Vue.js

ほとんどのベンチャー・学校・サロンは、これ
0866デフォルトの名無しさん (ワッチョイ 396e-GwBl [150.246.100.179])
垢版 |
2021/09/12(日) 16:49:42.17ID:9YHRam0P0
javascriptでmvcは使うんですか?
違う概念があるんでしょうか?
0867845 (ワッチョイ 8b2c-Le98 [153.136.94.40])
垢版 |
2021/09/12(日) 17:04:40.45ID:jZMYjdNi0
YouTube で有名な、雑食系エンジニア・KENTA のサロン・動画を見ればわかるけど、

基本的には、どこの会社も転職用ポートフォリオは、Ruby on Rails のみ。
他のフレームワークのシェアが少ないので、それらで作っても誰も見ない。
Laravel, Django など

React, Vue.js も、バックエンドで使うかと言われれば、使わない

だから基本、サーバー側は、Rails のAPI モードで、
フロントエンドに、React, Vue.js, Bootstrap を使う
0868845 (ワッチョイ 8b2c-Le98 [153.136.94.40])
垢版 |
2021/09/12(日) 17:40:45.71ID:jZMYjdNi0
単純な例では、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 も必要になる
0870デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.75.61])
垢版 |
2021/09/13(月) 17:35:06.53ID:1UYrFVx4M
xamppのローカル上では何故かjQueryが作動してくれるのですが、そのファイルをエックスサーバーに上げると作動してくれません、、
気になったのはCDNの位置で、何故かheader.phpに記載されています
jQuery本文はindex.phpに記載してます

phpのファイルにはbodyが無いため、ネットで調べても検索結果が無いのですが・・確認すべき点があればご指摘いただけませんか?

教えていただきたいのは
jQueryを読み込ますCDNの位置とjQuery本文の記載場所です、、

宜しくお願い致しますm(_ _)m
0873デフォルトの名無しさん (ワッチョイ 8b2c-Le98 [153.136.94.40])
垢版 |
2021/09/13(月) 20:51:33.89ID:HGulW+Fz0
header.php が単に、メニューバーなどを定義した、
部分テンプレート・パーシャルなのか、
それとも、HTML の<head>タグなのか?

<head>タグなら、body よりも、先に読み込まれるでしょ?
試しに、bodyの終了タグ直前で、読み込んでみれば?

もちろん、jQuery は、自分のコードよりも先に読み込まないと動かない
0874デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172])
垢版 |
2021/09/13(月) 22:43:40.11ID:+vyrVLS2M
>>871-873
皆様有難うございます!
業者にwordpressで作成していただいたものをカスタマイズしてます
素人で検索ワードも効率的に選べなかったのですが、アドバイスをもとにネット検索をして少しだけわかってきました
今回、改修したいファイルはindex.phpですが、headとbodyはheader.phpにありました(何故か</body>は見当たらず・・)
なので、明日は</body>を書き込み、その直前にjQueryの本文を入れて試してみようと思います
0876デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172])
垢版 |
2021/09/14(火) 00:46:24.59ID:b3xfsiCuM
>>875
有難うございます!
確かにCDNでjQueryが導入済みだったので、いきなりFanction以下の本文を記入してもxampp上では動いてくれたのですが、、
一応、ローカル環境だけでいじくり回して解らなくなったらバックアップのデータで復元してます

何故かサーバーにアップしたら動かない、、
ライブラリのバージョンが違うのかはどうやって判断すれば良いのでしょうか?
業者は2.2.1でしたが、3.6.0にすべきかどうか?
なぜ、bodyの終了タグが無いのか?
一応、body自体を消してみたけど、何ら崩れたりもせず動いてました

header.phpのheadの終了タグの前にjQueryの本文を記入しましたが、レイアウトが崩れました
index.phpに記載した内容に影響のあるscriptなので、別のファイルに記載したら駄目なのか?

一晩寝て、アドバイスの通り検索から始めて理解を深めてから先に進むことにします、、
0877デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172])
垢版 |
2021/09/14(火) 08:12:14.43ID:b3xfsiCuM
>>873
一晩寝て思いついたのですが
header.phpはメニューだけを記述したファイルのようです
そこのheadにhtmlの宣言?CSSの呼び出し、CDNが記載されてました
他にhead,body,CDNを記述したファイルは見つかりません

そもそも.htmlというファイルが無いサイトって成り立つのでしょうか?
index.phpはトップページの内容を記述してますが、headもbodyも記述がありません、、
index.phpに記載の内容に対してjQueryを作動させたいのですが、、
xampp上では何故か上手くいってるんですよね
index.phpにbodyを新たに記述するってのは違反行為でしょうか?

そもそもhtmlの知識もなくカスタマイズしようとしてまして、、
0880デフォルトの名無しさん (オイコラミネオ MM95-y+jp [150.66.96.172])
垢版 |
2021/09/14(火) 09:35:33.82ID:b3xfsiCuM
>>878-879
ご指摘はごもっともですが、他に適任者は居なく業者からも実装したことが無いと放り投げられてるのでやるしか無いのです
上でも指摘していただきましたが、wordpressで jQueryは設定されていて、私の作成したfunctionの記述を再確認したところ上手く作動するようになりました!
やはり壊していたのは自分自身だったと・・
0885デフォルトの名無しさん (ワッチョイ 6910-8YoP [180.12.82.129])
垢版 |
2021/09/14(火) 17:37:23.97ID:6heBbDMW0
ちゃんと確認したらできました
0887デフォルトの名無しさん (ワッチョイ 8b2c-0MLo [153.136.94.40])
垢版 |
2021/09/15(水) 02:21:53.09ID:LKRHWte30
例えば、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>
0888887 (ワッチョイ 8b2c-0MLo [153.136.94.40])
垢版 |
2021/09/15(水) 02:22:34.90ID:LKRHWte30
WordPress はプロ向きじゃない。
デザインの本ばかりで、Railsみたいに、フレームワークの仕組みを学べる本がない

プログラミングはコーディングするものじゃない。
ほぼ、ずっとフレームワークの仕組みを読むこと。
これが、開発のほとんどの時間を占める

だから、WordPressの仕組みは、web制作管理板のWordPressのスレで聞くように言ってる。
各テンプレートを読み込む順番とか、どれが本体のHTMLなのかとか

この板で聞いても、個別のフレームワークの仕組みは誰も知らない

だから皆、専用のサロンへ入る。
例えばRailsなら、YouTube で有名な、雑食系エンジニア・KENTA のサロンへ、3千人が入っている

そういうコミュニティーへ入らないと無理。
独学では作れない。教えてもらわないと無理
0890デフォルトの名無しさん (ワッチョイ 8b2c-0MLo [153.136.94.40])
垢版 |
2021/09/15(水) 03:16:07.67ID:LKRHWte30
>>884
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 );
} );
0892デフォルトの名無しさん (アウアウウー Sa9d-lpFL [106.128.137.244])
垢版 |
2021/09/15(水) 18:11:45.71ID:vQolsmrqa
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);
}
0898デフォルトの名無しさん (ワッチョイ 6935-s7zK [180.145.179.243])
垢版 |
2021/09/16(木) 00:11:22.80ID:pYXDlrUq0?2BP(1000)

>>897
継承自作はガチでやばい
0901デフォルトの名無しさん (ワッチョイ 0bda-wHYb [121.114.118.84])
垢版 |
2021/09/16(木) 10:55:25.86ID:wCLjpPvb0
リサイズイベントが複数設置していて、望んだ順番で発火して欲しいのですが、
何か方法はありますでしょうか?

現状は各リサイズイベントにて、setTimeoutを用いてイベントの発火を間引いていますので、
その間引く時間をそれぞれ変更して対応しています。
0903デフォルトの名無しさん (ワッチョイ fbc3-wHYb [159.28.152.184])
垢版 |
2021/09/16(木) 15:22:17.42ID:gkVPGX300
すいません
windowsのローカルで動くスクリプトを書いてて質問です。(JSX)

children = folder.getFiles();

でディレクトリにあるファイル一覧を取得してるんですが

children[0].path = decodeURI(children[0].path);

みたいにファイルのパスをURLデコードしても、デコードしたパスが上書きされません。

ファイルパスに日本語が含まれていると後の処理でエラーが出るので
色々試してる途中なのですが、むしろ「日本語がURIエンコードされている」ことが問題なのかなと思ったので
いったんデコードを試みてる次第です。

どなたかよろしくお願いいたします。
0910デフォルトの名無しさん (ワッチョイ cb2c-QiSa [153.136.94.40])
垢版 |
2021/09/17(金) 05:14:25.65ID:O1PoA15N0
>>903
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 から始めた方がよい
0912デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78])
垢版 |
2021/09/17(金) 07:41:06.43ID:rB1Uwify0
https://note.affi-sapo-sv.com/js-class.php
JavaScriptのクラスは、内部的にはsuperキーワードが追加された以外は以前と変わっていません。



そのため、以前できなかったことは、今でもできません。



クラス定義を使えば、わかりやすいコードを作れるという意見もありますが、誰にとってわかりやすいかいまいち不明。
prototypeを隠蔽しているので、初心者がJavaScriptの本質を理解しにくくなる気もします。



class構文は内部でどんな置き換えをしているのか、ということを理解してからでないと、勉強にならないですね。
でも理解したら、わざわざclassを使う必要がない気がします。



使いたければ使えばいいんじゃない?と思います。
0913デフォルトの名無しさん (ワッチョイ cbdb-qDHA [217.178.96.78])
垢版 |
2021/09/18(土) 09:19:17.64ID:BWPa8IS40
classでインスタンスを生成した場合、関数の入れ子・クロージャ・関数の合成は
どのように実装すればいいのでしょうか?
0920デフォルトの名無しさん (ワッチョイ e336-PGCt [115.37.69.254])
垢版 |
2021/09/20(月) 17:33:22.90ID:BvjsWEuY0
プログラミング初心者+αです。

const a = オブジェクト.length
console.log(a);

ということをやると
undefined:undefined
つまり未定義と表示されて正常に認識してくれない。

console.log(オブジェクト.length);
ならうまくいくのに。
プロパティの値を変数に割り当てられないのでしょうか。
0924デフォルトの名無しさん (ワッチョイ 4bda-IhC7 [121.114.118.84])
垢版 |
2021/09/21(火) 20:13:00.16ID:2i3b3P5F0
>>919
ありがとうございます。

オーバーヘッドと似たようなもんだと考えてよいのでしょうか?

forEach が遅いのは関数呼び出しだからってのを、何処かで見まして、
インライン関数でも遅いので、自分の中で『検索』ってのと繋がらないです…
0925デフォルトの名無しさん (アウアウウー Sac9-ONKb [106.129.110.217])
垢版 |
2021/09/21(火) 20:47:54.79ID:e5t1mBAya
>>924
ゴメン、CDNのボトルネック的な事かと思っただけで
コールスタックとかリターンアドレスやらメモ化なんて知らないです。

どっちにしろ人間もコンピュータも間接的な呼び出しは遅いようだ
以下参考

2019年版: JavaScriptのループの考察
https://qiita.com/shibukawa/items/4cae2a1410754d519232

【Python】関数呼び出しのコストを計測してみた
https://qiita.com/stokes/items/e8440329fb6f37944a9b
0927デフォルトの名無しさん (ワッチョイ 46bb-c8WL [217.178.151.136])
垢版 |
2021/09/26(日) 10:15:24.86ID:A/CchEjW0
元のhtmlが<td id=***>文字列</td>と言う形でユニークなidが振られています。文字列の部分がokだった場合、字色を赤に変えたいのですがどのようなコードとすればよいでしょうか
試しに該当箇所にreplaceでspan styleを当てると元のタグが消えてテーブルが破壊されてしまいました
0930デフォルトの名無しさん (ワッチョイ 4ec3-2Lmd [159.28.152.184])
垢版 |
2021/09/28(火) 16:18:59.44ID:0wKuF6nP0
下記のように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になる
}
0932930 (ワッチョイ 4ec3-2Lmd [159.28.152.184])
垢版 |
2021/09/28(火) 18:42:29.73ID:0wKuF6nP0
alert( hoge.text() );
にするとマークアップ部分を抜いたテキストを取得できることに気付きましたが
マークアップも含んだ状態のインナーhtmlが欲しいんですよね…
0937デフォルトの名無しさん (ワッチョイ 86da-2Lmd [121.114.118.84])
垢版 |
2021/09/30(木) 21:24:16.30ID:JO+wR1m50
if (true) {}
if (a === 300) {}

if文は真偽値だけの判定と比較の判定だったら、真偽値だけの方が速いとかありますか?
複数個所で同じ比較の判定が必要な場合、結果を真偽値にして使い回した方がよいのか
知りたいです。
0941デフォルトの名無しさん (ワッチョイ 5301-6zG6 [60.72.78.63])
垢版 |
2021/10/01(金) 04:59:49.85ID:v3zEWc5J0
>>937
ちなみに複数箇所で同じ判定をしなければならない判定は、フラグ変数を使う方が保守性が高い
将来、判定処理を更新する際に更新箇所が一つですむし、複数箇所に同じ判定があると更新漏れのリスクがある

>>940でいったように、判定箇所が一カ所になるようロジックをくむのが最適
0959デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
垢版 |
2021/10/30(土) 10:09:55.72ID:1pYlSmze0
>>948
あと、オブジェクトという意味合いは結構あいまいです

JSではプリミティブはそれ自体に関数やパラメータなどを保持しません
ObjectはObject()の派生ですので関数やパラメータを持ちます
型という意味合いでは、typeof でObject型なのか判定できますのでお試しを

オブジェクトを目的物、対象物という表現でとらえれば
文字や数字も、扱う対象物として、オブジェクトと表現できますが
型としの意味合い(始祖Object()を継承してるか)なのか
対象物という意味合いなのか、混乱したときには整理してみるといいかもです
0969デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167])
垢版 |
2021/10/31(日) 01:31:34.39ID:XZxuOuys0
質問です。
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()は自作関数だと思いますかが、
どんな関数になるのか教えて下さい。
0971デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167])
垢版 |
2021/10/31(日) 04:01:17.10ID:XZxuOuys0
>>970
こんな深夜にありがとうございます。

ただ、すみません、
Uncaught ReferenceError: document is not defined
というエラーが出ました。
このdocumentというのはどのように定義したらよいですか?

あと、
<input id="address">
は同じフォルダにindex.htmlのような名前で保存すればよいですか?
0973デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
垢版 |
2021/10/31(日) 07:45:13.63ID:CEq1n28F0
>>969
サンプルコードは、

inpu=get_input() // 入力されたものをinputに代入する

do-whileは、inputIsNotValid()関数の戻り値がtrueの時に繰り返す

inputIsNotVarid()は、入力されたinput値が不適切の時にtrueを返す

という内容を説明しています

get_input()がどのような入力になるのか
inputInNotValid()で、inputの適否をどう判定しているのかは問いません、ということです
このようなコードを見たときには、関数名で働きが説明できている、という前提ですので
関数名をよく読んで、戻り値を推測して読んでください
0976デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
垢版 |
2021/10/31(日) 08:40:51.23ID:CEq1n28F0
45億年もの長きにわたり僅かな変化を積み重ねた塩基配列の微妙なズレと
あなたと私の養育環境における、例えば接種してきたたんぱく質や食物繊維の種類や量
照射された日照量や、退社した細胞数の数、知り合った女性や先生が持つ遺伝子配列とのずれとの調和
そのような本当に些細な差が、promptなのかconfirmなのかを決したのだと思います
そこには完全な正解はないのかもしれませんが、バリデーションチェックという意味ではpromptで説明すべきかもしれません
0977デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43])
垢版 |
2021/10/31(日) 09:24:41.87ID:hyBzQr2G0
>>966
「〜が分かりにくい」でお茶を濁さず、アロー関数とthis値の性質を学習して、分からない部分を具体化してから、調査or質問せよ
ということだ

>>966で書いてるような「〜すればいい」を理屈を度外視して、方法論だけ求めるのは思考停止
現状だと質問の体を成してない
0986デフォルトの名無しさん (ワッチョイ 52f0-rbIv [61.205.223.183])
垢版 |
2021/11/01(月) 10:30:03.91ID:Oy+9EmbD0
>>980
アロー関数にプロパティを紐づけする必要ないよな
無名関数、即時関数のプロパティに外部からアクセスするようなコードはナンセンスだし

>>981
Chromeのコンソールでコード入力してんのかな?
そんなことしてたら面倒くさいだろな
vscodeでjavascriptを実行すればいいんだけど
支障がるみたいで、どういう感じになってるのか興味ある
0989デフォルトの名無しさん (ワッチョイ 7ff0-+Epa [61.205.223.183])
垢版 |
2021/11/09(火) 17:29:38.68ID:vBEqEZ0H0
よろしくお願いします

下記の二つの関数、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
);
0997デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
垢版 |
2021/11/10(水) 12:24:11.84ID:KxrU4/8D0
>>989
関数やブロックはプロパティを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先生のご指摘を血肉にされるといいでしょう
1000デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
垢版 |
2021/11/10(水) 17:31:05.10ID:KxrU4/8D0
closer != function
closer == function + environment.information

JSで説明されてるクロージャーは
関数、関数の内部情報、外部参照ポインタのセット
っていう大まかな理解でいいと思います

function f(){let a;}の場合、
関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー
ちょっと大まかすぎますか?

返される無名関数はクロージャーの仕組みを
コードで理解するために多用されているために
それ自体をクロージャーと認識する人も多いでしょう

また関数内プロパティは外部から直接アクセスできないので
外部からクローズになっているという意味で
関数自体をクロージャーといっていたり
外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう


次スレで先生方からアドバイスいただけますといいですね
私も心待ちにしています

>>999様、ありがとうございます
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1682日 18時間 0分 27秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況