元スレ+ JavaScript の質問用スレッド vol.142 +
JavaScript覧 / PC版 /みんなの評価 :
451 = :
jQueryと違ってというが、元の処理を無効にする場合
jQueryの場合でもページのなるべく最初の方で
$(document).on('click, 'A', ~
みたいにするってわかってるか?
$(function() {
この中に書いたりしないぞ
})
documentはJavaScriptが読み込まれるタイミングでは必ずあるので
DOMの読み込み完了を待つ必要はないんだよ。
だから$(document) にイベントを割り当てる場合、
ページの最初でやって問題ない。
その前提の話をしてるか?
452 = :
>>493
当然、バブリング、キャプチャリングフェーズのどこで発動するかによって、タイミングが異なる
だが、e.preventDefaultでイベントハンドラ実行を停止させる使い方は必要なプログラムまで停止させるリスクがあるのでやらない
フォームパリデーションでsubmit抑止など、デフォルトアクションを停止しなければならない時ぐらいだが、それで迷うことはあるまい
453 = :
> 必要なプログラムまで停止させるリスクが
んなもん、セレクタで絞り込むだけやん
454 = :
jQueryだと
$(document).on('click, function(e) {
e.preventDefault();
});
で全部元の処理が無効になるが、これを特定のクラスが
ついたものにするなら
$(document).on('click, '.klass', function(e) {
こうするだけ。
たったこれだけが面倒だなんて誰も思わんだろ
455 = :
イベントハンドラ関数内のどこに書くかを聞いてるのだと理解したが
非同期処理しなければreturn前のどこに書いても一緒
当然非同期処理内やawaitより後はだめ
456 = :
>>495
例外や考慮すべき事柄が多い
高度な構造はそもそもjQueryで扱うのに適さない
jQueryは適当にざっくり処理するためのもの
457 = :
EventTarget.addEventListener()の第3引数のpassiveプロパティで分かりそうなもんだけどね
trueかfalseかで、event.preventDefault()の可能性の為に規定の処理を待機するかが決定されるってことはそういうことなんだなと
458 = :
これからは第三引数はオブジェクトを渡していくべき
459 = :
>>443
このようにします。
宣言が繰り返されることはありません。
let arr = [1,2,3,4,5];
arr.forEach((({
足す1 = n => n + 1,
掛ける2 = n => n * 2,
定数 = 42,
} = {}) => (value, index, array) => {
console.log(`配列${JSON.stringify(array)}の${index}番目の要素${value}に1を足して2を掛けて定数42を足した数は${掛ける2(足す1(value)) + 定数}です。`);
})());
出力:
配列[1,2,3,4,5]の0番目の要素1に1を足して2を掛けて定数42を足した数は46です。
配列[1,2,3,4,5]の1番目の要素2に1を足して2を掛けて定数42を足した数は48です。
配列[1,2,3,4,5]の2番目の要素3に1を足して2を掛けて定数42を足した数は50です。
配列[1,2,3,4,5]の3番目の要素4に1を足して2を掛けて定数42を足した数は52です。
配列[1,2,3,4,5]の4番目の要素5に1を足して2を掛けて定数42を足した数は54です。
460 = :
いい加減何万人月もかけて作られてこれでもかとお膳立てしてくれているブラウザ上で
細々したことに悩む馬鹿らしさに気がついたほうが良い
461 = :
要約:俺の分からないことは取るに足らないこと
462 = :
ブラウザ毎に精度違う可能性があるなら気に掛ける意味あるじゃん
何いってるのこの人
464 = :
>>502
const厨だからクロージャ使うのでもこっちのほうがいいですわ
arr.forEach((() => {
const 足す1 = n => n + 1;
const 掛ける2 = n => n * 2;
const 定数 = 42;
return (value, index, array) => {
console.log(`配列${JSON.stringify(array)}の${index}番目の要素${value}に1を足して2を掛けて定数42を足した数は${掛ける2(足す1(value)) + 定数}です。`);
};
})());
465 = :
>>505
ここは実際に困ってる問題を解決するスレであって
心配性構ってちゃんの遊び場ではないから
466 = :
要約:俺の認めない話題は取るに足らないこと
467 = :
<img>要素のonclick使うよりadEventLithnerの"click"使ったほうがいいの?
どっちも同じですか?
468 = :
↓のようにif文の条件に当てはまってreturnするケースの場合
リサイズイベントが走りませんでした。
ロードの際に全部読み込むので、リサイズイベントは発火するものだと
考えていたのですが、実際は読み込むときも条件次第で到達できなければ
イベント登録されないということなのでしょうか。
var test = function() {
if (...) {
return;
}
window.addEventListener('resize', function() {
...
});
};
469 = :
なんで発火すると思ったか詳しく
470 = :
>>512
よくよく考えたら当たり前っぽい気がしてきました。
冷静に考えるとイベントリスナだけ特別ってなわけないですもんね。
イベントリスナまでたどり着けてはじめて登録されるってことなんですね。
上手くいかない箇所を探していたところ、まさかのまさかだったので
勢いで質問してしまいました。
471 = :
ええんやで
473 = :
あってるよ
君は君のままでいい
475 = :
>>515
http://eng-entrance.com/java-javascript
476 = :
こいつキチガイか?
日本語が分からないから5chなんかに来るんだろうが
477 = :
zakoなのはjavascriptスレでjavaの質問をしてしまった自分だったと言う話。
自分が書いているプログラミング言語が何なのかも把握していないgomi
479 = :
全部ネットスケープが悪い
480 = :
いい加減、jQueryは不滅ってことでいいですかね?
481 = :
いい加減、jQuey信者がうざすぎるんですが
482 = :
何度もすみません。
所作について質問です。
load・resize・scroll などのイベントリスナ内で、それぞれ同じ変数を用いる場合、
親スコープで変数を宣言して、それぞれのイベントリスナ内では値を格納するだけなのか、
それぞれのイベントリスナで変数を宣言をしつつ値を格納するべきなのか、
どちらが普通なのでしょうか?
イベントリスナ内で呼び出した関数の返り値を代入する変数を想定しています。
変数名は一緒です。
よろしくお願いします。
483 = :
お前のその言葉での説明でわかるわけ無いだろ
コードかけや
485 = :
>>525
JavaScriptは言語で書き方や構造を縛るような作りにはなっていないし
そう言ったことを主張するような中心的なコミュニティも存在しない
つまり「普通」などない
487 = :
ちっぽけな事に拘るなとは言わんが
ここに居る数人に聞くよりも100のコードを読み書きして
自分で研究した方がよっぽど良い結果を得られるとは思わないか?
488 = :
変数は関数内に閉じ込めてカプセル化したほうがモジュール性がたかまるのでいいい
489 = :
文書内を全文検索して特定の単語の位置を取得して
所定のボタンをおしたら順次移動(Ctrl+Fみたいなの)
みたいなのってJSでどうやればできる?
490 = :
いまどきのPCは性能がいいので
よっぽどでかいデータを大量に出し入れするんじゃなけりゃ
そんなの気にしないでいい
491 = :
>>526
失礼しました。
各イベント内で同じ関数を実行し、その返り値として真偽値を受け取りたいのですが
値を代入する変数をどのように管理するかで悩んでいます。
①イベントの親スコープで宣言する
②各イベント内で宣言する
変数のスコープを狭めるには後者だと思うのですが、同じ名前の変数を何度も宣言する
記述を今のところ見たことがないため質問しました。
↓は①の例です。
var test = function() {
var returnValue;
var commonFunc = function(){...};
window.addEventListener('resize', function() {
returnValue = commonFunc();
...
});
window.addEventListener('scroll', function() {
returnValue = commonFunc();
...
});
};
>>527
状態変数をはじめて知りましたので調べてみます。
>>528
普通と言いますか、現役の人達はだいたいがこう書いてるからこうしとけ的なのが知りたいです。
493 = :
現役の人はだいたいvar使ってるんじゃね?
494 = :
状態保存したり、他から参照する必要があるなら外で宣言
関数内だけで完結できる変数なら中で宣言しとけ。わざわざ外で宣言して同じ変数使い回してたらバグの温床になりかねない
495 = :
IE11ですら不完全ながらlet,const使えたのにsafari9以下が足を引っ張ってたのがね
496 = :
ふつーバベる。
497 = :
変数は必要ない限り関数中に閉じ込めるのが基本って何回言えばいいんだよw
498 = :
>>534
変数の名前を全て管理する自信があるなら何やったって良い
ちなみに見たことが無いのは職場環境の問題
499 = :
>>534
①の書き方で良い
今回の場合、returnValueはcommonFuncに関係しているから、
commonFuncを外に出す以上、returnValueも外に出すのは十分に自然で
ニュアンス的に意味のある行為なのでその細かいセンスは自信を持って良い
500 = :
ノベルゲーム作っているのですが、
各選択肢の先をportalタグで持っておいて、
ある程度portalタグ内を読み勧めたら完全に遷移して後戻り出来なくしたいのですが、
portalが切り替わるエフェクトモーションの挙動というかそのあたりの調整ってJSでどこまでできるのでしょうか?
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.142 + (984) - [100%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
トップメニューへ / →のくす牧場書庫について