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

私的良スレ書庫

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

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
351 : Name_Not - 2011/03/08(火) 07:56:35.73 ID:??? (+63,-30,-17)
parseIntは、"2px"とかを扱う時に便利
352 : Name_Not - 2011/03/08(火) 08:01:37.81 ID:??? (+62,+29,-3)
書こうと思ったことが>>351に書かれてた
353 : 336 - 2011/03/08(火) 10:30:17.66 ID:??? (+5,-28,-80)
>>346
あーそうだった
ユーザ入力箇所とかの制御はperseIntのがいいね


てか処理速度だけで見るとstring-0がダントツで早いじゃまいか
美しい書き方じゃないけどね

減算じゃなく除算でやる奴は意味不明だけどね

要はcase by caseで使い分けるのがいいね
354 : Name_Not - 2011/03/08(火) 10:33:14.39 ID:??? (-1,-29,-6)
>>349
それだとこんなのを探してる事になるんじゃない?

<BBB>
   <name>CCC </name>
</BBB>
355 : 336 - 2011/03/08(火) 10:43:05.72 ID:??? (+61,+30,-80)
>>351
これは知らなかった
ありがとうございます!
やっぱperseIntですよねww
Number()涙目wwwざまぁあww


減算「速度には自信があります!」
perseInt「柔軟性には誰にも負けません」
Number「可読せぃ」
面接官「帰れ!」
除算「速度にはそれなりに」
面接官「君まだいたの?w」

こんな感じでウッボー?
356 : Name_Not - 2011/03/08(火) 10:53:35.71 ID:??? (+3,-30,-76)
考え方次第。末尾に余分なものがついている場合にさっさと
エラーにして止めたい場合はparseIntの方が不便かも知れない。
parseIntの「0で始まると8進」というのはうっかりすると
結構罠になるのでparseFloat使ったりする(初心者に説明が楽)。
357 : Name_Not - 2011/03/08(火) 12:18:12.64 ID:??? (+12,-10,-3)
356の頭の悪さに閉口
358 : Name_Not - 2011/03/08(火) 12:21:03.22 ID:??? (+60,+28,-14)
↑(>>336)は黙れ
単芝うぜぇよ
359 : Name_Not - 2011/03/08(火) 12:41:43.99 ID:??? (-2,-30,-12)
'1234' - 0 は +'1234' と同じだが
後者のほうがパッと見て分かりやすいだろ
360 : Name_Not - 2011/03/08(火) 13:41:15.16 ID:??? (+3,-30,-84)
CSSの%lengthは小数を含むんだから使うならparseFloat
parseFloat(' 1234.56()&%$"#$');みたいにいい加減にパースしていいならという制約付き。RegExp#test()でチェックしなきゃまともに使えない。
361 : Name_Not - 2011/03/08(火) 16:18:46.14 ID:??? (-1,-29,-28)
parseInt使うなら基数をちゃんと指定すればいいだけの話じゃね
362 : Name_Not - 2011/03/08(火) 16:48:51.12 ID:??? (+7,-30,-253)
parseInt は末尾の文字列を削り取る。末尾の文字列は決めうちで使っているようないいかげんなコードをよく見る。

var fontSize = parseInt(element.style.fontSize, 10);
element.style.fontSize = (fontSize * 1.5) + 'px';

せめて元々の単位を保持しておけよ、って思う。

var fontSize = element.style.fontSize.match(/^(\d+)(px|e[mx]|pt)$/); // 面倒なので全部の単位を調べてないけど、必要最小限でも制限した方がまだマシ
363 : Name_Not - 2011/03/08(火) 17:06:08.55 ID:??? (-2,-30,-29)
実際にCSSで使われてる単位はin cm pc mm pt em ex px deg grad radぐらいかな
音声スタイルでms s hz khzとかもあるけど。
364 : Name_Not - 2011/03/08(火) 17:15:34.52 ID:??? (-2,-30,-33)
parseInt("10.5px") === 10;
parseFloat("10.5px") === 10.5;
365 : Name_Not - 2011/03/08(火) 19:06:00.72 ID:??? (-1,-29,-5)
px em %ぐらいしか使わない
昔はptも使ってたけど
366 : Name_Not - 2011/03/08(火) 20:41:50.41 ID:??? (+46,+14,-8)
emで指定しててもpxで吐き出してくれるのなかったっけ?
367 : Name_Not - 2011/03/08(火) 21:14:46.90 ID:??? (+4,-29,-34)
>>366
computedStyle のこと?
px を返す実装が多いけど実装依存だよ。
368 : Name_Not - 2011/03/09(水) 00:07:20.00 ID:??? (+34,-30,-78)
>>362
俺がparseIntで単位を削除する時は自分でCSSも書いてる時だな。
divはほぼpxで指定してるからそういう自分で制御できる時でなければparseIntで削除したりしない
370 : Name_Not - 2011/03/09(水) 00:58:19.42 ID:??? (-1,-29,-14)
プロパティにこだわるならgetterとかsetterとかか
371 : Name_Not - 2011/03/09(水) 01:31:45.09 ID:??? (+100,+28,-68)
>>368
要らぬお世話かもしれないが、後任者がCSSだけいじって不具合が発生したとかGreaseMonkeyで element.style が改変されていたとか、一部でも想定している環境と合致しないと期待通りに動作しなくなる。
本当にいいコードは自分の期待する環境の幅を広くとっているものだと思う。
372 : Name_Not - 2011/03/09(水) 01:33:59.53 ID:??? (+5,-30,-51)
>>369
Object.defineProperty (Fx3 は __defineGetter__ と __defineSetter__)
373 : Name_Not - 2011/03/09(水) 05:56:19.39 ID:??? (+39,-30,-72)
JScriptでcatchブロックの下にあるfinallyブロックを使い、
ソースコードを定期的かつ自動的に実行したいのですが
どのように記述しするべきなのでしょうか?

ちなみにfinallyブロックはこのように記述されていて、
IEブラウザが勝手に閉じてくれます

finally{
ie.Quit();
}
374 : Name_Not - 2011/03/09(水) 06:26:54.41 ID:??? (+31,-29,-74)
>ソースコードを定期的かつ自動的に実行したいのですが
タスクスケジューラじゃだめなの?
JScriptやったことないからよく知らんけど駐留型のプログラム?
定期的かつ自動的といったらsetInterval関数ではないだろうか
しかしなぜにfinallyで定期処理をするのかしら?
正常に終了までリトライし続けるとかなんかなのかな
375 : Name_Not - 2011/03/09(水) 07:01:55.64 ID:??? (+46,+28,-1)
鼬害です
376 : Name_Not - 2011/03/09(水) 07:48:39.82 ID:??? (+62,+29,-7)
>>374
タスクスケジューラというものがあったんですね!
ありがとうございます!それを使用してみたいと思います
377 : Name_Not - 2011/03/09(水) 08:12:48.74 ID:??? (+69,+29,-38)
>>371
グリモンは影響デカイけど
流石にユーザ側の自己責任じゃね?
難しい所だけど


>>373
そもそもスレ違い
378 : Name_Not - 2011/03/09(水) 08:16:59.54 ID:??? (+57,+29,-8)
タスクスケジューラって起動しっぱなしじゃないと、実行してくれないんですか?
379 : Name_Not - 2011/03/09(水) 08:20:35.59 ID:??? (+57,+29,-20)
そりゃそうよ
具体的に何やりたいのかしらないけどクライアント側でやりたいんじゃないの?
380 : Name_Not - 2011/03/09(水) 12:08:15.55 ID:??? (+35,-30,-141)
_mac=navigator.userAgent.indexOf('Mac')>=0;
alert("_mac="+_mac);
をwinで実行すると_mac=falseがアラートで出てきます

_mac=navigator.userAgent.indexOf('Mac');
alert("_mac="+_mac);
とすると_mac=-1がアラートで出てきます。

>=0の意味が分かりません。何ですか?
381 : Name_Not - 2011/03/09(水) 12:43:43.17 ID:??? (+7,-30,-154)
----- javascript -----
function check() {
alert(window.event.srcElement);/*Firefox用は省略*/
}

----- html -----
<div onclick="check()">foo<span>bar</span><b>baz</b></div>

divをクリックした時にdivに対してイベントが起こり、div内の子要素をクリックした時は、
divの子要素ではなくdivに対してイベントを起こすっていう事をしたいのですがどうすればいいでしょうか?
上記のコードの場合はdivをクリックしてもspanやbをクリックしても表示されるのは"divElement"という感じにしたいです。
よろしくお願いします。
382 : Name_Not - 2011/03/09(水) 12:52:28.39 ID:??? (-2,-30,-21)
function check(e) {
alert(e.target)
}
383 : Name_Not - 2011/03/09(水) 13:45:29.99 ID:??? (-1,-30,-29)
>>381
onclick="check(this)"

htmlに埋め込むならthisいいんじゃないか。
thisで取れないって話は聞かないし、無難だと思うけどね。
384 : Name_Not - 2011/03/09(水) 15:07:34.05 ID:??? (+63,+29,-1)
>>380
マジか。ゼロ以上かだ。
387 : Name_Not - 2011/03/09(水) 15:24:06.58 ID:??? (-29,-7,-17)
単にwindowに変数入れればいいだけでは?
388 : Name_Not - 2011/03/09(水) 15:27:03.30 ID:??? (-5,-28,-14)
グローバル変数使えよ
389 : Name_Not - 2011/03/09(水) 15:32:33.28 ID:??? (+9,-23,-82)
>>386
extend はオブジェクトをマージする。
http://api.jquery.com/jQuery.extend/

何をしたいのか知らないけど、jQueryオブジェクトを拡張するのはお勧めしないな。
グローバル変数を使いたくないのなら、クロージャに閉じこめる。
要素に関連する情報なら data()
http://api.jquery.com/data/
390 : Name_Not - 2011/03/09(水) 16:04:21.54 ID:??? (+57,+29,-54)
>>387-389
ありがとうございます
グローバル変数を使用するのは推奨しないような内容の解説があったので避けていました
windowに入れる方法や教えて頂いた方法も調べて考えてみます。
391 : Name_Not - 2011/03/09(水) 20:31:32.71 ID:??? (+23,-30,-43)
new Date()/1e3|0
こんなコードがあるのですが
どなたか解説していただけませんか?
new Date()の返り値が
Wed Mar 09 2011 20:31:16 GMT+0900
ということまでしかわかりません
392 : Name_Not - 2011/03/09(水) 20:38:33.46 ID:??? (+4,-29,-8)
Dateはミリ秒単位だから1000で割って秒単位にしてる
393 : 391 - 2011/03/09(水) 21:01:20.75 ID:??? (-1,-29,-106)
>>392
ありがとうございます
確かに1000で割って小数点をきったら同じ数値になりました
1e3|0にはそういう意味があったんですね
指数表記が使えるんですね知りませんでした
|0は小数点を切るという意味なんでしょうか?

new Date()+0をしてもnew Date()の文字列が返ってきて
数値加算と除算でなんで返り値が違うのか不思議でしたが
文字列結合にも使う+演算子を使ったのがいけなかったんですね(-0ならいけました)
394 : Name_Not - 2011/03/09(水) 21:48:11.36 ID:LTgPF1p2 (-16,+29,-30)
>>393
「 | 」は整数として計算する論理和だから結果として整数に
関係ないけど、getTime使わないとなんかモヤモヤする~!
395 : 391 - 2011/03/09(水) 23:28:49.14 ID:??? (-4,-30,-23)
>>394
なるほどーどうもありがとうございます

parseInt(new Date().getTime()/1000)
のほうが多くの人にとって分かりやすいと思うしいいですよねタブン
396 : Name_Not - 2011/03/09(水) 23:43:49.77 ID:??? (-2,-30,-20)
整数化するのってMath.floorとかが一般的じゃないの
parseIntだと数値→文字列→数値ってなりそう
397 : Name_Not - 2011/03/10(木) 00:00:03.73 ID:??? (+57,+29,-25)
このスレでも最近話題になっただろ
少し前のやり取りぐらい読めよ・・・w
398 : Name_Not - 2011/03/10(木) 01:12:39.51 ID:??? (+57,+29,-13)
少し前のって整数化とは関係ないんじゃないの
数値化する関数の比較の話だと思ったけど
399 : Name_Not - 2011/03/10(木) 02:19:46.94 ID:??? (+50,+27,-3)
処理に掛かる時間の話だろ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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