[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
118
(1): デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133]) [sage] 2022/10/23(日) 16:44:23.51 ID:YzYXhWAT0(1) AAS
Can I use のサイトとか、npm のbrowserslist とか?
134: デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133]) [sage] 2022/10/25(火) 23:20:22.24 ID:RDzJGkEc0(1/2) AAS
JavaScript(JS)は、Ruby の数倍難しい

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、2017

例えば上の本は、サイの表紙のサイ本と呼ばれるけど、
これだけ勉強しても、文法しか学べない

改訂2版 Ruby逆引きハンドブック、2018

一方、サイ本と比べて、上の本は、多くの主要モジュールの使い方まで説明している。
大体のコーディングパターンまで学べる。
つまり中級者向けなのは、文法のページが少ないから

JSだと、ES3, ES5, ES6 の20年に及ぶ、膨大な文法の変遷を追っていかなければならない。
ES2015(ES6)から、ようやくクラスも出来て、Rubyっぽくなってきた

ちょっとした比較でも、あいまい比較演算子== は使ってはならない。
厳密比較演算子=== だけを使うとか、初心者がはまる罠が多い

学ぶ順序としては、Ruby → JS を勧める
135: デフォルトの名無しさん (ワッチョイ 3d4f-Y/ct [180.0.191.133]) [sage] 2022/10/25(火) 23:31:33.41 ID:RDzJGkEc0(2/2) AAS
>>131
131(2): デフォルトの名無しさん (スップ Sd03-w3aL [49.97.107.253]) [sage] 2022/10/25(火) 17:47:25.32 ID:dHKYynBEd(1) AAS
あまり複雑なことはせずに↓みたいなのではダメだろうか
外部リンク:jsfiddle.net

これではダメで、どうしても>>130のエラーを解消したいなら出ているエラーの内容ぐらいは書くようにしよう
では、callback 関数が呼ばれる前に、どちらの処理が呼ばれるか、既に分かっている状態でしょ。
直接引数に、呼ばれる処理を入れている

callfunction('huga');
callfunction('hage');

一方、>>130
130(2): デフォルトの名無しさん (ワッチョイ 3b01-SlLl [111.188.39.41]) [sage] 2022/10/25(火) 17:13:23.18 ID:jIOTtTPX0(2/2) AAS
すみません少し修正です

struct = [
 {hoge:huga, func:functionA},
 {hoge:hage, func:functionB}
]

callfunction(check){

 var gets = struct.find((v) => v.hoge === check).func;
 gets.run()←ここでAとBを使い分けて呼びたい
};

functionA = {}

functionA.run = function(){
~動かしたい処理A~
}

functionB = {}

functionB.run = function(){
~動かしたい処理B~
}
では、callback関数が呼ばれる前には、どちらの処理が呼ばれるか、まだ分からない状態。
callback関数の中で初めて、どちらの処理が呼ばれるかが決まる
198: デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133]) [sage] 2022/11/15(火) 09:45:28.64 ID:ott+UO1u0(1) AAS
該当する要素がない

start_btns = document.getElementsByClassName("player_start_button")
console.log( start_btns.length ) //=> 0

start_stop_btns = document.getElementsByClassName("start_stop_button_button")
console.log( start_stop_btns.length ) //=> 0
207
(2): デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133]) [sage] 2022/11/16(水) 03:25:10.60 ID:pSETlPcG0(1) AAS
CAN.onClick = function(){win1.close(); return; }
ではなく、

CAN.onClick = function(){win1.close()}
return;

上は、その無名関数から抜け出すだけで、
下は、全体の処理から抜け出す
214: デフォルトの名無しさん (ワッチョイ bd4f-FFna [180.0.191.133]) [sage] 2022/11/18(金) 09:19:55.63 ID:Wj1K/ZC10(1) AAS
a = "0px";
a = "200px";

a = "0px";
a = "200px";

a = "0px";
a = "200px";

こういう処理を100回やってから、100回目の後だけ再描画されるのだろう。
1〜99回までは値が設定されるだけで、再描画されない
220: デフォルトの名無しさん (ワッチョイ 5b4f-kfYZ [180.0.191.133]) [sage] 2022/11/19(土) 04:30:35.89 ID:uCGRkc1L0(1) AAS
ゲームセンターにある機械とか、パソコンゲームでは、よくコマ(フレーム)落ちが起きる

1/30秒とか1/60秒の間に、処理が終わらないので、再描画できない
275
(1): デフォルトの名無しさん (ワッチョイ 214f-emCW [180.0.191.133]) [sage] 2022/11/27(日) 04:24:45.22 ID:/9RKjThA0(1/2) AAS
ごく基本的な事だが、あいまい等価演算子 == などを使うな

厳密等価演算子 === などを使え
277
(3): 275 (ワッチョイ 214f-emCW [180.0.191.133]) [sage] 2022/11/27(日) 13:33:33.93 ID:/9RKjThA0(2/2) AAS
型違いの比較を考えるのは無理

obj_1 == obj_2
の場合の、双方の型の組合せ爆発を考えないといけないから

obj_1が配列で、obj_2がオブジェクトとか、その逆とか

こういうのを考えるのが無理なので、事前に型が決まる、TypeScript が出来た
291
(2): デフォルトの名無しさん (ワッチョイ 214f-emCW [180.0.191.133]) [sage] 2022/11/28(月) 16:27:54.36 ID:HJ3Js2uA0(1/2) AAS
const checkNumberString = inputString => {

const inputAry = [...inputString]; // 文字列を配列にする

const [ firstChar, ...restAry ] = inputAry; // 1文字目と2文字目以降に分ける

if ( restAry.length === 0 ) { return false }; // 1文字しかない場合
// 1文字目が、+/- ではない場合
if ( !( firstChar === "+" || firstChar === "-" ) ) { return false };

// 2文字目以降のすべてが、数字かどうか
const res = restAry.every( ( char ) => {
const cp = char.codePointAt(0);
return ( 48 <= cp && cp <= 57 ); // 0〜9
} );

return res
}

const testAry = ['', '+', '-0', '+019', '-9🌕には𩸽'];
const results = testAry.map( (str) => checkNumberString(str) );

console.log( results );
//=> [ false, false, true, true, false ]
294: 291 (ワッチョイ 214f-emCW [180.0.191.133]) [sage] 2022/11/28(月) 19:27:13.32 ID:HJ3Js2uA0(2/2) AAS
Ruby なら、もっと簡単に書ける

def checkNumberString ( inputString )

inputAry = inputString.chars # 文字列を配列にする
return false if inputAry.length < 2 # 2文字未満

firstChar = inputAry.shift # 1文字目を取り除く

case firstChar
when "+", "-" # 処理なし
else
return false # 1文字目が、+/- ではない場合
end

# 2文字目以降のすべてが、数字かどうか
zeroToNine = ( '0'..'9' )
res = inputAry.all? { |char| zeroToNine.include?( char ) }

return res
end

testAry = %W(#{} + -0 +019 🌕には𩸽 -9🌕には𩸽)
#=> ["", "+", "-0", "+019", "🌕には𩸽", "-9🌕には𩸽"]

p results = testAry.map{ |str| checkNumberString( str ) };
#=> [false, false, true, true, false, false]
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.058s