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

みんなの評価 :
レスフィルター : (試験中)
>>450-451
ありがとうございます。
きっちり動作していました。
まだしっかりと動作を把握できていないのですが、
渡す引数を含めて、ループごとに関数を保存する必要があるということでしょうか。
だとしたら思った以上に大掛かりなことになってしまっていますね。
引数渡すだけで処理難度凄い変わるのですね・・・・・・・・
ありがとうございます。
きっちり動作していました。
まだしっかりと動作を把握できていないのですが、
渡す引数を含めて、ループごとに関数を保存する必要があるということでしょうか。
だとしたら思った以上に大掛かりなことになってしまっていますね。
引数渡すだけで処理難度凄い変わるのですね・・・・・・・・
やり方に問題があるだけだと思うけどな
処理を無効にしたいだけなら、disabledってクラスでも付与して、
イベント内のif文で無効にすれば済む
イベント自体を削除する必要はない
処理を無効にしたいだけなら、disabledってクラスでも付与して、
イベント内のif文で無効にすれば済む
イベント自体を削除する必要はない
>>455
ボタン処理などではなく、、自作したメソッドのプレビューページでの問題発生でした。
メソッドを呼び出すにあたり、選択できるオプションが複数ありまして、
その項目をselect要素で選択すると、引数を上書きして、都度メソッドを読み直すという構成になっています。
同じメソッドを読み直すと、イベントが重複登録されてしまうようでして、それを解除しなければならない
という状態でした。
もっと良い方法がありましたら、改善したいと思っていますのでお知恵をお貸しください。
ボタン処理などではなく、、自作したメソッドのプレビューページでの問題発生でした。
メソッドを呼び出すにあたり、選択できるオプションが複数ありまして、
その項目をselect要素で選択すると、引数を上書きして、都度メソッドを読み直すという構成になっています。
同じメソッドを読み直すと、イベントが重複登録されてしまうようでして、それを解除しなければならない
という状態でした。
もっと良い方法がありましたら、改善したいと思っていますのでお知恵をお貸しください。
なるほど、わからん
それは引数で渡すんじゃなくイベントリスナーの中で
選択したオプションを読めばよくね?
それは引数で渡すんじゃなくイベントリスナーの中で
選択したオプションを読めばよくね?
今はremoveするんじゃなくてclassを変更して
その表示状態を非表示に隠すだけだよ
JavaScriptの処理はclass属性の変更だけでDOM構造の変化もなく
ブラウザがネイティブに表示状態を処理するだけだから高速
その表示状態を非表示に隠すだけだよ
JavaScriptの処理はclass属性の変更だけでDOM構造の変化もなく
ブラウザがネイティブに表示状態を処理するだけだから高速
>>457
いくつか平行して進めておりまして、その内1つは
ご指摘いただいた通りselectで選択した値を取得させたところ、
あっさりできてしまいました。
恐らく他の自作メソッドでも対応できてしまいそうです。
イベントの設定と解除についてや、コールバック関数に引数を渡すという
テクニックが身に付いたのはとてもよかったのですが
どうやら無駄だったようです・・・・・・
楽しかったので気にしない方向で・・・・・
いくつか平行して進めておりまして、その内1つは
ご指摘いただいた通りselectで選択した値を取得させたところ、
あっさりできてしまいました。
恐らく他の自作メソッドでも対応できてしまいそうです。
イベントの設定と解除についてや、コールバック関数に引数を渡すという
テクニックが身に付いたのはとてもよかったのですが
どうやら無駄だったようです・・・・・・
楽しかったので気にしない方向で・・・・・
関数に引数渡すなら関数自身にプロパティ追加するのもありじゃない
何かデメリットあったっけこの使い方?
var fn = function() {console.log(fn.str);};
fn.str = 'hoge';
fn();
何かデメリットあったっけこの使い方?
var fn = function() {console.log(fn.str);};
fn.str = 'hoge';
fn();
無理に組み込んでfn.strなどととしてアクセスすることになるよりも
バラバラに親関数でstrとして受け取ってstrとアクセスできる方が普通でしょ
strがfnの関数としての性質を表すプロパティならfnがstrの入れ物になるというのは分かるけど
そうではないのなら不自然でしょ 沢山渡す必要があるときも、同列にまとめて
{fn,str,......}の形で渡すとかにしたほうが良い
バラバラに親関数でstrとして受け取ってstrとアクセスできる方が普通でしょ
strがfnの関数としての性質を表すプロパティならfnがstrの入れ物になるというのは分かるけど
そうではないのなら不自然でしょ 沢山渡す必要があるときも、同列にまとめて
{fn,str,......}の形で渡すとかにしたほうが良い
スコープ狭めたいとかbindとか使うよりもと思ってたけど止めた方がいい?
普通にbind使うべきかな?
普通にbind使うべきかな?
ごめん質問の意味がよく分かんない
その「普通にbind使う」とやらのコード貼って
その「普通にbind使う」とやらのコード貼って
ありがとうございました
意図が、というのは問題ですが、
サイズに関しては2Dグラフィックでの長さ分割計算用途で、オーバーフローする可能性はない(あったら別のバグ)ため、
速度優先で行きます
意図が、というのは問題ですが、
サイズに関しては2Dグラフィックでの長さ分割計算用途で、オーバーフローする可能性はない(あったら別のバグ)ため、
速度優先で行きます
質問、というか単なるこだわり
確実に、好きにしろとか言われるはず
JavaScriptの業界だとメソッドやらプロパティやら頭小文字にしろとかうるさい(小文字で始める「べき」です)けど、自分のライブラリでは逆らって頭大文字で行ってる
そんなに非常識に見られるの?
確実に、好きにしろとか言われるはず
JavaScriptの業界だとメソッドやらプロパティやら頭小文字にしろとかうるさい(小文字で始める「べき」です)けど、自分のライブラリでは逆らって頭大文字で行ってる
そんなに非常識に見られるの?
>>472
個人的な拘りだとか言いながらドレスコードガン無視した衣装で来店する程度には非常識
個人的な拘りだとか言いながらドレスコードガン無視した衣装で来店する程度には非常識
何回注意しても屁理屈捏ねてマスク着用拒否して飛行機下ろされる非常識客くらい
>>476
例えば
http://q-az.net/javascript-math-floor-other-method/
その他で、微妙に |0 が速いという記事はわりかし見かけます
ただ、欲しいのは切り捨てなんで比較すべきは floor じゃなくて ceil
ceil だと |0 より速かったりしますかね?
例えば
http://q-az.net/javascript-math-floor-other-method/
その他で、微妙に |0 が速いという記事はわりかし見かけます
ただ、欲しいのは切り捨てなんで比較すべきは floor じゃなくて ceil
ceil だと |0 より速かったりしますかね?
いや、Math.trunc の方がいいのか?
なんで選択から外してたんだ?あれ?
なんで選択から外してたんだ?あれ?
>>472
Ruby on Rails では、
ローカル変数は、snake。item_name
モジュール・クラス名は、Pascal・upper camel。ItemName
JavaScript では、
ローカル変数は、camel。itemName。少数派で、snakeを使う人もいる。
モジュール・クラス名は、Pascal
基本、フレームワークのプロジェクト規約に従う。
Railsでは、ファイル名・テーブル名の単数・複数形なども、命名規約で決まっている
勝手に決めると、ESLint などでも警告されるかも
Ruby on Rails では、
ローカル変数は、snake。item_name
モジュール・クラス名は、Pascal・upper camel。ItemName
JavaScript では、
ローカル変数は、camel。itemName。少数派で、snakeを使う人もいる。
モジュール・クラス名は、Pascal
基本、フレームワークのプロジェクト規約に従う。
Railsでは、ファイル名・テーブル名の単数・複数形なども、命名規約で決まっている
勝手に決めると、ESLint などでも警告されるかも
ところで、また特に回答が無くても困らない質問が一つ
querySelector のセレクタで妙な仕様を見ました
例えば id="abc¥def" とエスケープコードを入れたセレクタを指定するとき
"abc¥¥def" とエスケープを重ねて指定
……では駄目で "abc¥¥¥¥def" と二重にエスケープする必要があるとか
なんで?
こんな文言を id とか class に使うくらいなら自分は長い文言を使うんで困らないけど、なんで?
仕様書のparseについての項を読んでもよく分からなかった
querySelector の中ってJavaScriptとは管轄が違っていて、再び文字列解釈されるってことだよね
querySelector のセレクタで妙な仕様を見ました
例えば id="abc¥def" とエスケープコードを入れたセレクタを指定するとき
"abc¥¥def" とエスケープを重ねて指定
……では駄目で "abc¥¥¥¥def" と二重にエスケープする必要があるとか
なんで?
こんな文言を id とか class に使うくらいなら自分は長い文言を使うんで困らないけど、なんで?
仕様書のparseについての項を読んでもよく分からなかった
querySelector の中ってJavaScriptとは管轄が違っていて、再び文字列解釈されるってことだよね
>>477
Math関数は中間表現から始まって最終的にアセンブラレベルに落として最適化されるので
何か最適化を妨げる状態でなければ十分に早いんだが、
厳密に言うとtruncはx86だとfloatなどに比べて冗長な命令を出さざるを得ない
対応SSEのバージョンが古ければ古いほど冗長になる
だからCPUレベルで原理的にどうしても遅くなる
ただしこの冗長というのは浮動小数点を丸めて整数にしたい場合、という注釈が付く
JSの場合は浮動小数点型がデフォなんだから
所謂ネイティブ言語では扱いにくい、浮動小数点型のまま0丸めする命令は使える
ただしここでも穴があって、V8は結果として内部整数を期待するので、
この命令を使う場合でもわざわざ整数に直してしまうこと、
そしてアセンブラ上で見かけ上命令数を同じにできても、
CPUに対する命令は更にCPUの中で独自の小さな命令にデコードされ最適化されることになり、
実実行時間で言うとやっぱりfloat系に比べて遅くなるということ
この手の演算を効率よくやりたければSIMD命令を使うのが良い
JSから表面的に触れるAPIは削除されてしまっているが、Wasmをちょっと噛ませてやれば使える
Math関数は中間表現から始まって最終的にアセンブラレベルに落として最適化されるので
何か最適化を妨げる状態でなければ十分に早いんだが、
厳密に言うとtruncはx86だとfloatなどに比べて冗長な命令を出さざるを得ない
対応SSEのバージョンが古ければ古いほど冗長になる
だからCPUレベルで原理的にどうしても遅くなる
ただしこの冗長というのは浮動小数点を丸めて整数にしたい場合、という注釈が付く
JSの場合は浮動小数点型がデフォなんだから
所謂ネイティブ言語では扱いにくい、浮動小数点型のまま0丸めする命令は使える
ただしここでも穴があって、V8は結果として内部整数を期待するので、
この命令を使う場合でもわざわざ整数に直してしまうこと、
そしてアセンブラ上で見かけ上命令数を同じにできても、
CPUに対する命令は更にCPUの中で独自の小さな命令にデコードされ最適化されることになり、
実実行時間で言うとやっぱりfloat系に比べて遅くなるということ
この手の演算を効率よくやりたければSIMD命令を使うのが良い
JSから表面的に触れるAPIは削除されてしまっているが、Wasmをちょっと噛ませてやれば使える
こんなに頑張って説明してくれてるのにばっさり切られてて笑う
普段、そこまで深く考えないから、中々興味深かったけどな
普段、そこまで深く考えないから、中々興味深かったけどな
XSS(クロスサイトスクリプト)なんかを使ってjavascriptで悪さしようとしても限界あったりしない?
ブラウザを強制終了したら悪さはおしまいじゃないの?
もちろんcookieを盗み見てその情報を自分のとこに送ったりすることは出来るけど、パソコン自体に悪さをすることってできなくない?
結局ブラウザができることが出来るってだけだよね?
たとえば身代金を取るためにディスクの内容を全部暗号化するなんてことは出来ないよね?
ブラウザを強制終了したら悪さはおしまいじゃないの?
もちろんcookieを盗み見てその情報を自分のとこに送ったりすることは出来るけど、パソコン自体に悪さをすることってできなくない?
結局ブラウザができることが出来るってだけだよね?
たとえば身代金を取るためにディスクの内容を全部暗号化するなんてことは出来ないよね?
せやね。XSS使ってもネットワークつながっていない相手の家の鍵を
開けることは出来ないから限界あるよね
どんな犯罪道具にも限界はあるよ思うよ。うん。
開けることは出来ないから限界あるよね
どんな犯罪道具にも限界はあるよ思うよ。うん。
>>488
「ネットにつながっていないパソコンには何も出来ない」ってことじゃなくて、
ネットにつながっててもパソコン本体に何か悪さをすることは出来ないんじゃないか、ということ。
ブラウザを強制終了させてしまえばその「悪さ」は終わるよね?ということ。
ブラウザの動作がおかしくなったってパソコンの通常のファイルまで書き換えられるなんてことはないはずだから。
「ネットにつながっていないパソコンには何も出来ない」ってことじゃなくて、
ネットにつながっててもパソコン本体に何か悪さをすることは出来ないんじゃないか、ということ。
ブラウザを強制終了させてしまえばその「悪さ」は終わるよね?ということ。
ブラウザの動作がおかしくなったってパソコンの通常のファイルまで書き換えられるなんてことはないはずだから。
あれ待てよ、ブラウザでファイルをダウンロードしてローカルなディスクに保存することできるよな
逆にブラウザを使ってローカルなファイルを選んでネット上の場所にアップロードすることもできる
ということはブラウザからローカルなファイルシステムにアクセスすることは出来るってこと?
普段はユーザに許可求めてるけどやろうと思えばそれを無視しちゃうことも出来るとか?
逆にブラウザを使ってローカルなファイルを選んでネット上の場所にアップロードすることもできる
ということはブラウザからローカルなファイルシステムにアクセスすることは出来るってこと?
普段はユーザに許可求めてるけどやろうと思えばそれを無視しちゃうことも出来るとか?
>>493
人間がブラウザを操作して出来ることと、html内に書かれたjavascriptで出来ることは別だったな
javascript でローカルなファイルを好き勝手にダウンロード、アップロード等で読み書きすることはさすがに普通は出来んよな
人間がブラウザを操作して出来ることと、html内に書かれたjavascriptで出来ることは別だったな
javascript でローカルなファイルを好き勝手にダウンロード、アップロード等で読み書きすることはさすがに普通は出来んよな



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.141 + (1001) - [100%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.142 + (984) - [97%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.142 + (926) - [97%] - 2019/12/23 13:15
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.102 + (1001) - [95%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.100 + (1001) - [95%] - 2012/6/13 22:46
トップメニューへ / →のくす牧場書庫について