+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
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
83デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 13:36:33.55ID:adnCRUw60
もう一つ質問です。
JSは通信に関する制限があるようですが、
オフラインで動作するデスクトップアプリに近いようなもの(ブラウザで動いても良い)を
作ったとして、それも通信が制限されますか?
2019/05/04(土) 14:08:37.00ID:cfO7GTAv0
JSはIOも持たないスクリプト言語だからそれだけでは何もできない
何ができるかはどんな外部APIが与えられてるかによる
2019/05/04(土) 14:37:28.46ID:j+k4q4Y+0
>>82
ローカルでどうのこうのはnode.jsを調べてくれ
言語の問題じゃない
86デフォルトの名無しさん (ワッチョイ 1a94-7GOi [123.48.66.92])
垢版 |
2019/05/04(土) 15:21:23.82ID:adnCRUw60
質問し直します。

WEBブラウザ上で動作するJSはlocalhostとのHTTP通信ができますか?
その他どんな制限がありますか?
2019/05/04(土) 15:52:03.60ID:cfO7GTAv0
それはもちろんWebブラウザによる
これは意地悪で言ってるわけではなく本当にブラウザによってポリシーや機能は様々だから
気になるブラウザスレで聞いたほうが良い
88デフォルトの名無しさん (ワッチョイ 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にこれほど人気がある理由は何だと思いますか?
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製
2019/05/05(日) 02:10:00.63ID:VtQYfSta0
>>88
基本的に言語というのはどれでもいい。
大抵のことはどの言語でもできる。

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

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

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

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

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

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

まあ詳しくは、この板よりも、web 制作管理板のJavaScript スレの方で、聞いてください!
2019/05/05(日) 20:03:49.62ID:yGiei76k0
> Ruby, Python など、多くの言語では、ローカルファイルアクセスなどのライブラリも、
> 最初から、その言語の標準ライブラリに入っている

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

ブラウザのための言語だから当たり前ではあるが、
こういう点もJavaScriptでなければいけない理由になってる。
かつてはブラウザでRubyなどを動かそうという計画もあったんだ
2019/05/06(月) 08:25:29.89ID:r9zJcDQk0
連休最後でやっと自主学習できます。
よろしくお願いします。
値が入っている場合と、入っていない場合の判定なのですが

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

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

という真偽判定で問題なく稼働しますか?
誤作動したりしないでしょうか?
94デフォルトの名無しさん (バッミングク MM77-36mh [122.25.157.189])
垢版 |
2019/05/06(月) 08:38:39.09ID:XhX25YODM
web作成板に行きなボーイ
2019/05/07(火) 17:11:26.08ID:bWNU7R7F0
>>89
> JSの実行環境には主に、ブラウザ・Node.js の2つがある

cscript さんの存在も
たまには思い出してください


えっ
古くさくて誰も顧みない?
2019/05/07(火) 17:45:56.58ID:bWNU7R7F0
hta: ボクはブラウザ上で実行される環境だけど、知名度ほとんどないし、まれに出て来てもウィルス扱いだよぉ
2019/05/08(水) 23:28:03.48ID:PvsGTftQ0
>>93
> という真偽判定で問題なく稼働しますか?
> 誤作動したりしないでしょうか?

0とかをどう扱う仕様かによるかと
https://developer.mozilla.org/ja/docs/Glossary/Falsy
とか見るとよいかも
2019/05/12(日) 13:25:33.21ID:4nx2To9cr
ム板にspreadsheetのスレって無いんだな
2019/05/16(木) 00:32:29.55ID:tjD61nda0
だれだよ Web 管理制作板へ誘導した奴

マウントばっかりしてマトモに回答しないクズの巣じゃねえか
知恵袋へ誘導した方がまだマシというか、知恵袋だと運営に通報されてBANだろアレ
2019/05/16(木) 06:56:43.56ID:s5lihM+Nr
jsスレは質問者が酷いからまともに回答する人はほぼいなくなった
101デフォルトの名無しさん (ワッチョイ 1f01-jPo7 [221.91.136.7])
垢版 |
2019/05/16(木) 09:28:35.68ID:+WwLqBdS0
うるせえteratailでも行ってろ!
2019/05/16(木) 11:09:06.27ID:tjD61nda0
質問者に「それだけでは返答できない」と確認を促し
答えたら「1行返答」とかいうのがマトモな回答?
2019/05/16(木) 12:06:09.08ID:BUJhrwgQ0
この板のJS スレは、本来の場所じゃない。
web制作管理板のスレが荒らされて、この板に緊急避難しただけ!
もうこの板には、住民はいない

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

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

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

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

とにかく、荒らしと会話しないこと。
荒らしに反応すると、ずっと居座るだけ
2019/05/16(木) 12:23:00.17ID:s5lihM+Nr
>>102
https://mevius.5ch.net/test/read.cgi/hp/1555750241/829 のことかな
使うか使わないかのYes/No質問だしおかしくはないと思うけど
2019/05/16(木) 12:37:50.39ID:M/ddkVVC0
>>102

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

こういう感じなw

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

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

お前みたいな害悪野郎に書き込んでほしくないんだよ
2019/05/17(金) 12:44:41.69ID:5yXwvpw50
あんな奴が許容されがちだから「コミュニケーション能力のある人」が求められるんだよ。

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

しかし、そもそも相手に補足情報を要求しておいてアレは無い。
一般的に、「過去の状況・現在の状況・将来の見通し」くらいの返答は、社会通念上、期待される範囲。
まして相手に補足情報を要求した以上、自身も「当然期待されているであろう」返答を返すべきだよ、社会通念上。
109デフォルトの名無しさん (ワッチョイ 1f01-jPo7 [221.91.136.7])
垢版 |
2019/05/17(金) 17:00:32.07ID:iNSpWQN90
>>107
必死チェッカーで反撃した気分になってるのカ・ワ・イ・イ♥
2019/05/17(金) 20:11:06.84ID:5yXwvpw50
「人を憎んで罪を憎まず」ってことだからな
2019/05/17(金) 20:57:13.33ID:r1fGMmwur
>>108
社会常識を問うなら、質問者にもそれなりの社会常識があるべき
https://mevius.5ch.net/test/read.cgi/hp/1555750241/833 は新たな「さすがに」を生み出しいるだけで何の返答にもなっていない
端的な質問に端的な回答を返されるのは自業自得
2019/05/18(土) 00:07:55.85ID:ZrO4zGTX0
…生産性ゼロの発言して楽しい?
2019/05/18(土) 20:58:10.90ID:3xvYFUWfF
生産性を考えるなんてつまらないことだよ
2019/05/18(土) 21:04:18.33ID:ZrO4zGTX0
RFC1149(イヤナンデモナイ
2019/05/19(日) 15:21:39.30ID:dLV4jWSc0
>>93
> 値が入っている場合と、入っていない場合の判定

http://blog.tojiru.net/article/205007468.html
そのまんまなページだな…コレで「不足ある」って気付いた人が居たら教えていただきたいものだわね
2019/05/19(日) 15:37:44.32ID:dLV4jWSc0
可読性に関しては void 0 ってCのキャストっぽくて分かりやすいかもしんない
2019/05/19(日) 18:24:38.02ID:jyVnriUQ0
ははっ。 2011年の記事じゃん。void 0 とかもはや過去のもの
undefinedとの比較はundefinedと比較すればいい。
void 0とか使わんでいいよ
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%オレオレコードなら問題ないだろう
2019/05/20(月) 03:49:09.84ID:g68Ac+XT0
バカがいるとしたら、バカに気づくことが重要なのであってバカを隠すことではない

お前は、undefinedを変更するコードがあったとして、
そんなコードが入ってるものを安心して使えるか?
2019/05/20(月) 17:17:31.88ID:VU00A0n20
>>119
100%オレオレコードだったり、その部分を書き換えても問題ないのであれば
「書かない」「書き換える」はアリでしょ
121デフォルトの名無しさん (ワッチョイ 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)に関数を代入をしてるんですか?

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

お願いします
2019/05/24(金) 22:58:59.71ID:iaDShfK2a
>>121
理屈も覚えるべきだろう
https://www.google.com/search?q=onclick+%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0+addeventlistener+%E6%8B%AC%E5%BC%A7+-site%3Asejuku.net
2019/05/25(土) 07:47:58.32ID:FkX8hFOL0
>>122
ありがとうございます。

初学本を終えた段階でコールバック関数について全く知りませんでした

詳しく読んでみます
2019/05/25(土) 13:07:15.19ID:yzyBLtFl0
>>121
無名関数のことかしら

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

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

あたりが方針としてベターだと思う
Hoisting とかクソでしょ
2019/05/25(土) 13:09:46.07ID:yzyBLtFl0
foobar.onclick = function ...

とあったら「ああ、無名関数のことね」でスルーしてよし、と
2019/05/25(土) 20:19:18.66ID:3c9sJ6MS0
ホイスティングがクソという理由を述べよ
いいじゃんKOOLな機能だと思うけど?
なんでクラスはホイスティングされないんだろうなあ
2019/05/25(土) 22:17:01.85ID:XvQPNj6a0
>>124
どこからvarがでてきた?
それにどこにも無名関数のことなど書かれていてないようだが…
128デフォルトの名無しさん (バッミングク MM0b-BvJo [125.200.124.12])
垢版 |
2019/05/26(日) 15:33:48.96ID:W10tX16pM
俺は女が買いたいんだ!おっぱいおっぱい!
129デフォルトの名無しさん (ワッチョイ 2901-9b2Z [126.159.210.9])
垢版 |
2019/05/26(日) 15:44:40.60ID:l5IzIEQ20
Javascriptはウェブ板へって書いてあるのにな。
2019/05/27(月) 13:26:21.97ID:BM/UqAnC0
>>129
あっちの現状を分かっていて、その上で敢えて発言しているのかしらん
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です
2019/05/31(金) 00:22:15.26ID:Cb7G0CcH0
パソコンはMacでosはMojaveです

お願いしますm(__)m
2019/06/01(土) 02:55:40.47ID:Xek9EwMI0
console.log("Hello, world!");

は動くんだろうな?
2019/06/02(日) 01:02:45.52ID:4INaUA9H0
>>133
chromeを開いて最初のページ(chromeのホームページ?)上でデベロッパーツールからコンソールを開いて
そこにjavascriptの関数や文を直接コピペしていたらエラーが出て
それからそのページでコンソールを開くとエラーが表示されるようになりましたが
ただ、別のページでコンソールを開くとエラーの表示は出ません
今はchromeを開いてGoogle.co.jpに移動してそこでコンソールを開いて使ってます

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

スレの趣旨と違うのでこの質問はこれでやめますm(._.)m
2019/06/02(日) 02:50:58.82ID:Ajv++wtF0
とるあえず閲覧履歴全削除でキャッシュクリア
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>

が動くかどうか、だけの問題なのに
2019/06/02(日) 08:04:05.86ID:zfmIH2Wv0
コレなら charset=us-ascii でも行けるか
2019/06/03(月) 00:03:05.29ID:gVwmYwdG0
>>135
履歴を消したりアンインストールしてもダメでした

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

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


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

ありがとうございました。いざとなったらパソコンを初期化します
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>

とか書くぶんには問題ないんじゃね
2019/06/06(木) 09:28:33.44ID:7PasqtOL
テスト
2019/06/06(木) 09:30:48.54ID:7PasqtOL
1クリックで文字をコピーできるプログラムを作りたいのですが、Androidでしか動かないプログラム、iOSでしか動かないプログラムがあります
どうにか共通化させたいのですが、教えて頂けないでしょうか
https://dotup.org/uploda/dotup.org1865674.txt
2019/06/06(木) 10:36:50.66ID:fXMCZ+fj0
共通化しなくていいやん
2019/06/06(木) 11:53:32.33ID:l8NOJW7w0
iOS用の方でaddRangeする前にremoveAllRangesする
2019/06/06(木) 15:32:42.95ID:7PasqtOL
教えて頂いたとおり、window.getSelection().removeAllRanges();を追加したらAndroid iOSどちらでも動きました!
ありがとうございます!
145デフォルトの名無しさん (ワッチョイ daa7-hHHL [153.181.201.128])
垢版 |
2019/06/06(木) 16:11:09.57ID:LQgeHIgB0
いいってことよ(´・ω・`)
2019/06/06(木) 17:33:16.19ID:Qxsak61t0
>>138
トップページでコンソールを開くと、エラーになるのは、
例えば、回線が遅くて、Ajax で読み込むデータが、まだ到着していないとか?

例えば、5ch を開いても、広告の読み込みでエラーになることもある
2019/06/06(木) 20:20:12.65ID:vks0COQh0
スピードダイヤルは普通のwebページじゃないから…
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( ) の違いは何なのでしょうか?(後者は関数なのはわかるのですが、かっこ無しの場合がわからずでして)

よろしくお願いします。
2019/06/11(火) 18:52:05.71ID:6xCanE8hr
>>148
悪いが、なぜobj.testに代入が許されないと思っているのか、理解出来ない

var obj = {};
obj.test = 1;
console.log(obj);

と何も変わらないと思うが、このコードも理解できない?
2019/06/11(火) 19:04:23.38ID:vib91KXZ0
>>149
ありがとうございます
すみません、ダメだと勝手に思っていました
実行してみたのですが、その場合はobjのオブジェクトとしてtestが登録?されるのですね

(2)の方は、左辺のobj.testのtestは変数で、右辺のtestがfunction test() ということで、
(2)は obj = {test : function test( )} になったということですか?
2019/06/11(火) 19:59:25.40ID:/ckGx9mb0
>>148
const func = test;
const ret = test();

console.log(typeof func);
console.log(typeof ret);

の結果を読むと参考になるかもしんない
2019/06/11(火) 20:19:37.39ID:/ckGx9mb0
"this" の挙動で悩ましい・悩ましかった部分については

var self = this

でググると色々分かるとおもう
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
横着して、基礎を疎かなままに、入門している印象がある
2019/06/12(水) 12:30:14.19ID:vXZu8+ru0
便乗質問なんだけど、一般論として

const obj = {};
obj.test = 1;

とか書いたとき、

・前者は「オブジェクト初期化子」と呼ばれる
・後者は「プロパティ」を新たに定義して、値を結び付けている

という理解でok?
2019/06/12(水) 12:47:51.89ID:0T71Qniwr
>>154
概ね、その理解でいいかと
呼び名に関しては、アクセサ、ドット記法、ブラケット記法などあるが
https://tc39.es/ecma262/#sec-property-accessors
2019/06/12(水) 13:13:57.48ID:vXZu8+ru0
>>155
ご返答ありがとうございます。

ちなみに

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

これって、Cの構造体とか、C++ / Java のクラス定義からのインスタンス生成あたりが念頭にある気がするんですけど
気のせいですかねえ…。
2019/06/12(水) 13:34:09.25ID:vXZu8+ru0
https://paiza.io/projects/XNcmQ1UsoTrp11cEdW7nYQ

これでいきなり p.test = 1; とか書いたらコンパイルエラーになるっしょ
2019/06/12(水) 22:43:10.82ID:u6W2+u+x0
違う言語だもの
2019/06/12(水) 23:06:46.69ID:BQdPzZx+0
>>148
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?

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

この一連の流れ、ちゃんと読んでる?
質問者の自然な感覚としては obj.test が許される理由が分からんと言ってるんだよ
「そういう考え方が何故出て来るのか」って話だよ
2019/06/13(木) 10:04:10.06ID:BF3Tm3uUd
javascriptは何でもありだからなあ。
161デフォルトの名無しさん (ワッチョイ 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ではスクロール量を変化させない」という方法で出来ないかとやってみたのですがうまくいきませんでした。
2019/06/20(木) 07:18:00.12ID:So5aQwHx0
>>154
var obj = { };
obj.test = 1;

これは、Singleton

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

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

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

var obj_2 = { test: 1 };

>>161
この板よりも、web制作管理板のスレの方へ、書き込んで!
この板のスレは、向こうのスレを荒らされて、緊急避難用に作っただけなので、見てる人が少ないから
2019/06/20(木) 07:33:26.10ID:A8TT12fta
>>162
>>156で解決済
向こうは荒れてるから、こちらで質問されても全く問題ない
2019/06/21(金) 00:50:19.10ID:h1wQF7Na0
test
2019/06/21(金) 00:53:12.91ID:CWdRTwZC0
za
166デフォルトの名無しさん (ワッチョイ 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);
}
2019/06/26(水) 00:38:45.47ID:OukDf0at0
>>166
色々言いたいことはあるけど

>function(i,j){
> F1(i,stage);
>})(stage*2,stage)
即時実行してるから当然の結果

ちゃんと渡し方があるから↓読んで
setTimeout(function,delay,stage*2,stage);
https://developer.mozilla.org/ja/docs/Web/API/WindowTimers/setTimeout
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);
169166 (ワッチョイ 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);
にしたら動きましたー
単なる構文間違いですね…
2019/06/27(木) 09:21:42.75ID:fQHO+2au0
>>169
せめて document.write 使うのは止めよう

https://jsbin.com/bupupay/edit?html,js,output
たとえばこんな感じ(これも、innerHTML 使ってる上にサニタイズしてないから、本来はあんまり良くない)
2019/06/27(木) 10:12:39.75ID:fQHO+2au0
https://jsbin.com/sakuwif/edit?html,js,output

「サニタイズ」とか意識しなくて良く、また、都度で <div> を入れているので <br> 不要なのがコレ
2019/06/27(木) 20:38:38.32ID:LMazrfctd
document.write なんて何年ぶりに見たかな。
タイムスリップしてきたのかよ。
2019/06/30(日) 10:29:23.95ID:fZGHIByLa
>>171
> setTimeout(function(i, j){
>  F1(i, stage);
> }, 1000, stage*2, stage);
どう見ても無名関数式が無駄と思うが、無名関数式を使うべき理由があるだろうか
https://jsfiddle.net/gc0f8ev5/

汎用性を上げるならこう
https://jsfiddle.net/cyuLj0qg/
2019/06/30(日) 13:53:46.21ID:THYklFdH0
>>169 までの流れを見ると end 即時表示希望にみえる
end 表示まで1秒かかってません?
2019/06/30(日) 13:59:18.64ID:THYklFdH0
あと const とか使うなら

variableName + ' = ' + i * multiple

`${variableName} = ${i * multiple}`

とか
2019/06/30(日) 14:58:27.84ID:KLBxkGT0a
他人に指摘する前に質問に答えるのが先と思うのだが

>>174
修正した。
https://jsfiddle.net/6gj37qvr/

>>175
Polyfillで吸収不可能なIE11非対応機能は使用していない
2019/06/30(日) 15:02:36.29ID:THYklFdH0
>>176
元質問者のコードから document.write 消しただけだが?
わたしゃ知らんがな
2019/06/30(日) 15:12:50.60ID:1phNYyF+a
>>177
質問者のコードは即時関数で>>169が無名関数式を使用したように読めるが…

あと、他人に指摘はするが、自分に指摘されたら「知らんがな」はあまりにも誠意がない
より良いコードを追求するが故の改善案と認識していたが、あなたには違う目的があるのかもしれないと思い始めてる
Web制作板の「ワッチョイ **8f」と同じ人ならいうだけ無駄かもしれんが
2019/06/30(日) 15:16:59.04ID:Xr7FFEwba
× 質問者のコードは即時関数で>>169が無名関数式を使用したように読めるが…
〇 質問者のコードは即時関数で>>170が無名関数式を使用したように読めるが…
2019/06/30(日) 16:36:21.06ID:THYklFdH0
逆引きすると eaccess
2019/07/01(月) 00:35:59.51ID:EBI1AAR2r
165.82.91.58.in-addr.arpa name = p117165-ipngn4601funabasi.chiba.ocn.ne.jp.

inetnum: 58.88.0.0 - 58.95.255.255
netname: OCN
descr: NTT Communications Corporation
descr: OTEMACHI PLACE WEST TOWER 2-3-1 Otemachi Chiyoda-ku,Tokyo 100-8019 Japan
2019/07/05(金) 18:33:03.43ID:RUF6TsjL0
上から目線だった割にダンマリか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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