[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
831
(1): (アウアウウー Sab7-tdi0 [106.130.126.201]) 2023/05/23(火)20:39 ID:85f2/18wa(1) AAS
最近勉強してvarの何でもありな傍若無人さに気が付いた
例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入されるからエラーにならず混乱の素、
ブロックスコープ内で使うとその生成を無視するから混乱の素
なのでプロなのにES6以降の環境で未だにvar使ってる人って新人にも劣ると思った
ES6以降でEcmaから非推奨と言われてるのに未だにvar使わなければいけない理由ってある?
今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
832: (ワッチョイ fa5c-FIIW [203.139.52.200]) 2023/05/23(火)20:57 ID:PscArQu/0(1) AAS
キモ
833: (ブーイモ MM16-F7IQ [133.159.150.75]) 2023/05/23(火)22:34 ID:y7+F4Fx6M(1) AAS
>>831
>例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入される
これいろいろ間違ってる

>未だにvar使わなければいけない理由ってある?
REPLで繰り返しコードブロックを実行したい場合なんかにvar使う
あとはブラウザ以外の環境でES3しか動かない環境とかね

>今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
良いと思うけど君もそっち側に片足突っ込んでるから気をつけて
834: (ワッチョイ 9af0-FIIW [211.19.68.36]) 2023/05/24(水)10:07 ID:qaFXRxUx0(1) AAS
スコープの基本だね
レキシカルなのかパラメーターなのか
DOMをいじるとみんな参照になるし変数大切ね
835
(1): (ワッチョイ 23a7-xpLh [118.14.167.59]) 2023/05/24(水)10:45 ID:R9+x876F0(1) AAS
匿名イベントを削除する方法って無い?
ググりまくっても全く見当たらんから仕方ないのでElement.prototype.addEventListenerフックしてフィルタしてるんだけど非常に遠回りな事してる気がしてならない
836: (ブーイモ MM86-F7IQ [163.49.208.121]) 2023/05/24(水)11:04 ID:CrZEaXEyM(1) AAS
>>835
イベントリスナーへの参照を保持してないと
removeEventListenerは使えない
あとはAbortSignalを使う方法がある
MDNのaddEventListener辺りに全部書いてる
837
(1): (ワッチョイ 2b5f-i/qU [14.12.8.65]) 2023/05/25(木)06:53 ID:djzVD0JU0(1) AAS
くそ素人で申し訳ない
ブックマークレットでCookieを編集する時に有効期限も同時に編集したいのだけれど
どうしたらいいのだろうか

元々は
javascript:document.cookie=%22ipb_member_id=〇〇%22;document.cookie=%22ipb_pass_hash=〇〇%22;

って感じなのだけれど1日くらいしたらすぐ消えてしまう
838: (スップ Sd5a-9ehv [49.96.239.55]) 2023/05/25(木)11:10 ID:vvIauVZOd(1) AAS
どっかのRFCに載ってるはず
839
(1): (ササクッテロラ Sp8b-tLvz [126.182.17.102]) 2023/05/27(土)14:04 ID:MkhutBump(1) AAS
>>837

そいつは有効期限も一緒に設定しなきゃならんな。

javascript:(function(){
var date = new Date();
date.setDate(date.getDate() + 30); // 30日後に設定
document.cookie = "ipb_member_id=〇〇; expires=" + date.toUTCString() + "; path=/";
document.cookie = "ipb_pass_hash=〇〇; expires=" + date.toUTCString() + "; path=/";
})();

こんな感じでやってみ。
これでipb_member_idとipb_pass_hashが
省3
840: (ワッチョイ 375f-mp2X [106.72.33.97]) 2023/05/28(日)15:24 ID:n14WZ+eY0(1) AAS
documentのinnerHTMLやtextContentの書き換えをしたとき、ブラウザのDOMの計算(?)や再描画(?)は変更があった部分のみか、ページ全体で行われるののどちらでしょうか?
841: (ワッチョイ 975f-D91p [14.12.8.65]) 2023/05/28(日)23:28 ID:8mVMxOyu0(1) AAS
>>839
ありがとうまじ助かった
842: (ワッチョイ 975f-f/x0 [14.8.104.32]) 2023/05/29(月)06:35 ID:eVNfBOW80(1) AAS
CookieってPHPみたいなサーバーサイドから設定するのとJSから設定するのどっちが良いんかね?

同僚から受け継いだシステムはPHPでやってたが
843: (ワッチョイ 9f00-taKI [221.118.182.138 [上級国民]]) 2023/05/29(月)07:03 ID:nuFuFtG60(1) AAS
HttpOnlyの存在考えるとサーバーサイド一択じゃね?
844: (ワッチョイ ffbb-dfVX [217.178.27.244]) 2023/05/29(月)08:05 ID:7kZHwtIo0(1) AAS
ステートレスな通信を補助するものだから、処理の起点側でつけると良い
ただ、一般的にはサーバサイドになると思うよ
845
(1): (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]]) 2023/06/19(月)13:57 ID:iYcFBKEZ0(1/3) AAS
if ((a == b && c != d) || (e == f && g != h)){
alert ("正解");
}

こういうコードの書き方は出来ますか?
二重括弧の使い方は正しいでしょうか?
846: (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]]) 2023/06/19(月)14:42 ID:iYcFBKEZ0(2/3) AAS
ちょっと調べてたんですが、こうでしょうか?

if (((a == b) && (c != d)) || ((e == f) && (g != h))){
alert ("正解");
}

「a == bとc != dの条件が両方ともtrue」か「e == fとg != hの条件が両方ともtrue」なら"正解"と警告を表示したいのですが…
三重括弧なんてあります?
847: (ワッチョイ ff7b-0fSR [153.185.178.93]) 2023/06/19(月)14:49 ID:G503Uwj70(1) AAS
>>845で大丈夫やろ。
なんで試さんの?
848: (ワッチョイ ff61-gPkm [153.171.212.140]) 2023/06/19(月)14:54 ID:Glrukv1f0(1) AAS
演算子優先度の理解が追い付いて無いなら好きなだけ括弧使えばいい
849: (オッペケ Sr33-vDmN [126.157.241.160]) 2023/06/19(月)14:58 ID:3rS08iXar(1) AAS
何重カッコでもいけるけど演算子やカッコが増えると可読性が落ちて条件式を読み解くのが辛くなる
コードは長くなっても条件式をいくつかに分割して変数に入れた方が読みやすくなるよ

const x = (a == b) && (c != d)
const y = (e == f) && (g != h)
if(x || y){
alert ("正解");
}
とか
850: (ワッチョイ 5f4b-HhYS [110.2.215.28 [上級国民]]) 2023/06/19(月)15:02 ID:iYcFBKEZ0(3/3) AAS
皆さん、ありがとうございます
変数に入れるのがいいですね
やってみます
1-
あと 152 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.012s