JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
探検
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10951デフォルトの名無しさん (ワッチョイ b74e-U/wz [210.138.216.243])
2021/10/20(水) 03:28:52.56ID:g1WESx5+0 次スレ立てる義務を果たしたら答えてあげる
952デフォルトの名無しさん (ワッチョイ b749-qebH [114.160.215.18])
2021/10/20(水) 10:49:03.56ID:Y4tLRZgw0 PHPスレとのマルチやん
953デフォルトの名無しさん (ワッチョイ f502-WU2P [106.156.74.236])
2021/10/22(金) 10:33:33.27ID:qGJ2lg5d0 jqueryなんですが
jqXHRオブジェクトから逆算してクエリ文字列を得る方法ってありませんか?
var a = $("index[name=hoge]");
a.xxxx()= → "index[name=hoge]" みたいな関数とかプラグインとか
jqXHRオブジェクトから逆算してクエリ文字列を得る方法ってありませんか?
var a = $("index[name=hoge]");
a.xxxx()= → "index[name=hoge]" みたいな関数とかプラグインとか
954デフォルトの名無しさん (ワッチョイ 1d01-xD/y [126.243.28.128])
2021/10/22(金) 13:52:34.02ID:D6Qp5iob0 >>953
ない
ない
955デフォルトの名無しさん (ワッチョイ e54e-rXG9 [210.138.216.243])
2021/10/22(金) 16:50:13.59ID:5KYadqzO0956デフォルトの名無しさん (ワッチョイ 1d01-xD/y [126.243.28.128])
2021/10/23(土) 06:37:42.27ID:k4puVD/c0957デフォルトの名無しさん (ワッチョイ 1d01-7Ax+ [126.159.224.31])
2021/10/25(月) 21:08:09.07ID:r2R6qwLM0 >>953
やはり、放置か
やはり、放置か
958デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/30(土) 07:24:51.67ID:1pYlSmze0 >>948
JSの型には、String Number Boolean Null undefined Symbolなどの他、Objyectがあります
プリミティブでない型は全てObject型です
Objectの例は
let o={};
let a=[];
let f=function(){}
function f(){}
などがあります
JSの型には、String Number Boolean Null undefined Symbolなどの他、Objyectがあります
プリミティブでない型は全てObject型です
Objectの例は
let o={};
let a=[];
let f=function(){}
function f(){}
などがあります
959デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/30(土) 10:09:55.72ID:1pYlSmze0 >>948
あと、オブジェクトという意味合いは結構あいまいです
JSではプリミティブはそれ自体に関数やパラメータなどを保持しません
ObjectはObject()の派生ですので関数やパラメータを持ちます
型という意味合いでは、typeof でObject型なのか判定できますのでお試しを
オブジェクトを目的物、対象物という表現でとらえれば
文字や数字も、扱う対象物として、オブジェクトと表現できますが
型としの意味合い(始祖Object()を継承してるか)なのか
対象物という意味合いなのか、混乱したときには整理してみるといいかもです
あと、オブジェクトという意味合いは結構あいまいです
JSではプリミティブはそれ自体に関数やパラメータなどを保持しません
ObjectはObject()の派生ですので関数やパラメータを持ちます
型という意味合いでは、typeof でObject型なのか判定できますのでお試しを
オブジェクトを目的物、対象物という表現でとらえれば
文字や数字も、扱う対象物として、オブジェクトと表現できますが
型としの意味合い(始祖Object()を継承してるか)なのか
対象物という意味合いなのか、混乱したときには整理してみるといいかもです
960デフォルトの名無しさん (ワッチョイ 9302-BvZE [106.156.74.236])
2021/10/30(土) 10:14:21.41ID:3mlVFK4h0 オブイェークト
961デフォルトの名無しさん (ワッチョイ 17ad-Q+wr [110.132.110.81])
2021/10/30(土) 10:46:44.64ID:3QCmGqxi0 なんかまた新しいものが出てきたのかと思った
962デフォルトの名無しさん (ワッチョイ 4b4e-twJP [210.138.216.243])
2021/10/30(土) 10:50:46.34ID:5VdQtJkF0 ほら泣くぞ
963デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43])
2021/10/30(土) 11:05:17.84ID:H0dMqvNA0964デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78])
2021/10/30(土) 12:45:13.50ID:zzEdTkV90 アロ関とthisが分かりにくい。
全部バインドしとけばいいの?
全部バインドしとけばいいの?
965デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43])
2021/10/30(土) 12:56:38.70ID:H0dMqvNA0966デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78])
2021/10/30(土) 22:52:40.11ID:zzEdTkV90 >>965
thisだけでなくselfをもっと活用すればいいのでしょうか?
thisだけでなくselfをもっと活用すればいいのでしょうか?
967デフォルトの名無しさん (ワッチョイ 775f-HN+8 [14.11.194.224])
2021/10/30(土) 22:56:14.00ID:8E+HWsPL0 そもそも典型的な場面を除いてthisを多用しない
968デフォルトの名無しさん (ワッチョイ 9302-BvZE [106.156.74.236])
2021/10/30(土) 23:44:50.08ID:3mlVFK4h0 またおまえか
ストーカーかよ
いい加減にしろ
ストーカーかよ
いい加減にしろ
969デフォルトの名無しさん (ワッチョイ 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()は自作関数だと思いますかが、
どんな関数になるのか教えて下さい。
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()は自作関数だと思いますかが、
どんな関数になるのか教えて下さい。
970デフォルトの名無しさん (ブーイモ MM43-8RSS [202.214.167.80])
2021/10/31(日) 03:14:18.94ID:s/NdT1yMM <input id="address">
function get_input(){
return document.querySelector("#address").value
}
function get_input(){
return document.querySelector("#address").value
}
971デフォルトの名無しさん (ワッチョイ 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のような名前で保存すればよいですか?
こんな深夜にありがとうございます。
ただ、すみません、
Uncaught ReferenceError: document is not defined
というエラーが出ました。
このdocumentというのはどのように定義したらよいですか?
あと、
<input id="address">
は同じフォルダにindex.htmlのような名前で保存すればよいですか?
972デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 07:37:28.36ID:CEq1n28F0 >>969
var input;
do{
input=get_input();
}while(inputIsNotValid(input));
function get_input(){
return confirm('input!');
}
function inputIsNotValid(input){
return !input;
}
var input;
do{
input=get_input();
}while(inputIsNotValid(input));
function get_input(){
return confirm('input!');
}
function inputIsNotValid(input){
return !input;
}
973デフォルトの名無しさん (ワッチョイ 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の適否をどう判定しているのかは問いません、ということです
このようなコードを見たときには、関数名で働きが説明できている、という前提ですので
関数名をよく読んで、戻り値を推測して読んでください
サンプルコードは、
inpu=get_input() // 入力されたものをinputに代入する
do-whileは、inputIsNotValid()関数の戻り値がtrueの時に繰り返す
inputIsNotVarid()は、入力されたinput値が不適切の時にtrueを返す
という内容を説明しています
get_input()がどのような入力になるのか
inputInNotValid()で、inputの適否をどう判定しているのかは問いません、ということです
このようなコードを見たときには、関数名で働きが説明できている、という前提ですので
関数名をよく読んで、戻り値を推測して読んでください
974デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 07:53:36.67ID:CEq1n28F0975デフォルトの名無しさん (ワッチョイ 775f-HN+8 [14.11.194.224])
2021/10/31(日) 07:58:15.87ID:tih+/c060976デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 08:40:51.23ID:CEq1n28F0 45億年もの長きにわたり僅かな変化を積み重ねた塩基配列の微妙なズレと
あなたと私の養育環境における、例えば接種してきたたんぱく質や食物繊維の種類や量
照射された日照量や、退社した細胞数の数、知り合った女性や先生が持つ遺伝子配列とのずれとの調和
そのような本当に些細な差が、promptなのかconfirmなのかを決したのだと思います
そこには完全な正解はないのかもしれませんが、バリデーションチェックという意味ではpromptで説明すべきかもしれません
あなたと私の養育環境における、例えば接種してきたたんぱく質や食物繊維の種類や量
照射された日照量や、退社した細胞数の数、知り合った女性や先生が持つ遺伝子配列とのずれとの調和
そのような本当に些細な差が、promptなのかconfirmなのかを決したのだと思います
そこには完全な正解はないのかもしれませんが、バリデーションチェックという意味ではpromptで説明すべきかもしれません
977デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43])
2021/10/31(日) 09:24:41.87ID:hyBzQr2G0978デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.243.172.43])
2021/10/31(日) 09:26:03.48ID:hyBzQr2G0979デフォルトの名無しさん (ワッチョイ d661-rbIv [153.216.140.77])
2021/10/31(日) 12:03:01.70ID:stUnlaEn0 >>971
documentがないってブラウザ以外の実行環境なの?
documentがないってブラウザ以外の実行環境なの?
980デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 12:05:17.37ID:CEq1n28F0981デフォルトの名無しさん (ワッチョイ d6b5-rbIv [153.136.126.167])
2021/10/31(日) 21:44:03.28ID:XZxuOuys0982デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 21:59:13.71ID:CEq1n28F0983デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/10/31(日) 22:09:03.92ID:CEq1n28F0 >>981
982の「疑問」=>「疑問や違和感」に訂正です
982の「疑問」=>「疑問や違和感」に訂正です
984デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78])
2021/11/01(月) 09:39:09.34ID:i0IYe4C60 アロ関は世界を救う。
985デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78])
2021/11/01(月) 09:56:32.75ID:i0IYe4C60 アロ関十段ここに極まる。
986デフォルトの名無しさん (ワッチョイ 52f0-rbIv [61.205.223.183])
2021/11/01(月) 10:30:03.91ID:Oy+9EmbD0987デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65])
2021/11/03(水) 17:47:47.22ID:mbwPounm0 .>>1000
そうだな、お前みたいな破廉恥極まりないやつを極刑にできないなんてな
そうだな、お前みたいな破廉恥極まりないやつを極刑にできないなんてな
988デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.224.146.69])
2021/11/03(水) 17:55:09.21ID:KPYiFv2L0 >>987
先(>1000)をみる前に現在を見つめては
先(>1000)をみる前に現在を見つめては
989デフォルトの名無しさん (ワッチョイ 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
);
下記の二つの関数、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
);
990デフォルトの名無しさん (テテンテンテン MM4f-hQZx [133.106.48.148])
2021/11/09(火) 18:14:06.92ID:M98uPrZkM 仕様通りとしか
c1のcはc1が呼び出される度に定義されるからカウント不可
そもそも上のコードでc1は1回しか呼び出されていないし
c1のcはc1が呼び出される度に定義されるからカウント不可
そもそも上のコードでc1は1回しか呼び出されていないし
991デフォルトの名無しさん (ワッチョイ ff02-H2rd [119.106.222.232])
2021/11/09(火) 18:42:53.53ID:/KO0GJnF0 c2の中のfunctionの中で書いてないけどcが定義されて、呼び出されるごとにそのcがインクリメントされているような挙動。
992デフォルトの名無しさん (ワッチョイ 5f01-lK5T [126.243.174.47])
2021/11/09(火) 20:03:23.50ID:zgMlwp7I0993デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243])
2021/11/09(火) 20:54:12.85ID:qOqV7S2Y0 そもそもc1一回しか呼び出してないけどな
994デフォルトの名無しさん (ブーイモ MMa3-8Kye [202.214.125.68])
2021/11/09(火) 21:10:09.46ID:JS6FzrkbM カウンタを初期化する部分を繰り返し呼び出す関数の外に出してやればいい
let c=0;
function c1(){
return c++;
}
let c=0;
function c1(){
return c++;
}
995デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/09(火) 22:41:36.85ID:RTTrqb1f0 >>990はレキシカルを理解してるなら
s1とs2のレキシカルが違うことをだな
s1とs2のレキシカルが違うことをだな
996デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/10(水) 12:09:40.50ID:KxrU4/8D0 うむ
997デフォルトの名無しさん (ワッチョイ 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先生のご指摘を血肉にされるといいでしょう
関数やブロックはプロパティを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先生のご指摘を血肉にされるといいでしょう
998デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243])
2021/11/10(水) 13:11:24.52ID:ABhSQgxq0 ところでクロージャーって用語の使い方について質問があるんだけどc2自体をクロージャーって言うのかc2が返してる無名関数をクロージャーって言うのかどっちが正しいの?
999デフォルトの名無しさん (ワッチョイ 7f52-hQZx [61.87.108.223])
2021/11/10(水) 15:30:26.98ID:jxD2VXPG01000デフォルトの名無しさん (ワッチョイ 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様、ありがとうございます
closer == function + environment.information
JSで説明されてるクロージャーは
関数、関数の内部情報、外部参照ポインタのセット
っていう大まかな理解でいいと思います
function f(){let a;}の場合、
関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー
ちょっと大まかすぎますか?
返される無名関数はクロージャーの仕組みを
コードで理解するために多用されているために
それ自体をクロージャーと認識する人も多いでしょう
また関数内プロパティは外部から直接アクセスできないので
外部からクローズになっているという意味で
関数自体をクロージャーといっていたり
外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう
次スレで先生方からアドバイスいただけますといいですね
私も心待ちにしています
>>999様、ありがとうございます
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1682日 18時間 0分 27秒
新しいスレッドを立ててください。
life time: 1682日 18時間 0分 27秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 中国とのパイプ役がいない高市政権、実施詰みか [668970678]
- 【画像】セクシー女優・天沢りんさん「お休み頂いてた半年間でこんな体になりました🪽🤍」👉予想通りの展開に [242521385]
