JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
探検
+ JavaScript の質問用スレッド vol.133 +
■ このスレッドは過去ログ倉庫に格納されています
2018/04/16(月) 00:09:43.45ID:???
2018/04/27(金) 21:10:14.58ID:???
SPAはウェブアプリには必要かもしれないが
実際には殆ど使われていない
実際には殆ど使われていない
2018/04/27(金) 21:26:15.72ID:???
要するに金を搾り取るための道具・査定を低くするための道具としては優秀
2018/04/27(金) 21:47:26.10ID:???
自分が出来る・分かる→必要!重要!
自分が出来ない・分からない→不要![自分が知ってるもの]で十分!
なんて言うんだっけこういうの?
自分が出来ない・分からない→不要![自分が知ってるもの]で十分!
なんて言うんだっけこういうの?
2018/04/27(金) 21:50:42.00ID:???
防衛機制の合理化だね。
酸っぱいブドウはその一例。
また英語圏では「Sour Grapes」は「負け惜しみ」を意味する熟語でもある。
手に入れたくてたまらないのに、人・物・地位・階級など、努力しても手が届かない対象がある場合、その対象を「価値がない・低級で自分にふさわしくない」ものとみてあきらめ、心の平安を得る。
酸っぱいブドウはその一例。
また英語圏では「Sour Grapes」は「負け惜しみ」を意味する熟語でもある。
手に入れたくてたまらないのに、人・物・地位・階級など、努力しても手が届かない対象がある場合、その対象を「価値がない・低級で自分にふさわしくない」ものとみてあきらめ、心の平安を得る。
2018/04/27(金) 21:55:29.34ID:???
と他人事のようにいうことで、心の平安を得る
2018/04/27(金) 22:02:39.21ID:???
loadashとかしらん超初心者だけど挑戦という体で
var func1 = () => {
console.log('debouce1')
}
var func2 = () => {
console.log('debouce2')
}
const f = (func) => {
return _.debounce( ()=>{
return func()
}, 1000)
var hoge = (fun) => {
f(fun);
}
hoge(func1);
hoge(func2);
var func1 = () => {
console.log('debouce1')
}
var func2 = () => {
console.log('debouce2')
}
const f = (func) => {
return _.debounce( ()=>{
return func()
}, 1000)
var hoge = (fun) => {
f(fun);
}
hoge(func1);
hoge(func2);
2018/04/27(金) 22:09:35.70ID:???
const hoge = (function() {
const f = _.debounce(()=>console.log('debounce'),1000);
return function() {
f();
}
)();
hoge();
hoge();
const f = _.debounce(()=>console.log('debounce'),1000);
return function() {
f();
}
)();
hoge();
hoge();
2018/04/27(金) 23:54:54.66ID:???
2018/04/28(土) 00:41:00.47ID:???
簡単なSPA なら、jQuery Mobile, Vue.js
Angular, React, Electron などは、複雑
Angular, React, Electron などは、複雑
2018/04/28(土) 01:50:40.01ID:???
2018/04/28(土) 02:11:36.03ID:???
結局、SPAとは1pのフロントで全部やる利点が欠点よりも明らかに大きいんですか?
「1pにできてファイル数少なくなるから管理が楽」
なんて抜かした阿呆は知ってるけど
「1pにできてファイル数少なくなるから管理が楽」
なんて抜かした阿呆は知ってるけど
2018/04/28(土) 02:31:47.46ID:???
ファイルは逆に多くなるだろうなw
2018/04/28(土) 02:48:12.61ID:???
(フロントに)一極集中させたがったり
ファイル数を少なくしたがる層が一定数いるけど、なんでなのかね
ファイル数を少なくしたがる層が一定数いるけど、なんでなのかね
2018/04/28(土) 10:45:21.43ID:???
デプロイは楽だな
2018/04/28(土) 10:50:18.65ID:???
自動化するんだから数ではなにも変わらないと思うが?
2018/04/28(土) 10:58:27.81ID:???
難しいからspaクソ言うてる勢が自動デプロイ環境なんて整えるわけないよね。
いまだにftpでポチポチやってるに1票ww
いまだにftpでポチポチやってるに1票ww
2018/04/28(土) 11:12:49.88ID:???
ん? SPAって最終的に1ページになるだけで
ソースコードは普通に複数のファイルになるぞ
そしてビルド環境必須だから当然整えてるし、
それができる人ならデプロイ環境も整えられる
ソースコードは普通に複数のファイルになるぞ
そしてビルド環境必須だから当然整えてるし、
それができる人ならデプロイ環境も整えられる
2018/04/28(土) 11:18:14.92ID:???
index.htmlとbundle.jsの2ファイルになるわ
2018/04/28(土) 11:26:13.26ID:???
SPAって別にビルド環境必須ではないぞ
別にサイトのうち多くのデータを1つのページで扱わないといけないこともないし
例えば2ページ間の遷移をajaxで行えばそのページはSPAと言える
もうちょっとSPAっぽくしたければ、
Nodeのようなアプリケーションサーバとpjax使えば非常に簡単に作れる
別にサイトのうち多くのデータを1つのページで扱わないといけないこともないし
例えば2ページ間の遷移をajaxで行えばそのページはSPAと言える
もうちょっとSPAっぽくしたければ、
Nodeのようなアプリケーションサーバとpjax使えば非常に簡単に作れる
2018/04/28(土) 11:28:56.98ID:???
何度も検索するようなページではSPAにすれば通信が減る
とか書いてるサイトがクソほどあって失笑
お前検索をクライアントサイドに閉じ込められると思ってんのか
検索結果部分だけ動的に更新させりゃ済むだろが
とか書いてるサイトがクソほどあって失笑
お前検索をクライアントサイドに閉じ込められると思ってんのか
検索結果部分だけ動的に更新させりゃ済むだろが
2018/04/28(土) 12:28:48.67ID:???
> 検索結果部分だけ動的に更新させりゃ済むだろが
それ検索結果の表示ページに遷移しないんだからアプリかどうかは知らんがシングルページじゃん
> お前検索をクライアントサイドに閉じ込められると思ってんのか
クライアントサイドに閉じ込められるかどうかはspaうんぬんと関係ないぞ。
クライアントサイドをどう作るかであって、サーバサイドと連携するしないやどうやるかは別の話で関係ない。
それ検索結果の表示ページに遷移しないんだからアプリかどうかは知らんがシングルページじゃん
> お前検索をクライアントサイドに閉じ込められると思ってんのか
クライアントサイドに閉じ込められるかどうかはspaうんぬんと関係ないぞ。
クライアントサイドをどう作るかであって、サーバサイドと連携するしないやどうやるかは別の話で関係ない。
2018/04/28(土) 12:47:29.15ID:???
2018/04/28(土) 12:48:46.96ID:???
ajaxっていつからSPAって名前に変わったんですかねえ…
2018/04/28(土) 12:54:10.63ID:???
SPAなんて単なる概念でしょ
ムキになりすぎ
ムキになりすぎ
2018/04/28(土) 13:59:36.52ID:???
ぶっちゃけ提唱されたけどほとんど馴染まないまま消え去っていってる最中だからな
2018/04/28(土) 16:48:58.11ID:???
2018/04/28(土) 16:53:28.57ID:???
let a = function hoge(){
console.log(hoge);
}
a();
このような形で関数内から自分自身を参照出来ますが
関数外部からhoge();
としたらエラーになります
この関数名は、関数内からしか参照できないのでしょうか?
だとしたら関数にstatic変数を持たせるのに都合がいいですが、
関数名を使ってstatic変数を持たせる方法はアリなのでしょうか?
console.log(hoge);
}
a();
このような形で関数内から自分自身を参照出来ますが
関数外部からhoge();
としたらエラーになります
この関数名は、関数内からしか参照できないのでしょうか?
だとしたら関数にstatic変数を持たせるのに都合がいいですが、
関数名を使ってstatic変数を持たせる方法はアリなのでしょうか?
2018/04/28(土) 18:36:40.24ID:???
何がしたいか知らんけどクロージャ
var f = (n) => {
var count =n
return ()=> {
return ++count;
}
}
var f1 = f(1);
var f100 = f(100);
f1() //2
f100() //101
f1() //3
f100() //101
var f = (n) => {
var count =n
return ()=> {
return ++count;
}
}
var f1 = f(1);
var f100 = f(100);
f1() //2
f100() //101
f1() //3
f100() //101
2018/04/28(土) 18:43:04.99ID:???
>>172のパクリ?
2018/04/28(土) 19:06:05.21ID:???
アンカくらいつけろよ無能
2018/04/28(土) 19:34:59.86ID:???
あんか(行火)は炭火、電気ヒーター、化学発熱体等を内蔵した
一人用可搬型の採暖用保温具。 布団などに入れ直接手足に当てて
暖をとる暖房器具である。 地域や世代によっては
「こたつ」「足炬燵」と呼ばれることもある。
一人用可搬型の採暖用保温具。 布団などに入れ直接手足に当てて
暖をとる暖房器具である。 地域や世代によっては
「こたつ」「足炬燵」と呼ばれることもある。
2018/04/28(土) 19:45:59.98ID:???
はいはいおもしろいおもしろい
2018/04/28(土) 20:15:25.53ID:???
199Name_Not_Found
2018/04/28(土) 20:24:14.55ID:npVPEEtd2018/04/28(土) 20:32:01.16ID:???
2018/04/28(土) 20:35:30.10ID:???
2018/04/28(土) 20:38:10.17ID:???
2018/04/28(土) 20:59:34.26ID:???
他人がどういうコード書こうと批判する気は無いけど
>だとしたら関数にstatic変数を持たせるのに都合がいいですが
これはちょっとわからない
>だとしたら関数にstatic変数を持たせるのに都合がいいですが
これはちょっとわからない
204Name_Not_Found
2018/04/28(土) 21:24:58.02ID:npVPEEtd2018/04/28(土) 21:52:42.23ID:???
>>204
この場合の自関数名は読み取り専用
自前でhoge.foo = 1; できるから、ではなくて
「関数にstatic変数を持たせる」という目的に、この場合の自関数名が関係しない
なので意味がわからない
この場合の自関数名は読み取り専用
自前でhoge.foo = 1; できるから、ではなくて
「関数にstatic変数を持たせる」という目的に、この場合の自関数名が関係しない
なので意味がわからない
206Name_Not_Found
2018/04/28(土) 22:19:46.07ID:npVPEEtd >>205
正直に言うと、後段の部分は俺も理解してなくて、質問者本人が判断すれば良いから投げた
突っ込みどころを出せば、キリがない
- 関数名の参照はスコープからの参照だよな?Function#nameは外のスコープからも参照可能だが、関係ないよな?
- そもそも、static変数はクラスのためのものだが、どういう用途を想定してるんだ?
- つか、JavaScriptにstatic変数はないが、Java定義の認識でいいのか?
- sratic変数は外のスコープから参照可能だが、スコープ上で関数への参照が閉じ込められる性質とどう組み合わせるんだ?
正直に言うと、後段の部分は俺も理解してなくて、質問者本人が判断すれば良いから投げた
突っ込みどころを出せば、キリがない
- 関数名の参照はスコープからの参照だよな?Function#nameは外のスコープからも参照可能だが、関係ないよな?
- そもそも、static変数はクラスのためのものだが、どういう用途を想定してるんだ?
- つか、JavaScriptにstatic変数はないが、Java定義の認識でいいのか?
- sratic変数は外のスコープから参照可能だが、スコープ上で関数への参照が閉じ込められる性質とどう組み合わせるんだ?
2018/04/28(土) 22:27:36.73ID:???
自分はCのstaticの意だと解釈した
2018/04/28(土) 22:37:23.05ID:???
2018/04/28(土) 22:44:14.05ID:???
妄想に論理性を求めるのは無駄というもの
2018/04/28(土) 22:52:41.12ID:???
ふぅ、こんなピリピリした話をしてるなら
いつものようにjQueryの話題で盛り上がっていたほうが良いな
いつものようにjQueryの話題で盛り上がっていたほうが良いな
2018/04/28(土) 22:59:25.11ID:???
俺はSPAの実際のところが気になる
できるかどうか、難易、フレームワーク云々、以前にSPA必須な案件にまったく遭遇しない
できるかどうか、難易、フレームワーク云々、以前にSPA必須な案件にまったく遭遇しない
2018/04/28(土) 23:06:03.45ID:???
普通のサイトがSPA取り入れても
違和感が出るだけだしな。
クリックしたらページが変わるだろう所で変わらないから
違う、そうじゃないって思っちゃう
違和感が出るだけだしな。
クリックしたらページが変わるだろう所で変わらないから
違う、そうじゃないって思っちゃう
2018/04/28(土) 23:23:14.82ID:???
そんなもんトランジションアニメーションさせればいいだけの話。
アドレスバーのurlも自由自在よ。
アドレスバーのurlも自由自在よ。
2018/04/29(日) 00:13:40.97ID:???
そこまでしてSPAにこだわるメリットがない
2018/04/29(日) 00:29:00.58ID:???
2018/04/29(日) 12:00:52.31ID:???
2018/04/29(日) 12:50:16.42ID:???
>>215
$(document).on('click', '#hoge', function f(e) {
if (!f.fadeout) {
f.fadeout = _.debounce(() => {
$('#moge').fadeOut();
}, 10000);
}
// いろいろな処理
f.fadeout();
});
こんな感じに、関数の中から同一オブジェクトにアクセスしたい場合に使います
fadeout開始するまでの待ち時間に再び呼び出された時には
前回のfadeout予約がキャンセルされるような関数を、lodashのdebounceで作っています
jqueryのdelayとstopで同じことをしようとしたのですが何故かうまくいかなかったので。
これが唯一の実装方法でないのは当然ですが、複雑さを関数の中だけに閉じ込めるのがシンプルで好みです
もっといい方法ありますか?
$(document).on('click', '#hoge', function f(e) {
if (!f.fadeout) {
f.fadeout = _.debounce(() => {
$('#moge').fadeOut();
}, 10000);
}
// いろいろな処理
f.fadeout();
});
こんな感じに、関数の中から同一オブジェクトにアクセスしたい場合に使います
fadeout開始するまでの待ち時間に再び呼び出された時には
前回のfadeout予約がキャンセルされるような関数を、lodashのdebounceで作っています
jqueryのdelayとstopで同じことをしようとしたのですが何故かうまくいかなかったので。
これが唯一の実装方法でないのは当然ですが、複雑さを関数の中だけに閉じ込めるのがシンプルで好みです
もっといい方法ありますか?
2018/04/29(日) 13:30:10.24ID:???
>>192で言ってることをどこでつかっとんそれ?
2018/04/29(日) 14:54:33.07ID:???
イベントは、発行/購読パターンが基本
Mediator もある。
仲介者、まとめ役、橋渡し役、管制塔
イベントキャンセルできるイベントキューのライブラリは、
オライリーの著者などの、外人が作っている
自分で作ったら、複雑すぎて大変
Stoyan Stefanov 著
JavaScriptパターン ―優れたアプリケーションのための作法、2011
オブジェクト指向JavaScript、2012
JavaScriptデザインパターン、Addy Osmani, 2013
Mediator もある。
仲介者、まとめ役、橋渡し役、管制塔
イベントキャンセルできるイベントキューのライブラリは、
オライリーの著者などの、外人が作っている
自分で作ったら、複雑すぎて大変
Stoyan Stefanov 著
JavaScriptパターン ―優れたアプリケーションのための作法、2011
オブジェクト指向JavaScript、2012
JavaScriptデザインパターン、Addy Osmani, 2013
2018/04/29(日) 17:08:55.60ID:???
setTimeoutの戻り値を自関数の中で管理するだけで済むように見えるんだが、こういう挙動が欲しいのではないのか?
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if( ( 'timeoutId' in f ) === false )
f.timeoutId = false;
if( f.timeoutId !== false )
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = false;
/* my oparation */
}, delay );
}, false );
目印は別にfalseでなくてもいいが
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if( ( 'timeoutId' in f ) === false )
f.timeoutId = false;
if( f.timeoutId !== false )
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = false;
/* my oparation */
}, delay );
}, false );
目印は別にfalseでなくてもいいが
2018/04/29(日) 17:13:42.83ID:???
>>218
何を言っているのか分かりません
何を言っているのか分かりません
2018/04/29(日) 17:15:23.82ID:???
2018/04/29(日) 17:15:50.11ID:???
2018/04/29(日) 17:16:45.71ID:???
>>223
目的の挙動はこれで合っているのか間違っているのか、だけが欲しい
目的の挙動はこれで合っているのか間違っているのか、だけが欲しい
2018/04/29(日) 17:17:08.29ID:???
2018/04/29(日) 17:18:56.35ID:???
2018/04/29(日) 17:19:32.79ID:???
>>225
>この関数名は、関数内からしか参照できないのでしょうか?
>だとしたら関数にstatic変数を持たせるのに都合がいいですが、
「関数名」を「参照できる範囲(private性)」について、「だとしたら」で繋いでいるから
>この関数名は、関数内からしか参照できないのでしょうか?
>だとしたら関数にstatic変数を持たせるのに都合がいいですが、
「関数名」を「参照できる範囲(private性)」について、「だとしたら」で繋いでいるから
2018/04/29(日) 17:19:55.84ID:???
・・・・これ複雑か?
2018/04/29(日) 17:21:24.64ID:???
質問スレにはままあることですが
回答者に回るレベルに至っていない連中がちょっと回答者に回りすぎでは?
もう少しわきまえて下さい
分かりましたね?
回答者に回るレベルに至っていない連中がちょっと回答者に回りすぎでは?
もう少しわきまえて下さい
分かりましたね?
2018/04/29(日) 17:21:42.89ID:???
>>226
合っているのだな
合っているのだな
2018/04/29(日) 17:22:11.32ID:???
>>228
ええ、無駄に複雑ですね。無駄に。
ええ、無駄に複雑ですね。無駄に。
2018/04/29(日) 17:28:47.28ID:???
$('#hoge').on('hoge',(e)=>{
console.log('hoge');
});
$(document).trigger('hoge');
このように上位要素でtriggerしても下位の要素で受け取ることは出来ません
上位で受け取ってコールバックするような機構が必要だと思いますが
どうやるのが定石なのでしょうか?
console.log('hoge');
});
$(document).trigger('hoge');
このように上位要素でtriggerしても下位の要素で受け取ることは出来ません
上位で受け取ってコールバックするような機構が必要だと思いますが
どうやるのが定石なのでしょうか?
233Name_Not_Found
2018/04/29(日) 17:45:58.89ID:e1YEqCos2018/04/29(日) 17:50:40.94ID:???
>>229
バカが回答をりかいできなくて逆ギレしだすのも質問スレにはよくある
バカが回答をりかいできなくて逆ギレしだすのも質問スレにはよくある
2018/04/29(日) 17:52:00.36ID:???
結局>>192をどうつかってるのか分からんだよね
2018/04/29(日) 17:52:24.38ID:???
>>232
jqueryスレへどうぞ
jqueryスレへどうぞ
2018/04/29(日) 17:54:55.27ID:???
> 関数外部からhoge();
> としたらエラーになります
こことかpublic/privateの話だよね
> としたらエラーになります
こことかpublic/privateの話だよね
2018/04/29(日) 18:17:39.97ID:???
2018/04/29(日) 18:19:11.61ID:???
2018/04/29(日) 23:26:04.99ID:???
2018/04/30(月) 02:27:12.24ID:???
うっせかす
俺より底辺共が生意気言うなぼけ
俺より底辺共が生意気言うなぼけ
2018/04/30(月) 07:42:58.80ID:???
簡潔で非ライブラリ依存なコードをあっさり提示されてて草
2018/04/30(月) 08:54:29.58ID:???
>>242
何の話?
何の話?
2018/04/30(月) 09:26:53.31ID:???
わからんね。簡素じゃなくて冗長なクソコードなら
>>220にあるけどそれのことかな?w
なにがクソかというと無駄なことしてるから。
clearTimeoutが無効な値を渡しても例外でないのは保証されてるのだから
>>220はこれだけでいい。これがクソコードである根拠
やらなくて良いことをやるのは丁寧なのではなく単に無駄なだけ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
/* my oparation */
}, delay );
}, false );
そしてもちろんこれはライブラリを使えば、もっと簡素に実現できる
$('#mybutton').click(_.debounce(function() {
/* my oparation */
}, 3000));
非ライブラリのコードも簡素に書けないやつが、
ライブラリよりも簡素に書けるとか言わないほうが良い
恥をかくだけだぞw
>>220にあるけどそれのことかな?w
なにがクソかというと無駄なことしてるから。
clearTimeoutが無効な値を渡しても例外でないのは保証されてるのだから
>>220はこれだけでいい。これがクソコードである根拠
やらなくて良いことをやるのは丁寧なのではなく単に無駄なだけ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
/* my oparation */
}, delay );
}, false );
そしてもちろんこれはライブラリを使えば、もっと簡素に実現できる
$('#mybutton').click(_.debounce(function() {
/* my oparation */
}, 3000));
非ライブラリのコードも簡素に書けないやつが、
ライブラリよりも簡素に書けるとか言わないほうが良い
恥をかくだけだぞw
2018/04/30(月) 09:38:55.23ID:???
>>217
単に_.debounceの使い方が良くない
_.debounce は オリジナルのイベントハンドラを
遅延実行機能付のイベントハンドラに変えるもの
と考えたほうが良い
そこに書いたコードは、これだけでいい
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
jQueryのstopはよく分からんね。俺もアニメーションはあまり使わないので。
俺が言えることは今はCSSを使ったほうが良いということぐらいだろう
stopだけで単体で実行したらキャンセルされるが、stop().delay()みたいに
続けるとキャンセルできないアニメーションのキュー(?)の絡みの仕様なんだろうけど
ドキュメントにも、setTimeoutを置き換えるものじゃないと書いてあるので
https://api.jquery.com/delay/
setTimeoutをそのまま使うか、lodashでラップされた関数を使うほうが良いのだろう
単に_.debounceの使い方が良くない
_.debounce は オリジナルのイベントハンドラを
遅延実行機能付のイベントハンドラに変えるもの
と考えたほうが良い
そこに書いたコードは、これだけでいい
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
jQueryのstopはよく分からんね。俺もアニメーションはあまり使わないので。
俺が言えることは今はCSSを使ったほうが良いということぐらいだろう
stopだけで単体で実行したらキャンセルされるが、stop().delay()みたいに
続けるとキャンセルできないアニメーションのキュー(?)の絡みの仕様なんだろうけど
ドキュメントにも、setTimeoutを置き換えるものじゃないと書いてあるので
https://api.jquery.com/delay/
setTimeoutをそのまま使うか、lodashでラップされた関数を使うほうが良いのだろう
2018/04/30(月) 09:41:25.07ID:???
やっぱり俺がいないとスレのレベルが下がるなw
jQueryを使ったコードだけでなく、
ネイティブのコードもね
jQueryを使ったコードだけでなく、
ネイティブのコードもね
2018/04/30(月) 10:15:48.14ID:???
>>244
旧泥でclearTimeoutにundefinedを渡すとエラー吐くことがあった気がするが
nullや、あと確かfalseだとエラーを吐かない
LS仕様ではdo nothingと決められていることや
ライブラリではその辺の扱いを別所で定義しているから行数が減ることは間違いない
見て読みやすいコードは無駄ではないことも間違いないとは思うが
旧泥でclearTimeoutにundefinedを渡すとエラー吐くことがあった気がするが
nullや、あと確かfalseだとエラーを吐かない
LS仕様ではdo nothingと決められていることや
ライブラリではその辺の扱いを別所で定義しているから行数が減ることは間違いない
見て読みやすいコードは無駄ではないことも間違いないとは思うが
248247
2018/04/30(月) 10:21:17.97ID:??? 今ちらっとlodashのgithubを見てきたがdebounce.jsのcancelで以下のように確認を入れてから
cancelTimerでclearTimeoutしているところから見ても、少なくとも無駄ではないと思う
というより、事前確認が無駄ならlodashのこの記述も無駄になるような
if (timerId !== undefined) {
cancelTimer(timerId)
}
cancelTimerでclearTimeoutしているところから見ても、少なくとも無駄ではないと思う
というより、事前確認が無駄ならlodashのこの記述も無駄になるような
if (timerId !== undefined) {
cancelTimer(timerId)
}
2018/04/30(月) 10:27:39.80ID:???
>>247
そういうことを考慮したとしてもこれだけですむ
冗長なことに変わりはないよ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if (f.timeoutId) clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = undefined;
/* my oparation */
}, delay );
}, false );
そういうことを考慮したとしてもこれだけですむ
冗長なことに変わりはないよ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if (f.timeoutId) clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = undefined;
/* my oparation */
}, delay );
}, false );
250247
2018/04/30(月) 10:46:15.44ID:??? >>249
clearTimeoutに渡す内容の確認はクソコードかつ無駄ではなく必要なものだったと
認めたということで良いかな
初期化は好み次第だと思うけどね
javascriptではプロパティは事前定義しなくてもいいというのは正直どうかと思うところがある
clearTimeoutに渡す内容の確認はクソコードかつ無駄ではなく必要なものだったと
認めたということで良いかな
初期化は好み次第だと思うけどね
javascriptではプロパティは事前定義しなくてもいいというのは正直どうかと思うところがある
2018/04/30(月) 10:51:32.04ID:???
いや? 無駄だよ。
意味があるというのならその証拠をどうぞ
意味があるというのならその証拠をどうぞ
2018/04/30(月) 10:56:25.11ID:???
こんな木っ端の作法で云々言うのやめようよ
2018/04/30(月) 10:57:24.46ID:???
jq兄貴lodashを否定してしまう
2018/04/30(月) 10:57:57.08ID:???
せやねw
最終的な答の簡潔さに比べれば
そんな問題考えるだけ無駄
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
最終的な答の簡潔さに比べれば
そんな問題考えるだけ無駄
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
2018/04/30(月) 10:58:33.72ID:???
この流れで認めるとこはビシっと認めたらかっこよかった
2018/04/30(月) 11:01:33.09ID:???
どこかの誰かと違って、ライブラリ最高って言ってるわけじゃないんだから
ライブラリにも無駄なところはあるよ。(はい、ビシッと認めましたよ?w)
だからこそライブラリはバージョンアップし続けてるんだろう。
ライブラリにも無駄なところはあるよ。(はい、ビシッと認めましたよ?w)
だからこそライブラリはバージョンアップし続けてるんだろう。
2018/04/30(月) 16:37:45.33ID:???
解釈の原因は解釈者自身の固定観念。解釈の自由には責任が伴う
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左
感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左
感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
2018/04/30(月) 17:47:37.77ID:???
レベル低い人ばっかりですね。
面倒くさいのでレベル低いだけで私のコード理解できないとかいう人はレスしないでもらえますか?
面倒くさいのでレベル低いだけで私のコード理解できないとかいう人はレスしないでもらえますか?
2018/04/30(月) 18:20:09.86ID:???
コテ付けて貰えば最初から近付かないよ
2018/04/30(月) 19:08:04.78ID:???
2018/04/30(月) 19:21:10.31ID:???
>>260
自称高レベルの君が書いたコードはどれなの?
自称高レベルの君が書いたコードはどれなの?
2018/04/30(月) 19:37:40.07ID:???
>>261
バカなのですか?
あなた達が低レベルが理解できないとかいってるコードがそれですよ
聞かないとわからないほど低レベルなんですか?
私は誰でも名前をしってる会社で働いてるんです。
あなた達とはレベルガチがすぎる。
まさか5chがここまでレベル低いとは思わなかったのですが
もうこんなとこ来ません。
バカなのですか?
あなた達が低レベルが理解できないとかいってるコードがそれですよ
聞かないとわからないほど低レベルなんですか?
私は誰でも名前をしってる会社で働いてるんです。
あなた達とはレベルガチがすぎる。
まさか5chがここまでレベル低いとは思わなかったのですが
もうこんなとこ来ません。
2018/04/30(月) 19:48:06.51ID:???
モウコネーヨ懐かしい
2018/04/30(月) 19:52:39.35ID:???
有難い
2018/04/30(月) 19:59:30.21ID:???
ウワァァン
2018/05/01(火) 09:27:21.96ID:???
初めてのandroidアプリ開発でSPA使っちゃった(cordova)けどまずかった?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 日中対立「着地点」見えず 中国、他国にも圧力の過去―関係悪化から1カ月 [蚤の市★]
- 日本の英語力96位から動かず AI評価で可視化された「読めるが話せない」の正体 (EF EPI 2025) ★2 [少考さん★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- 結局白米にかけるベストパートナーは「ごはんですよ」と「なめ茸」どっちなんや?
- うまトマ食って「うまトマ〜」って言って滑ったんだが!?
- なんでネトウヨが勃起してるの? [377482965]
- 今これで全力シコってる
- 千反田えるってうんこするの?
