元スレ+ JavaScript の質問用スレッド vol.115 +
JavaScript覧 / PC版 /みんなの評価 :
301 = :
>>299
Underscoreよりも先ってことは
先行って考えてあってるよ。
そこに書いてある機能は
JavaScritにない機能だから
302 = :
>>301
どうも私の意図が期待通りに伝わっていないように見受けられます。
私が意図するのは Lo-Dash が ECMAScript の先行仕様となった機能です。
つまり、ECMAScript が定義される前に Lo-Dash がその関数を定義したことを証明しなければなりません。
例えば、ES5 の Array.prototype.forEash は Lo-Dash にもありますが、ES5 が定義されてから Lo-Dash で実装されたのならそれは Lo-Dash が先行したとはいいません。
ES5 ないし ES6 と同じ関数が Lo-Dash にあるだけでは Lo-Dash が先行したことにはならないのです。
お分かり頂けますでしょうか。
> そこに書いてある機能はJavaScritにない機能だから
JavaScript という仕様はありませんが、何を指すのでしょうか。
303 = :
疑問に託けて荒らし弄って遊ぶのも良くないと思うの
304 = :
setTimeout( function(){
~処理~
}.apply(this), 10);
//}.call(this), 10);
//}.bind(this), 10);
settimeoutの中ではthisにグローバルがセットされてしまうから
対策として、apply、call、bindのどれかを使おうと考えているのですが、
どれを使えばいいでしょうか?
この3つのメソッドって違いがよくわかりません。
305 = :
>>1-5のテンプレ更新した
http://jsfiddle.net/fH4cC/32/show/
>>209,211
反映した
>>212-214
反対意見があるようなので様子見
提案リストにあがっている
「質問の消化を最優先に。議論や雑談は禁止じゃないけど流れを見極めて。(※元は質問の体をしていても質問者を置き去りにして住人同士で議論や雑談になってきたときに冷静さを取り戻すためにも。自主的に我に返れなくても冷静な人に気付かせてもらうためにも。)」
は一考の余地があるかもしれないが、暫定保留
307 = :
>>304
感覚的にはbindだが、背景が不明な状況で確かな事はいえない
3つの違いを理解できるまで使いこなしてから決めるのが最善だと思う
308 = :
call=thisを指定して関数呼び出し出来る。引数を列挙させなくてはいけない。ES3でも可
apply=thisを指定して関数呼び出し出来る。引数を配列で渡せる。ES3でも可
bind=thisを指定する別の関数を生成。ES5以降
bindはコールバック関数を作る時に使う。ES3対応させたいならlodashを使えばいい。
309 = :
これはひどい。もうlodashをNGに入れざるをえないな。。。
310 = :
勝手にそうしとけよw
アンチlodashの原始人どもは邪魔なだけだから
311 = :
>>304
bind
312 = :
document.getElementByIdを
jqueryでするのはどうやればいいですか?
314 = :
ありがとうございました
315 = :
あるid要素の有無を知りたい時には
$('#'+id).length
を調べるのが普通ですか?
316 = :
>>315
いいえ。#は不要です。
317 = :
testというidの要素を示すセレクターは
#test
ですよね?
318 = :
>>317
そうですね。それは「id要素」ではありませんが。
321 = :
素朴な疑問だけど、将来的にthisが呼び出し元に依存しないようになることってありえるのかな・・・?
322 = :
アロー関数いいよね。
たとえばこんなコード(配列の各要素を3倍した配列を返す)が
_.map([1, 2, 3], function(num) { return num * 3; });
たったのこれだけになる。
_.map([1, 2, 3], num => num * 3);
324 = :
みなさまありがとうございます。
bindを使ってみます。
bindは、goodpatrsに定義の仕方が載っていたので、
使えないブラウザ向けに使おうと考えてます。
lodashは今度調べます。
また、以前質問しました
var obokata={};
obokata.value="捏造";
obokata.stap=(function(){alert(this.value)});
obokata.stap();//捏造
obokata.stap2=(function(){alert(this.value)})();//undefined
メソッドを即時実行関数式にした場合は、callを使うのがベストなのでしょうか?
obokata.stap2=(function(){alert(this.value)}).call(obokata); //捏造
325 = :
ゲーム制作などのサンプルコードをみていると
まるでパラパラ漫画のように一旦全ての要素を削除後、一から要素を構築というコードが多いのですが
要素を使いまわすことに何かデメリットでもあるのでしょうか?
326 = :
>>325
そのサンプルコードが糞なだけじゃない?
デスクトップアプリ、一般のゲームアプリでは全部消してから
再描画するのは、ごく普通のやり方。
でもそれをDOMの世界に持ち込んでもだめだろう。
WebGLとかを使うなら、全部消して再描画でいいけどね。
たんにDOMを使ったゲーム作成に最適化されてないだけかと。
327 = :
>>318
「id要素」とは何?
328 = :
JavaScriptは最初から関数が第一級オブジェクトの先鋭的な関数型プログラムができる言語と言える
ライブラリ使わなきゃ無理な訳じゃない
329 = :
>>325
そのゲームは2Dか3Dのどっち?
330 = :
>>292>>293
簡単なようで難しい問題だったんですか。プログラミングってのは難しいですな
331 = :
>>328
いや、JavaScriptが関数型プログラムができる言語だから
関数型プログラミングに適したライブラリが出来たわけ。
このライブラリがなければ、自力実装しなきゃいけないよ?
332 = :
ライブラリなんていらないだろ。
全部自分で作ればいいだけ。
333 = :
というか、if(!hoge && hoge!=0)が成立するのって何?
334 = :
面倒くさい書き方をするな。
if (hoge || hoge==0) でいいだろ
335 = :
336 = :
>>274
古いブラウザでも、動くんだろう
新しいブラウザなら、そのブラウザにあるforEachを使う
バグを減らして、開発コストを抑えるのが、目的
337 = :
>>335
レスアンカーつけるようにするといいよ
338 = :
数値で、なおかつ0より上ってことだろ?
だから>>334はおかしい
343 = :
>>342
URLが相対指定だったりしない?
344 = :
>>342
とりあえず、素人サイトを参考にするな。気持ち悪いコードだ。
まず、 new Array(); は使わない。そして配列への代入は一気にやれ。
必要ないのにインデックス番号を書くな。変数名は複数形にしろ。
更に推奨で、HTML5ならtype属性はもう要らない。
グローバル変数nを使うな。aタグが閉じられていない。
borderはスタイルシートで消せ
<style>
img { border: none }
</style>
<script>
var articles = [
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
];
var n = Math.floor(Math.random() * articles.length);
document.write("<a href='"+article[n]+"'><img src='表示させたい画像のURL' alt='ランダム記事'></a>");
</script>
345 = :
おっと、このままじゃarticlesもnもグローバルだったなw
さてここからはjQueryとlodashを使おう。
<style>
img { border: none }
</style>
<script>
$(function() {
var articles = [
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
"表示させたいページのURL",
];
$('#random-url').attr('href', articles[_.random(articles.length)]);
});
</script>
<a id="random-url"><img src='表示させたい画像のURL' alt='ランダム記事'></a>
347 = :
エスケープすんのがめんどくせーからだろ
349 = :
なにそれマジレス?
350 = :
>>327
>>315に聞いて下さい。
言葉通りに受け取るならタイプセレクタを使います。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.109 + (1001) - [95%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.100 + (1001) - [95%] - 2012/6/13 22:46
トップメニューへ / →のくす牧場書庫について