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

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

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

302 = :

上記は誤記した、下記に質問書き直す

c=0; if (なんか条件) c+=1;
とあるソースコードで上記のコードを見かけたんだけど
これってc=1;の代入じゃなくてc+=1;の加算代入にしてる意味って何かあるの?

303 = :

if文で{}括弧使わずカンマで区切って使ったりすると文字数が減る
if (a==b) {a=10; b=20; c=30;}
if (a==b) a=10, b=20, c=30;

304 = :

>>302
意味ないね

305 = :

>>303
な、なるほどこんな使い方が

306 = :

>>300
やはりリークするのですね、ありがとう
そこで疑問ですが、大きなアプリケーションなどを作る方はどのようにイベントリスナーの追加や削除をしているのですか?
追加するときにいちいちdocument.addEventListener ? ~ : ~;などとやっているのでしょうか
それとも関数を使って必ずdetach/removeするという形にしているのでしょうか

309 = :

意図不明の具体例っすか

310 = :

var a = 0;
var b = 0;

var a = 0, b = 0;
と書いてコードがババァにならないようにするとか。

313 = :

>>310それカンマ演算子ちゃう

function hoge() { alert('hoge'); }

if (a = 1, hoge(), a != b) alert('baka'); //hogeる

var b=1, hoge(); //エラー

318 = :

b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;

b=c, c=0;if (a==1 || a==4) b+=1, c=1; else if (a==2) b+=2, c=2;
つまり人がコードを読む上で上記の2つでは何か意味が違うってことですか?

319 = :

質問を間違えました、意味の違いは何だと思われますか?

322 = :

実行結果に変わりがあるわけじゃないんだし好きに書けばいいじゃないか
こんなくだらないことに拘って質問しまくんなよ

324 = :

馬鹿ばっかり

325 = :

ルリルリたん

326 = :

実は裏技でね
a = 1; b = 1; よりも a = 1, b = 1; にしたほうが処理速度が少し向上するの
実は裏技でね
a = 0; a = 1; よりも a = 0; a += 1; のほうが処理速度が少し向上するの

327 :

ただの代入にするとメモリの再割り当てが生じるだろ

328 = 327 :

コンマだと次は必ず式が来るがセミコロンだと次が式とは限らんだろ
コード解析処理に違いがあるだろ

329 = 327 :

314はfor使わずに同じコードわざわざ羅列してんのは速度重視してんの一目で分かるだろ

330 = :

ここできくのがいいのかわからないけど質問します。
ブログの最新記事のみに広告表示させたいんですが、
javascriptでできます?

331 = :

>>330
できます。

332 = :

>>395,306
原始的な addEvent なら
http://gist.github.com/758906/db5cd03c967c368a50d095854850fb16cf9f95b3
this 値を書き換えたいなら、window unload 時に detachEvent してください。
http://gist.github.com/758906/0e1047fea1f2bf4781811cc3e6d281196448b597
this 値に手を出すなら event まで書き換えておけば面倒がなくて良いと思います。

333 = :

次スレのテンプレにこれもいれて
http://cou929.nu/data/google_javascript_style_guide/

335 = :

オブジェクト指向の書き方を教えてください
PHPでいう以下の書き方をprototypeを使わない方法でjavascriptで書くとどう書けますか?

class A
{
private $string;

function _construct($arg)
{
$this->string = $arg;
}

public function echo()
{
return $this->string;
}

public function view()
{
return $this->hidden();
}

private function hidden()
{
return "秘密のあっこちゃん";
}

}

$obj = new A("文字列");
print $obj->echo();
print $obj->view();

336 = :

>>335
http://ideone.com/EeJ8Y

337 = :

>>334
> XHRならonreadystatechangeにnullでも突っ込め
これは回避できないパターンだったような

338 = :

>>337
すまんnew Functionを突っ込めだな
COM由来のは型が一致しないと代入できんから

339 = :

>>336
それstringがpublicになってる
http://ideone.com/Pe7ar

340 = :

>>336
>>339
神乙

341 = :

>>332,334
ありがとうございます
>>332
やはりクロージャを使わないaddEventでthisやeventオブジェクトの違いを関数内で吸収するか
detachEventをするために無名関数は使わず、unloadですべてdettachEventする仕組みを組まなければならないようですね
>>334
なるほど、上書きしたり削除しない親要素で監視するというのは盲点でした そうします
>コンテキスト共有の必要があるならthisにそれを持たせろ
これがよくわからないのですが、古いIEではthis = event.srcElementみたいに書くということでしょうか?

344 = :

>>341
var listener = {
  draggable: false,
  handleEvent: function(e) {
    switch (e.type) {
    case 'mousedown': this.dragging = true; return;
    case 'mousemove': ...; return;
    case 'mouseup': this.dragging = false; return;
    }
  }
};
document.addEventListener('mousedown', listener);
document.addEventListener('mousemove', listener);
document.addEventListener('mouseup', listener);

Netscapeのversion.6からこう書けた
Safariはversion 3、Operaは忘れたが、DOM4に入った(第三引数の省略も)

コールバックに渡す任意の「引数」としてthisを使えばスコープ依存を断ち切れる
thisの使い方を知らない「らいぶらり」があまりに多すぎる

345 = :

>>326-329
嘘を書かないでいただきたい
困ります

347 = :

意味変わらなくね?


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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