1 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 15:57:40.26 ID:TS5TGpUB0.net] !extend:checked:vvvvvv:1000:512 JavaScript を自ら学ぶ人のための質問スレッドです。 >>2-5 のテンプレを読んだ上で質問してください。次スレは>>950 が>>2 の「次スレの立て方」を元に立ててください ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2 の質問テンプレートを活用してみてください。 (9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。 (10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。 ■前スレ JavaScript の質問用スレッド vol.124 https://mevius.5ch.net/test/read.cgi/tech/1636525464/ VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
357 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 07:27:33.15 ID:KfOH1QpXH.net] >>347 グローバル変数はバグの温床だからやめておいて 引数とreturn値を使ってカプセルかしてね 引数もreturn値も使わないのなら let param={ x1:1,x2:2... } とかして、 param.x1+param,x2... とかで呼び出したほうがコリジョンさけられるのでいいかなと windowやdocumentに持たせるべきパラメータは是ですが 持たせるべきでないパラメータはwindowなどに持たせないのが 私のひーひーおじいちゃんからの教えです
358 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 08:51:23.05 ID:G3OER7led.net] そもそも>>345 みたいな発想が出てくる時点で関数というものに対する認識が危ういよね 手を動かすのはもちろん大事だけど並行して座学も大切だと痛感する
359 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 15:20:35.56 ID:KfOH1QpXH.net] いやいや最初はそんなもんでしょ 自分は今でも失笑コードばっかりですし どんなコードでも書き続けることに価値があると じっちゃまが言ってた
360 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 15:37:23.27 ID:8zaQFmsV0.net] C言語なら、#define hensufn() で、 質問の内容を実現できるから、そっちもちょっと勉強してみるといいだろう あくまでも参考として。蛇足だが、関数じゃなくてマクロだが そういうのとごっちゃにしないためにも、理解しておくといい
361 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 15:45:36.78 ID:K2JzDyfqd.net] >>353 だからその「そんなもん」から次のステップに進むためには知識を身に付けることも重要って言ってるのよ コードを書き続けることを否定してるわけじゃないよ
362 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 16:08:24.10 ID:K2JzDyfqd.net] >>354 今の状態の質問者に別言語の概念を持ち出しても余計に混乱を招くだけだろう 時期尚早だと思う
363 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 16:36:12.81 ID:KfOH1QpXH.net] >>355 その通りですね infoやMDNを完璧理解程度をとりあえずの目標としたらいいですね
364 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 17:10:52.86 ID:DDM/thjI0.net] >>354 今時そんなクソマクロ勧めるなよ
365 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 17:27:50.18 ID:K2JzDyfqd.net] >>357 んー、皮肉のつもりで言ってる? 完璧理解なんかは必要ないでしょ
366 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 17:40:09.94 ID:8zaQFmsV0.net] 「ごっちゃにしないためにも」て書いたろ また、住人はいろんな技量なんだから 各人が自分なりに受け止めればいい
367 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 18:24:14.89 ID:K2JzDyfqd.net] 「ごっちゃにしないためにも」って関数とマクロをってこと?
368 名前:デフォルトの名無しさん [2022/12/09(金) 21:28:33.63 ID:rFVdhtxE0.net] addEventListener()のイベントオブジェクトのように、 引数にあてる関数の中のさらにその引数に特別なオブジェクトをおく 変わったメソッドは他にありますか?
369 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 03:33:43.66 ID:rStzYIZl0.net] >>362 コールバック関数について調べることをお勧めする
370 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 07:13:56.55 ID:EwkyT8LfH.net] >>359 皮肉なんて言わないです infoは入門者には最適だと思いますし 知っておくべき内容だと思います infoを理解しておけばMDNも一覧してほとんど理解できるでしょ リファレンスだし 覚える必要はないけど 理解する程度の負荷はそんな重くないですよ
371 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 10:08:41.30 ID:UfMq0N25d.net] >>364 誤解だったのならすまんね MDNだったらチュートリアルが揃ってるしそれを一通りやってみるぐらいでいいかなと あとは疑問がわいたらまずリファレンスを漁る習慣付け
372 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 17:05:35.95 ID:LZ79JioR0.net] >>365 いえいえ、こちらこそありがとうございます! 自分もまだ初学者レベルですのでいろいろ教えてください!
373 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 22:31:23.08 ID:09TKwM+q0.net] プロトタイプだけで、丼飯三杯は行ける!
374 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 20:36:45.56 ID:bBwm/pW5H.net] >>367 プロトタイプについて語ってください
375 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 20:55:00.83 ID:q6Npm0tM0.net] >>368 JS最強の秘伝なり。
376 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 21:46:43.64 ID:bBwm/pW5H.net] >>369 語れないんですねw
377 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 22:29:35.67 ID:q6Npm0tM0.net] >>370 一子相伝の秘技だからな。
378 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 01:25:48.09 ID:9mOu9R4R0.net] MOV = [] for(g=0; g<GUI.length; g++){ MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]]) MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]]) } これですが、MOVの配列の末尾に何かを加えようとしてるのはわかるのですが、何を加えようとしてるのでしょうか? [ , ]の所の意味がわかりません MOV.push(Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0])ではダメなのでしょうか?
379 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 01:50:55.99 ID:N0jzJwvL0.net] MOV = [] MOV.push([1, 2]) console.log(MOV) // [[1, 2]] MOV = [] MOV.push(1, 2) console.log(MOV) // [1, 2]
380 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 02:10:37.00 ID:9mOu9R4R0.net] >>373 ありがとうございます うーん 難しいな [絶対値にしたもの、絶対値にしてないもの]を[ ]でひとまとめにする理由は何なんだろう? console.logを挟んで値を確認しながら考えないとわかりませんね
381 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 02:23:13.76 ID:9mOu9R4R0.net] もしかして配列が入れ子になってるんでしょうか? その後にSx.translate(MOV[0][1], 0)っていうコードが出て来るのですが… MOV[0][1]の所が意味がわからなかったんですけど、 [[◯,●],[◯,◯],…]の●を指定してるんでしょうか?
382 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 02:45:20.07 ID:BD7ZISK00.net] >>375 その認識で合ってる。 MOV は配列で、その各要素も配列(2要素の配列)。 なんでそんな構造にしてるのかは知らん。
383 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 07:38:12.53 ID:u3d467jnH.net] >>375 が聞いてるのは translateがJSのcontextの関数なら translate(100,50)はコンテキスト自体が右に100、下に50移動する 右移動量を絶対値にして移動させるってことかにゃん
384 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 11:24:58.04 ID:9mOu9R4R0.net] >>376 ありがとうございます >>377 そうです 全コード載せてみます geometricBoundsは四角形の2点の座標を得るメソッドで
385 名前:、変数に[左上のx座標、左上のy座標、右下のx座標、右下のy座標]の順に格納されます [] [ここ壊れてます]
386 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 11:25:36.96 ID:9mOu9R4R0.net] SEL = activeDocument.selection PAT = activeDocument.pathItems STB = app.preferences.getBooleanPreference("includeStrokeInBounds") MAINfn() function MAINfn(){ if(SEL.length == 0) return GUI = [] for(p=0; p<PAT.length; p++) PATfn(PAT[p]) if(GUI.length == 0) return for(s=0; s<SEL.length; s++) SELfn(SEL[s]) } function PATfn(Px){ if(!Px.guides) return Bp = Px.geometricBounds GUI.push(Bp[0]) GUI.push(Bp[2]) }
387 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 11:26:49.23 ID:9mOu9R4R0.net] function SELfn(Sx){ Bs = BNDfn(Sx) MOV = [] for(g=0; g<GUI.length; g++){ MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]]) MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]]) } MOV2 = SORTfn(MOV) Sx.translate(MOV2[0][1], 0) } function SORTfn(f0){ f1 = [] for(i=0; i<f0.length; i++) f1.push(f0[i]) f1.sort( function(a,b){ if(a[0] < b[0]) return -1 if(a[0] > b[0]) return 1 if(a[0]== b[0]) return 0 } ) return f1 } function BNDfn(Bx){ Bz = Bx.geometricBounds if(STB) Bz = Bx.visibleBounds if(Bx.clipped) Bz = Bx.pageItems[0].geometricBounds return Bz }
388 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 11:28:43.67 ID:9mOu9R4R0.net] 「一番近いガイドに図形を吸着させる」スクリプトです app.preferences.getBooleanPreferenceは無視してもらっていいです 環境設定の予備的なものなので。 function BNDfn(Bx)以下も環境設定の予備的なものなので無視でいいです [絶対値と絶対値でないもの]を入れ子にする意味が知りたいです
389 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 12:27:02.66 ID:TCDiz++Hr.net] >>381 配列MOVをソートするSORTfnで[◯,●]の◯を利用してるのは読み取れる?
390 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:06:21.02 ID:9mOu9R4R0.net] >>382 ソートで利用するために [ , ] の入れ子にしてるだけですか?
391 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:16:44.67 ID:TCDiz++Hr.net] >>383 まず聞かれたことに対してYESかNOで答えようよ
392 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:25:11.50 ID:9mOu9R4R0.net] >>38 ありがとうございます わかりました [◯,●]の◯はソートをするために利用している 絶対値が一番小さい◯を先頭に並べ替えて(距離が一番近い)、それと対になってる●だけtranslateで移動している ということですね
393 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:25:56.97 ID:9mOu9R4R0.net] × >>38 ◯ >>384
394 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:29:27.02 ID:BD7ZISK00.net] 余談だが、>>380 sort の比較関数ってわざわざそういうまどろっこしい実装にしてるのをよく見るけど、数値なら function(a,b){ return a[0] - b[0]; } でいいのよ。 順序を見る要素が複数あるなら function(a,b){ let c = a[0] - b[0]; if (c) return c; c = a[1] - b[1]; if (c) return c; return a[2] - b[2]; } とか、短い表現なら function(a,b){ let c; if (c = a[0] - b[0]) return c; if (c = a[1] - b[1]) return c; return a[2] - b[2]; } とか。 これをループで回すのも有りかも。 あ、複数要素の比較はあくまで例であって、>>380 のデータ構造とは関係無いよ。
395 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:34:52.14 ID:9mOu9R4R0.net] ガイドが、動かしたいオブジェクトの右にあるか左にあるか確定して無いんですよ だからMath.absで絶対値にして距離を測ってるのか… そして配列の入れ子にしてソート 勉強になるな ここだけ他のスクリプトでも使える
396 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:39:57.47 ID:BD7ZISK00.net] >>388 abs なんてほとんどコストかからないんだから、元の値と絶対値の両方を保存するのは無駄な気がする。 配列の保存やアクセスの方がコストかかったりして。
397 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:45:29.13 ID:TCDiz++Hr.net] 命名や処理内容を見る限りあまり参考にすべきコードではないように感じる
398 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 13:50:47.16 ID:8JMA8Bb40.net] >>379 転載禁止なのを勝手に載せたらあかんわ gorolib.blog.jp/archives/72193707.html
399 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:04:35.37 ID:xvk668V/d.net] 絶対値が一番小さいものを選ぶだけならこんな大掛かりにする必要そもそもない気が
400 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:26:01.70 ID:qd0QDeFeM.net] >>374 まず [1, 2, 3 ] で 配列ができる new Array(1,2,3) の省略型
401 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:32:46.45 ID:Xk6tQN/c0.net] イラストレータのappかぃ
402 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 15:49:23.10 ID:Ah12aly8r.net] >>393 なぜ配列にしているのかを聞いているのであって 記法に関する質問をしているわけではないだろう
403 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 17:14:12.48 ID:Xk6tQN/c0.net] 設定でjs使ってるみたいなのでjsスレで質問してるようだけどスレチのような・・・
404 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 17:18:01.39 ID:RmZ1ojDx0.net] オブジェクトの配列にすれば分かりやすいな
405 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 17:19:55.56 ID:Xk6tQN/c0.net] 連投すみません >>381 さん PC等->CG->Illustrator総合 のほうがいいかもですね
406 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:05:16.68 ID:9mOu9R4R0.net] >>398 CG板のIllustratorスレはわかりませんが、DTP板のIllustratorスレではscriptがわかる人が1人くらいしか居ません たまたまその人が居なかったら、何日も放置になってしまうし… ここの人たちの方がscriptのメソッドとかもほとんどわかるし Illustratorの図形といっても、xy座標に図形が並んでるだけの、ほとんど移動する時の足し算と引き算だけです
407 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:10:18.24 ID:9mOu9R4R0.net] [◯,●]の◯をソートのために利用してるなんて、独りで考えてたら絶対思い付かなかったと思います
408 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:14:44.98 ID:u3d467jnH.net] >>400 JSスレの神様たちは優しい感じですもんね がんばってくださいね!
409 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:37:06.98 ID:9eo7KahL0.net] >>400 ソートの手法としては収穫があったようでなにより。 でも他にも指摘があるように、アルゴリズムとしては今一つだから全体としてはあまり参考にするほどじゃないと思う。 それは距離の一番小さい相手を探す方法として距離でソートしてその一番最初を採るという手順を使ってるよね。 でも、最初から距離が一番小さいものを探せばループ 1回で答えが出る。 こんなかんじ? function SELfn(Sx) { Bs = BNDfn(Sx); dmin = 99999 dsel = 0 for(g = 0; g < GUI.length; g++) { for (b = 0; b <= 2; b += 2) { d = GUI[g] - Bs[b] a = Math.abs(d) if (a < dmin) { dmin = a dsel = d } } if (dmin < 99999) Sx.translate(dsel, 0) }
410 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:39:31.01 ID:fufRX2ZEr.net] >>400 MOV変数の行方を追って数行コードを読んだだけだよ 何も難しいことの種明かしをしたわけじゃない 今回人に聞いて答えを得たなら次は自分でそれにたどり着けるようになろう
411 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 22:12:32.05 ID:9mOu9R4R0.net] >>402 これだとソート関数いらないんですか? かなりコンパクトになりますね ダイアログを表示させて吸着方向を上下左右選べるスクリプトを作ろうと思ってるので、こちらで作ってみます
412 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 02:24:56.21 ID:IRSJsHbF0.net] >>404 閉じかっこひとつ抜けてた。 最後の if の前に } が要る。
413 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 11:11:56.07 ID:dgxg9m7O0.net] >>405 こうですか? function SELfn(Sx) { Bs = BNDfn(Sx); dmin = 99999 dsel = 0 for(g = 0; g < GUI.length; g++) { for (b = 0; b <= 2; b += 2) { d = GUI[g] - Bs[b] a = Math.abs(d) if (a < dmin) { dmin = a dsel = d } } } if (dmin < 99999) Sx.translate(dsel, 0) }
414 名前:デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73]) mailto:sage [2022/12/13(火) 12:03:25.74 ID:l4PFzl7S0.net] 君、プロトタイプをやりたまえ。
415 名前:デフォルトの名無しさん (オイコラミネオ MM75-SbnF [150.66.82.245]) mailto:sage [2022/12/13(火) 14:26:18.57 ID:LSRhZVzxM.net] >>406 そそ
416 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 16:55:31.25 ID:kcuzrobtd.net] プロトタイプとは何なのかを教え給え クラスとかコンストラクタを書くんじゃなくて、『function hoge(a, b){}』にプロパティやメソッドや戻り値定義すればいいの?
417 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 18:39:15.95 ID:pwiPw3z60.net] >>409 プロパティを参照する時、「対象オブジェクトの直属のプロパティ」だけでなく、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティも検索対象となる仕組みを「プロトタイプチェーン」という
418 名前:デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89]) mailto:sage [2022/12/13(火) 19:12:20.42 ID:cf0t5w5pH.net] >>410 プロパティを参照する時、対象オブジェクトの直属にプロパティへの参照がない場合、[[Prptotype]] と呼ばれる内部プロパティ内にあるプロパティへの参照を走査する仕組みを「プロトタイプチェーン」という なお[[Prototype]]はnewで生成される親のprototypeへの参照が格納されるが、動的に[[Prototype]]をセットすることもできる でどうでしょう?
419 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 20:14:40.67 ID:pwiPw3z60.net] >>411 プロトタイプに「親」という概念はない クラスベース言語の考えが混ざってる気がする
420 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 20:36:49.94 ID:cf0t5w5pH.net] >>412 えええええ?そうなんですか? 継承あるのに親がいない???
421 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 22:34:12.05 ID:cf0t5w5pH.net] >>412 僕は理解が浅いのでもっと学習しないと。 JSはprptotypeの理解が深まると幅が広がりそうですね 僕ももっと勉強進めないと
422 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 00:03:47.61 ID:+gEopm0Q0.net] >>413-414 プロトタイプベースとクラスベースの違いを理解することから始めよう https://www.google.com/search?q=%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9&ie=UTF-8 親クラス、子クラス、継承は、クラスベース由来の用語 多くのサイトでクラスベースに慣れた人用に使われている用語だが、クラスベースのつもりで受け取ると誤った機能理解に繋がる クラスベースはインスタンス生成時に親クラスを複製するが、プロトタイプベースは複製しない プロトタイプベースはプロトタイプに手を加えると「全てのプロトタイプを元にしたオブジェクト」に影響する 「継承」や「クラス」という用語を使うのは問題ないが、プロトタイプでどのように継承やクラスを実装しているのかは理解する必要がある
423 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 00:19:25.91 ID:Dbkp4Og+0.net] プロトタイプ最強伝説!
424 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 07:32:29.92 ID:r+idjll+H.net] protptypeを使い、new演算子でインスタンスを継承でき、 さらにプロトタイプチェーンで始祖子孫を関連付けられるのに 親子関係という概念はJSにはないんですねー
425 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 07:55:29.99 ID:r+idjll+H.net] ちょっと調べてみたけど、JSに親子関係は存在しない、的な記事はない MDNには親子表現はないけれど、JSの継承で親子表現してる記事は多数ある 親子関係はクラスの拡張、実装、インスタンス生成でも使われるけど 親子関係自体を定義した言語なんて存在しない、あくまで機能の表現方法 であるにもかかわらず、プロトタイプ言語に親子関係が存在しないというのは どこかにそういう記述があると思うのですが、参照場所を教えていただけませんか?
426 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 12:33:00.70 ID:3zhhSsQg0.net] プロトタイプベースでは、親ではなく雛形という概念を用いる(それこそがプロトタイプ) JavaScriptはプロトタイプベースのオブジェクト指向言語の代表格だが その JavaScriptにも、ES2015(ES6) でクラスベース構文が導入されたので、 使い手の側としては、思想・概念・用語が入り乱れる事になったのかも知れません
427 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 13:15:16.28 ID:U8xYt1Js0.net] あらためてMDNを概覧しましたが 417さんの力説されているとおりかもしれませんね 今後はご指摘の件、頭にいれながら勉強します ながながとありがとうございます!今後ともよろしくです
428 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 14:22:13.24 ID:dv/CWk9JH.net] 個人的にクラス≒雛形って考えだからプロトタイプはわかるけどクラスベースがわからなかった 「雛形クローンして用意してあるの変えるだけだろ?」って
429 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 01:00:33.27 ID:z3rBZpFn0.net] >>420 よくぞ言った、プロトタイプ使徒よ!
430 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 14:16:16.56 ID:wrcGLpVa0.net] みんなはフレームワーク使ってる? それともJS直接使ってる?
431 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 14:22:39.89 ID:C3ZoQFlkM.net] お前から発表しろよ アンケートだから職種、年俸、年齢、結婚歴は必須な
432 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 12:10:49.73 ID:kI1nA3xa0.net] >>424 職種:プロトタイプ 年俸:プロトタイプ 年齢:プロトタイプ 結婚歴:プロトタイプ
433 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 13:15:46.84 ID:OiGNBIp60.net] 質問させてください <style> #d1,#d2{ color:blue} </style> <div id="d1"></div> <div id="d2"></div> <script> </script> JSで、<style>内の#d1,#d2セレクタの設定を編集したいのですが 特定のセレクタ部分だけを取得して変更ってできますか?
434 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 13:44:50.71 ID:ycEukJwD0.net] >>426 https://developer.mozilla.org/ja/docs/Web/API/StyleSheetList
435 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 13:49:34.17 ID:ycEukJwD0.net] >>426 変更はこっちだった https://developer.mozilla.org/en-US/docs/Web/API/StyleSheetList
436 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 13:53:37.75 ID:ycEukJwD0.net] >>426 訂正 https://developer.mozilla.org/ja/docs/Web/API/CSSStyleSheet
437 名前:デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) mailto:sage [2022/12/17(土) 20:57:11.28 ID:/rkC0QGzH.net] >>428 ありがとうございます。JSの皆様は本当に神様。 取り急ぎお礼申し上げます。ありがとうございます。 できれば明日時間をとって拝読させていただきます。
438 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:30:28.67 ID:8Q1kFIoR0.net] if(A1[1] == A1[3]){ A0C = (A0[3]+A0[1])/2; A1C = (A1[3]+A1[1])/2; Ty = A1C - A0C; X1[0].translate(0,Ty); } else { dofn3(); } このif文ですが、A1[1]とA1[3]の誤差がプラスマイナス0.5までならtrueというふうに変えたいんですけど、どう書き換えれば良いでしょうか? 今のままだとA1[1]とA1[3]ともに小数点以下10桁くらいあって条件が厳し過ぎるんですよね 手違いでちょっとずれて作ってしまうこともあるので、その場合はtrueにしたいのです
439 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:40:09.17 ID:on9KAdJq0.net] A1[1]とA1[3]の差が絶対値で0.5までって書けばいいんじゃないの?
440 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:44:13.88 ID:8Q1kFIoR0.net] A1[1]==A1[3]は、四角形の左上のY座標A1[1]と右下のY座標A1[3]が同じだから、直線という意味です でもこの2点を上下0.5くらい余裕を持たせたいんです 間違って微妙に斜めに線を引いてしまうこともあるので
441 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:45:31.22 ID:8Q1kFIoR0.net] >>432 そうか 簡単でしたね w ありがとうございます
442 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:45:36.51 ID:t7AYft2Wr.net] >>431 まず自分で試行錯誤してみたら? やりたいことが日本語に出来てるなら難しいことではないと思うよ 君は何でも最初から人に聞いて済ませようとしてるように見える
443 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 22:47:25.94 ID:t4TbQFP40.net] このスレは、回答者の腕試しの意味もあるから
444 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 23:01:46.75 ID:nEwVWz8Q0.net] 正直このレベルの質問に答える必要が無いと思うが・・・ 範囲でif文を書く事とかすら考えつかないレベルでこの先やっていける訳無いやんw
445 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 23:10:51.36 ID:2CNUWbJ80.net] >>437 こういうちょっとしたきっかけで他の思い付きができるようになることもあるしね
446 名前:デフォルトの名無しさん mailto:sage [2022/12/18(日) 12:44:32.64 ID:uPN+O46jH.net] >>429 様、ありがとうございました。 CSSのスタイル設定プロパティをJSで編集できました。 CSSRulesは配列で返ってきますが cssRules['div'].color='blue' のように、プロパティ名で編集する方法はありませんでしょうか?
447 名前:デフォルトの名無しさん (オッペケ Sr11-H8w4 [126.156.146.161]) mailto:sage [2022/12/18(日) 14:19:43.57 ID:6JZ/0f38r.net] jQuery使えばできます
448 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 12:00:53.42 ID:KEwe+Jaf0.net] >>439 俺は「プロパティ名で編集する方法」を知らないので、CSSOMを調べてみるといいと思う https://triple-underscore.github.io/cssom-ja.html
449 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 14:10:45.85 ID:GaFatWVX0.net] >>440 >>441 ありがとうございました selectortextを呼び出して疑似的にプロパティ名で編集できるような関数を作ってみます。
450 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 21:50:19.67 ID:K0fHbKFE0.net] https://developer.mozilla.org/ja/docs/Web/API/CSSStyleDeclaration/setProperty let style = document.styleSheets[0].cssRules[0].style; style.fontSize = "1em"; // style.setProperty("font-size", "1em");
451 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 07:34:30.54 ID:nEbzRDrKH.net] >>443 ありがとうございます。 let styleの呼び出し箇所を関数にして selector名のオブジェクトを生成し、その中にプロパティ名とvalueを格納して呼び出すような 簡易的な関数を作成してみます 年末のお忙しいとろ、アドバイスありがとうございました。
452 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 16:52:58.12 ID:9yhxJASu0.net] 小数点第4位を四捨五入するのは、parseFloat(a.toFixed(3))と Math.round(a*1000)/1000のどっちがいいでしょうか?
453 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 19:18:04.39 ID:nEbzRDrKH.net] 連日すみません。 <link rel="stylesheet" src>で読み込んだcssの cssStylesheetプロパティにアクセスする方法を教えていただけないでしょうか?
454 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 21:53:16.64 ID:paD1IZJK0.net] ちょっとググれば出てくるような情報までくれって言うのか?
455 名前:デフォルトの名無しさん (JP 0H11-JDfe [126.249.157.89]) mailto:sage [2022/12/21(水) 22:46:02.69 ID:nEbzRDrKH.net] すみません、ちょっとググってみます
456 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 23:16:30.68 ID:paD1IZJK0.net] どうしても分からないならchromeのDevToolsのConsoleで document.styleSheets って打ってみれば中身が全て見れる 中身見ても意味不明な場合はやりたいことは出来ないかも
457 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 23:34:53.49 ID:PQinZhLm0.net] jQuery最強伝説。