のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,490,907人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.141 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    453 : Name_Not - 2021/02/21(日) 22:33:27.89 ID:???.net (+21,+28,+1)
    そうやな
    その通り
    454 : Name_Not - 2021/02/21(日) 22:46:50.77 ID:???.net (+29,+29,-64)
    >>450-451
    ありがとうございます。
    きっちり動作していました。

    まだしっかりと動作を把握できていないのですが、
    渡す引数を含めて、ループごとに関数を保存する必要があるということでしょうか。
    だとしたら思った以上に大掛かりなことになってしまっていますね。

    引数渡すだけで処理難度凄い変わるのですね・・・・・・・・
    455 : Name_Not - 2021/02/21(日) 23:37:46.15 ID:???.net (-24,-27,-31)
    やり方に問題があるだけだと思うけどな
    処理を無効にしたいだけなら、disabledってクラスでも付与して、
    イベント内のif文で無効にすれば済む
    イベント自体を削除する必要はない
    456 : Name_Not - 2021/02/22(月) 00:25:20.95 ID:???.net (+29,+29,-149)
    >>455
    ボタン処理などではなく、、自作したメソッドのプレビューページでの問題発生でした。
    メソッドを呼び出すにあたり、選択できるオプションが複数ありまして、
    その項目をselect要素で選択すると、引数を上書きして、都度メソッドを読み直すという構成になっています。

    同じメソッドを読み直すと、イベントが重複登録されてしまうようでして、それを解除しなければならない
    という状態でした。
    もっと良い方法がありましたら、改善したいと思っていますのでお知恵をお貸しください。
    457 : Name_Not - 2021/02/22(月) 00:53:58.62 ID:???.net (+33,+29,-40)
    なるほど、わからん

    それは引数で渡すんじゃなくイベントリスナーの中で
    選択したオプションを読めばよくね?
    458 : Name_Not - 2021/02/22(月) 01:35:12.73 ID:???.net (-1,+0,-20)
    昔と違ってremoveが必要なケースってそれほどない
    459 : Name_Not - 2021/02/22(月) 02:23:01.34 ID:???.net (-26,-29,-133)
    今はremoveするんじゃなくてclassを変更して
    その表示状態を非表示に隠すだけだよ

    JavaScriptの処理はclass属性の変更だけでDOM構造の変化もなく
    ブラウザがネイティブに表示状態を処理するだけだから高速
    460 : Name_Not - 2021/02/22(月) 21:57:12.25 ID:???.net (+42,+30,-99)
    >>457
    いくつか平行して進めておりまして、その内1つは
    ご指摘いただいた通りselectで選択した値を取得させたところ、
    あっさりできてしまいました。
    恐らく他の自作メソッドでも対応できてしまいそうです。

    イベントの設定と解除についてや、コールバック関数に引数を渡すという
    テクニックが身に付いたのはとてもよかったのですが
    どうやら無駄だったようです・・・・・・
    楽しかったので気にしない方向で・・・・・
    461 : Name_Not - 2021/02/23(火) 22:53:14.96 ID:???.net (-21,-30,-52)
    関数に引数渡すなら関数自身にプロパティ追加するのもありじゃない
    何かデメリットあったっけこの使い方?

    var fn = function() {console.log(fn.str);};
    fn.str = 'hoge';
    fn();
    462 : Name_Not - 2021/02/23(火) 23:26:42.97 ID:???.net (-26,-29,-67)
    無理に組み込んでfn.strなどととしてアクセスすることになるよりも
    バラバラに親関数でstrとして受け取ってstrとアクセスできる方が普通でしょ

    strがfnの関数としての性質を表すプロパティならfnがstrの入れ物になるというのは分かるけど
    そうではないのなら不自然でしょ  沢山渡す必要があるときも、同列にまとめて
    {fn,str,......}の形で渡すとかにしたほうが良い
    463 : Name_Not - 2021/02/23(火) 23:57:29.42 ID:???.net (-5,-3,-26)
    スコープ狭めたいとかbindとか使うよりもと思ってたけど止めた方がいい?
    普通にbind使うべきかな?
    464 : Name_Not - 2021/02/24(水) 02:05:48.18 ID:???.net (+27,+29,-9)
    ごめん質問の意味がよく分かんない
    その「普通にbind使う」とやらのコード貼って
    465 : Name_Not - 2021/02/26(金) 07:07:35.27 ID:???.net (+33,+29,-6)
    >>460
    無駄にはならない
    常識レベルの基礎知識だから
    466 : Name_Not - 2021/02/26(金) 07:50:31.15 ID:???.net (+25,+29,-38)
    >>461
    面白い気もするけど
    それってfnの外に変数置いてるのと
    やってることそんなに変わらなくない?
    変数が散らからないだけで
    471 : Name_Not - 2021/02/27(土) 12:20:42.93 ID:???.net (+24,+29,-27)
    ありがとうございました

    意図が、というのは問題ですが、
    サイズに関しては2Dグラフィックでの長さ分割計算用途で、オーバーフローする可能性はない(あったら別のバグ)ため、
    速度優先で行きます
    472 : Name_Not - 2021/02/27(土) 17:29:43.01 ID:???.net (+35,+29,-85)
    質問、というか単なるこだわり
    確実に、好きにしろとか言われるはず

    JavaScriptの業界だとメソッドやらプロパティやら頭小文字にしろとかうるさい(小文字で始める「べき」です)けど、自分のライブラリでは逆らって頭大文字で行ってる
    そんなに非常識に見られるの?
    473 : Name_Not - 2021/02/27(土) 17:35:59.30 ID:???.net (+14,+26,-1)
    勝手にしろ
    474 : Name_Not - 2021/02/27(土) 17:56:18.40 ID:???.net (+33,+29,-18)
    >>472
    個人的な拘りだとか言いながらドレスコードガン無視した衣装で来店する程度には非常識
    475 : Name_Not - 2021/02/27(土) 18:20:41.84 ID:???.net (+27,+29,-35)
    何回注意しても屁理屈捏ねてマスク着用拒否して飛行機下ろされる非常識客くらい
    477 : Name_Not - 2021/02/27(土) 21:56:40.55 ID:???.net (-25,-29,-26)
    >>476
    例えば
    http://q-az.net/javascript-math-floor-other-method/
    その他で、微妙に |0 が速いという記事はわりかし見かけます

    ただ、欲しいのは切り捨てなんで比較すべきは floor じゃなくて ceil
    ceil だと |0 より速かったりしますかね?
    478 : Name_Not - 2021/02/27(土) 22:08:10.94 ID:???.net (-27,-25,-10)
    いや、Math.trunc の方がいいのか?
    なんで選択から外してたんだ?あれ?
    479 : Name_Not - 2021/02/27(土) 23:49:36.23 ID:???.net (-25,-30,-154)
    >>472
    Ruby on Rails では、
    ローカル変数は、snake。item_name
    モジュール・クラス名は、Pascal・upper camel。ItemName

    JavaScript では、
    ローカル変数は、camel。itemName。少数派で、snakeを使う人もいる。
    モジュール・クラス名は、Pascal

    基本、フレームワークのプロジェクト規約に従う。
    Railsでは、ファイル名・テーブル名の単数・複数形なども、命名規約で決まっている

    勝手に決めると、ESLint などでも警告されるかも
    482 : Name_Not - 2021/02/28(日) 00:53:58.56 ID:???.net (-27,-30,-196)
    ところで、また特に回答が無くても困らない質問が一つ

    querySelector のセレクタで妙な仕様を見ました
    例えば id="abc¥def" とエスケープコードを入れたセレクタを指定するとき
    "abc¥¥def" とエスケープを重ねて指定

    ……では駄目で "abc¥¥¥¥def" と二重にエスケープする必要があるとか
    なんで?

    こんな文言を id とか class に使うくらいなら自分は長い文言を使うんで困らないけど、なんで?
    仕様書のparseについての項を読んでもよく分からなかった
    querySelector の中ってJavaScriptとは管轄が違っていて、再び文字列解釈されるってことだよね
    483 : Name_Not - 2021/02/28(日) 01:01:26.38 ID:???.net (+22,+29,-2)
    最後自分で答え言ってるじゃん
    484 : Name_Not - 2021/02/28(日) 02:00:14.34 ID:???.net (+29,+30,+0)
    >>477
    Math関数は中間表現から始まって最終的にアセンブラレベルに落として最適化されるので
    何か最適化を妨げる状態でなければ十分に早いんだが、
    厳密に言うとtruncはx86だとfloatなどに比べて冗長な命令を出さざるを得ない
    対応SSEのバージョンが古ければ古いほど冗長になる
    だからCPUレベルで原理的にどうしても遅くなる

    ただしこの冗長というのは浮動小数点を丸めて整数にしたい場合、という注釈が付く
    JSの場合は浮動小数点型がデフォなんだから
    所謂ネイティブ言語では扱いにくい、浮動小数点型のまま0丸めする命令は使える

    ただしここでも穴があって、V8は結果として内部整数を期待するので、
    この命令を使う場合でもわざわざ整数に直してしまうこと、
    そしてアセンブラ上で見かけ上命令数を同じにできても、
    CPUに対する命令は更にCPUの中で独自の小さな命令にデコードされ最適化されることになり、
    実実行時間で言うとやっぱりfloat系に比べて遅くなるということ

    この手の演算を効率よくやりたければSIMD命令を使うのが良い
    JSから表面的に触れるAPIは削除されてしまっているが、Wasmをちょっと噛ませてやれば使える
    485 : Name_Not - 2021/02/28(日) 03:33:15.27 ID:???.net (+22,+29,-2)
    また無駄な説明をして
    486 : Name_Not - 2021/02/28(日) 04:39:02.46 ID:???.net (+27,+29,-14)
    こんなに頑張って説明してくれてるのにばっさり切られてて笑う
    普段、そこまで深く考えないから、中々興味深かったけどな
    487 : Name_Not - 2021/02/28(日) 08:43:46.15 ID:???.net (+43,+30,-106)
    XSS(クロスサイトスクリプト)なんかを使ってjavascriptで悪さしようとしても限界あったりしない?
    ブラウザを強制終了したら悪さはおしまいじゃないの?
    もちろんcookieを盗み見てその情報を自分のとこに送ったりすることは出来るけど、パソコン自体に悪さをすることってできなくない?
    結局ブラウザができることが出来るってだけだよね?
    たとえば身代金を取るためにディスクの内容を全部暗号化するなんてことは出来ないよね?
    488 : Name_Not - 2021/02/28(日) 11:54:55.32 ID:???.net (+33,+29,-34)
    せやね。XSS使ってもネットワークつながっていない相手の家の鍵を
    開けることは出来ないから限界あるよね
    どんな犯罪道具にも限界はあるよ思うよ。うん。
    491 : Name_Not - 2021/02/28(日) 12:21:23.57 ID:???.net (-7,+30,-95)
    >>488
    「ネットにつながっていないパソコンには何も出来ない」ってことじゃなくて、
    ネットにつながっててもパソコン本体に何か悪さをすることは出来ないんじゃないか、ということ。
    ブラウザを強制終了させてしまえばその「悪さ」は終わるよね?ということ。
    ブラウザの動作がおかしくなったってパソコンの通常のファイルまで書き換えられるなんてことはないはずだから。
    492 : Name_Not - 2021/02/28(日) 12:39:04.96 ID:Cg2dttr3.net (+38,+29,-19)
    >>487
    個人の情報にはそんなに期待してない
    セッションIDが抜けるのが本命
    493 : Name_Not - 2021/02/28(日) 12:43:43.24 ID:???.net (+48,+29,-131)
    あれ待てよ、ブラウザでファイルをダウンロードしてローカルなディスクに保存することできるよな
    逆にブラウザを使ってローカルなファイルを選んでネット上の場所にアップロードすることもできる
    ということはブラウザからローカルなファイルシステムにアクセスすることは出来るってこと?
    普段はユーザに許可求めてるけどやろうと思えばそれを無視しちゃうことも出来るとか?
    494 : Name_Not - 2021/02/28(日) 12:46:17.04 ID:???.net (+38,+29,-29)
    >>492
    それを入手するとそいつにとってどういう利益があるの?
    「ログイン済み」の状態を作れるとか?
    496 : 493 - 2021/02/28(日) 13:01:59.55 ID:???.net (+44,+29,-53)
    >>493
    人間がブラウザを操作して出来ることと、html内に書かれたjavascriptで出来ることは別だったな
    javascript でローカルなファイルを好き勝手にダウンロード、アップロード等で読み書きすることはさすがに普通は出来んよな
    499 : Name_Not - 2021/02/28(日) 14:11:41.34 ID:Cg2dttr3.net (+32,+29,-12)
    >>494
    セッションID手に入れば
    わりと乗っ取れるよ
    わりと
    500 : Name_Not - 2021/02/28(日) 14:30:31.17 ID:???.net (+30,+27,-9)
    >>491
    XSS使って相手にウイルス実行させれば
    パソコン本体に悪ささせられますが?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について