[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
19: デフォルトの名無しさん (ワッチョイ 6b2c-O3lh [180.52.202.152]) [sage] 2022/08/19(金) 12:26:38.67 ID:l81SyMmZ0(1) AAS
jQuery の質問は、web制作管理板の方へ書き込んでください
確か、jQueryのスレがあったと思う。
無ければ、JavaScript のスレへ
20: デフォルトの名無しさん (ワッチョイ ef02-Gxju [175.108.193.88]) [sage] 2022/08/19(金) 13:26:53.16 ID:v8JNzl630(1) AAS
japascriptは難しい。
初心者はまずはRubyから始めること
そしてRuby on Railsを習得する
javascriptyとjQueryはその後で良い。
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
↓
Ruby 初心者スレッド Part 67
2chスレ:tech
21(1): デフォルトの名無しさん (ワッチョイ 6b10-vj0F [180.12.82.129]) [] 2022/08/19(金) 18:14:31.50 ID:KbHvsoqL0(1/2) AAS
clickのタイミングについて
<input type="button" value="クリック" id="bt">
let aaa=0;
setInterval(
function(){
aaa=100;aaa=200;aaa=300;aaa=400;aaa=500;
},0
);
document.getElementById("bt").addEventListener(
"click",
function(e){alert(aaa);}
);
何回クリックしても500と表示されるけど500以外が表示されることはないんでしょうか?
aaaが200のときにクリックが割り込むとかはないんですか?
22(1): デフォルトの名無しさん (ワッチョイ cb01-6z5t [60.74.210.62]) [] 2022/08/19(金) 18:41:35.47 ID:hN4Icouo0(1) AAS
>>21
タイマー処理の関数呼び出しの途中でイベントハンドラが処理されることはない
23(1): デフォルトの名無しさん (ワッチョイ 6b10-vj0F [180.12.82.129]) [] 2022/08/19(金) 18:53:07.56 ID:KbHvsoqL0(2/2) AAS
>>22
どうもです
タイマー以外のfunctionでもfunctionの途中でイベントハンドラが呼び出されることはないってことですか?
24: デフォルトの名無しさん (ワッチョイ cb01-6z5t [60.74.223.30]) [] 2022/08/19(金) 21:41:37.23 ID:PiTy7UnQ0(1) AAS
JavaScriptは基本シングルスレッド
関数の実行途中に別の関数の処理が割り込んでくるようなことはない
25: デフォルトの名無しさん (ワッチョイ cb01-7Kul [60.87.221.16]) [sage] 2022/08/19(金) 23:29:36.47 ID:icsyH/kW0(1) AAS
>>23
非同期処理が混在していなければ、ない
26(1): デフォルトの名無しさん (ワッチョイ 75b1-GYjw [118.105.228.94]) [sage] 2022/08/20(土) 10:52:07.09 ID:y/gx0kbE0(1/2) AAS
Wan、Lanどちらからもアクセス可能なWebサーバーで
アクセス元がどっちなのかを判断する方法はありますか?
27: デフォルトの名無しさん (ワッチョイ 2301-cac/ [219.204.123.70]) [sage] 2022/08/20(土) 11:45:31.91 ID:ThG9yriU0(1) AAS
>>26
送信元アドレス見ればよくね?
28: デフォルトの名無しさん (ワッチョイ 75e5-s78Y [118.4.80.52]) [] 2022/08/20(土) 12:02:01.28 ID:tDO3e6hW0(1) AAS
サーバーで判断すべきだろう
クライアントで知りたいならサーバーに聞けばいい
29: デフォルトの名無しさん (ワッチョイ 75b1-GYjw [118.105.228.94]) [sage] 2022/08/20(土) 12:48:23.28 ID:y/gx0kbE0(2/2) AAS
確かにそうですよね
サーバー側で何とかしてみます
30(3): デフォルトの名無しさん (スップ Sd43-PAk+ [49.97.96.68]) [] 2022/08/21(日) 00:53:25.42 ID:aTZvlMved(1) AAS
ナンセンスな質問かもしれませんが、JavaScriptにおいて関数はデータ型としてオブジェクトであり、一方でオブジェクトはプロパティとメソッドの集まりであると説明されています。
関数とオブジェクトはどちらが先に定義されているのでしょうか?
31(1): デフォルトの名無しさん (ワッチョイ d501-Nnom [60.87.221.16]) [sage] 2022/08/21(日) 07:04:02.83 ID:D11cwWL50(1/2) AAS
>>30
「先に定義」とは、どのような意味?
32(1): デフォルトの名無しさん (スップ Sd03-PAk+ [1.66.101.132]) [] 2022/08/21(日) 10:31:51.96 ID:3ESrn3ezd(1) AAS
>>31
先に存在しているとか先に実装されている(?)というようなイメージです
33(1): デフォルトの名無しさん (ワッチョイ a37c-QAb4 [221.241.223.58]) [sage] 2022/08/21(日) 10:42:02.01 ID:KqCcLvyW0(1) AAS
>>30
定義が無限循環してると言いたいんだろうけど広辞苑にだってそういうのはあるし、関数ノットイコールメソッドと考えれば矛盾はしてない
たぶんオブジェクトが先だろうけどね
34(1): デフォルトの名無しさん (スップ Sd43-PAk+ [49.97.98.169]) [] 2022/08/21(日) 11:25:21.77 ID:df/SIE01d(1) AAS
>>33
ありがとうございます
もう少し調べてみると、 外部リンク[html]:tc39.es でTerms and Definitionsのところに、関数はオブジェクトであってプロパティの他に実行可能なコードと状態を持つもの、という感じのことが書かれてて、メソッドはオブジェクトのプロパティの値である関数のことと書かれていました
こちらの説明で一旦納得できました
35: デフォルトの名無しさん (アウアウウー Sad9-dbST [106.181.223.3]) [] 2022/08/21(日) 11:46:37.18 ID:j3ukytx2a(1) AAS
v8のソースでも読んでみれば
36: デフォルトの名無しさん (ブーイモ MM8b-mKyu [133.159.148.135]) [sage] 2022/08/21(日) 12:32:17.30 ID:IBDK1msSM(1) AAS
オブジェクトが先
オブジェクトはプロパティのコレクション
プロパティとはkey/valueのペアのこと
keyはStringでvalueはプリミティブかオブジェクト
37: デフォルトの名無しさん (ブーイモ MM8b-mKyu [133.159.149.74]) [sage] 2022/08/21(日) 12:39:55.73 ID:ZOLz03eMM(1) AAS
オブジェクトを定義するのにオブジェクトを使ったりStringという別のオブジェクト使えるの?
と疑問に思うのかもしれないけど
定義が存在する(名前解決可能である)ことを確認するフェーズと
定義の中身を検証するフェーズを分けることで可能
foo関数の中でbar関数を呼び出しつつ
bar関数の中でfoo関数を呼び出すような関数定義ができるのと同じこと
38(2): デフォルトの名無しさん (ワッチョイ d501-dbST [60.87.221.16]) [sage] 2022/08/21(日) 15:06:45.69 ID:D11cwWL50(2/2) AAS
>>32
「実装」というが、「仕様」上で両方とも存在しているなら、同時に「実装」されるのでは?
>>34
ES3には「オブジェクト」の定義はあるが、「関数」の定義はない
故に「歴史的にはオブジェクトが先に定義された」といえなくもないが、そんな回答を望んでいるようにも見えない
外部リンク[html]:www2u.biglobe.ne.jp
参考になるかわからないが、typeof演算子は「[[Call]] を持つObject型」の場合に "function" を返す
外部リンク:262.ecma-international.org
39(2): デフォルトの名無しさん (スップ Sdc3-JVFl [1.72.7.185]) [sage] 2022/09/02(金) 16:08:14.77 ID:anBQQFEld(1) AAS
ブックマークレットのスレッドかこちらか悩みましたが質問なのでこちらでご相談させていただきます。
他者のWebサイトを閲覧する際、JavaScriptを用いて作成されている場合、リンクを新しいタブで開けない場面があります。
頻繁にページを進んだり戻ったりする場面、可能であればリンク先を別タブで開くようにしたいです。
ブックマークレットを用いて、現在ページのJavaScriptのリンクを別タブで開くように書き換える処理をすることは可能でしょうか?
40(1): デフォルトの名無しさん (ワッチョイ a3b7-83Bc [211.124.165.35]) [sage] 2022/09/02(金) 16:38:05.47 ID:avuNeQJi0(1) AAS
>>39
そのサイト次第かな
クリックした後の画面を一発で開けるURLが用意されてたら基本的に実装できると思う
41(4): デフォルトの名無しさん (ワッチョイ a52d-bBdM [220.100.64.9]) [sage] 2022/09/03(土) 00:11:31.61 ID:8AM/s+hA0(1) AAS
連想配列から特定のキーを検索して、重複がないもののみ取り出した配列を取得したいのですが、
このコードだと速度的に問題がありました。何か良い方法があったら教えていただけないでしょうか
const a= [
{'id': 1, 'category': 'animal', 'kind': 'dog'},
{'id': 2, 'category': 'fruit', 'kind': 'apple'},
{'id': 3, 'category': 'fruit', 'kind': 'orange'},
{'id': 4, 'category': 'animal', 'kind': 'dog'},
{'id': 5, 'category': 'animal', 'kind': 'cat'},
{'id': 6, 'category': 'fruit', 'kind': 'grape'},
]
var b=a.filter((x,y,z)=>z.slice(0,z.length).filter(w=>w.kind==x.kind).length==1);
console.log(b);
42(1): デフォルトの名無しさん (ワッチョイ ad5f-wuTS [106.185.148.64]) [sage] 2022/09/03(土) 02:15:20.35 ID:Wm/0iruN0(1) AAS
>>41
const buckets = a.reduce((buckets, current) => {
if (!buckets[current.kind]) {
buckets[current.kind] = [current];
} else {
buckets[current.kind].push(current);
}
return buckets;
}, {});
const b = Object.values(buckets)
.filter((items) => items.length === 1)
.flat();
速度は測ってないけどたぶんO(n^2)→O(n)になって速いはず
43: デフォルトの名無しさん (スプッッ Sd03-5GnA [1.75.244.51]) [sage] 2022/09/03(土) 03:34:12.57 ID:E5gjC2rTd(1) AAS
Mapで似たようなこと考えてた
上下前次1-新書関写板覧索設栞歴
あと 959 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s