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

私的良スレ書庫

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

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

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
51 : Name_Not - 2014/03/17(月) 21:28:21.94 ID:??? (+57,+29,-35)
上記のような認識上の誤りはググりで解決するのは困難で時間がかかる
1時間のググリ行為で分からないことが、他人の一言で一瞬で分かったりする
そのための質問スレ
これからも良いスレにしていきましょう
52 : Name_Not - 2014/03/17(月) 21:30:55.01 ID:??? (+59,+29,-5)
ところで、>>6-7の質問者はどこにいったんだろう?
53 : Name_Not - 2014/03/17(月) 21:31:37.89 ID:??? (+63,+26,-19)
javascriptと全く関係ない質問ですが
このスレを建てた>>1さんって運営側の人だったりします?
topのjavascript質問スレのURL切り替わるのがやたら早かった気がするので
54 : Name_Not - 2014/03/17(月) 21:36:11.56 ID:??? (+66,+29,-11)
>>53
前スレ埋まる時にいたけどそんなに新スレ立つのが早い印象はなかったなあ
timestampを見る限りでは約3時間30分経過してるね
55 : Name_Not - 2014/03/17(月) 21:45:39.07 ID:??? (+71,+28,-61)
各種総合スレ
『Webサイト制作初心者用スレッド』
『CSS・スタイルシート質問用スレッド』
『JavaScriptの質問用スレッド』
上の2つはURLが古いままなのにここだけ切り替わっているのが気になりました
新スレたってから切り替わるまで若干の時間差もあって自動ではなさそうでしたし
56 : Name_Not - 2014/03/17(月) 22:31:00.58 ID:??? (+72,+29,-41)
>>55
「運営が一個人として新スレを立てた」「偶然、運営の巡回時刻とスレ立て時刻が重なった」のどちらかじゃないでしょうか
スレ立て時刻は「09:59:54.28」と程良い朝の時間帯ですし

憶測でしかないので正確には運営にどうぞ
ここで議論しても答えは出ないでしょうから
57 : Name_Not - 2014/03/17(月) 22:59:38.39 ID:??? (+57,+29,-3)
議論するつもりはないです
1さんに聞いてるだけです
58 : Name_Not - 2014/03/18(火) 05:37:38.58 ID:??? (+58,+27,-25)
>>6
見逃してました
htmlの属性とjsのプロパティで微妙に違ってるんですね
ありがとうございました
59 : Name_Not - 2014/03/18(火) 06:32:42.16 ID:??? (+57,+29,-3)
まあ、相対URLいれてみりゃわかるんでね?
60 : Name_Not - 2014/03/18(火) 11:30:27.93 ID:??? (+12,+29,-96)
スレ立てた >>1 ですが、スレを立てたら2ch運用情報板の「ローカルルール
リンク先更新スレッド」でリンク先の変更を依頼してます(いつもやってます)。
今回はそこの管理人さんがたまたまあっという間に対応してくださったという
感じです。こういうのって2chの常識だと思ってたんだけどな、、、
http://qb5.2ch.net/test/read.cgi/operate/1390381836/l50
61 : Name_Not - 2014/03/18(火) 19:36:46.03 ID:??? (+7,-29,-13)
a = b;
c = d;
みたいな短い代入も一行ずつ分けて書いた方がいいんですか?
62 : Name_Not - 2014/03/18(火) 21:56:21.81 ID:??? (+67,+29,-21)
>>61
どうせ後からいろいろ弄ったりするなら
最初から分けて書いた方が編集は楽、という理屈
64 : Name_Not - 2014/03/19(水) 00:09:26.32 ID:??? (+6,-29,-7)
onkeypressをonkeyupにすればいいかと
65 : 63 - 2014/03/19(水) 00:48:53.88 ID:??? (+57,+28,-6)
>>64
うまくいきました!
3時間近く悩んでたので、うれしいです。ありがとうございました!
67 : Name_Not - 2014/03/19(水) 20:25:15.30 ID:??? (+42,+23,-27)
>>66
マウスが乗った時/出た時に
スクロールのイベントハンドラを登録/解除+
イベントハンドラでイベント伝播を停止させる
ではだめなのか?
68 : Name_Not - 2014/03/20(木) 04:42:54.63 ID:??? (+63,+26,+1)
>>62
なるほど
ありがとうございました
69 : Name_Not - 2014/03/20(木) 18:18:32.34 ID:YHPekIcS (+30,+30,-112)
  ★★★タンカー一杯分の砂鉄を海にまけば、地球は寒冷化する★★★
  http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/5

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
  この掲示板に優秀な書き込みをして、総額100万円の賞金をゲットしよう!(*^^)v
71 : Name_Not - 2014/03/20(木) 20:20:17.86 ID:??? (+4,-30,-60)
intro : function() {
alert(this.name'はネットサービスです');
this.log();
},

log: function() {
console.log('成功');;
},
72 : Name_Not - 2014/03/20(木) 20:25:26.05 ID:BDZLgWz0 (+0,+29,-59)
>>71
どもです
何でもメソッドにぶっこんでいいんですね
共通する関数が元のオブジェクトとあまり関係なかったりするとメソッドにいれていいものか考えていたので
73 : Name_Not - 2014/03/20(木) 21:05:13.78 ID:BDZLgWz0 (+7,+29,-188)
あぁあとまだあるんですけど
>>70のプログラムでconosle.log(変数)だった場合、この変数はプロパティとして定義するべきなんですかね
もちろんこのメソッドを呼び出す時はあらかじめ変数を定義している予定なんですけども
もし定義されていなかったらこのメソッドを直接呼び出した時に「そんな変数はねーよ」とエラー吐かれるので
そんなものをオブジェクトのメソッドとして書いていいのかどうなんですかね
74 : 73 - 2014/03/21(金) 00:30:54.81 ID:yE069RGW (+24,+29,-36)
自己解決
「JavaScript プライベートメソッド」でググったら色々方法でてきました
75 : Name_Not - 2014/03/21(金) 06:56:35.46 ID:??? (-1,-29,-12)
「IE7以下」をJSで検出するにはどうしたらいいですか?
76 : Name_Not - 2014/03/21(金) 07:18:26.34 ID:??? (+4,-30,-84)
なんとwhileが複数の引数を取れることを発見しました

var a = 3;
var b = 10;
while (a--,b--){
console.log(a+'/'+b);
}

引数のすべてがfalseになるまでループします
これは常識なのでしょうか?
普通知らないですよね?
77 : Name_Not - 2014/03/21(金) 07:24:22.20 ID:??? (+62,+29,-11)
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/while

複数の引数が取れるなんて全然書いてませんし。
これは裏技なのでしょうか?
78 : Name_Not - 2014/03/21(金) 08:11:18.35 ID:??? (-1,-29,+0)
var a = 10;
var b = 3;
でやってみよう
79 : Name_Not - 2014/03/21(金) 11:26:59.72 ID:??? (+3,-30,-173)
>>76
それ複数の引数じゃなくて、一つの引数だよ。

たとえばこういうのと同じ。
var a = 1, 2, 3;
// a = 3

わかりにくくければこうやって見るとか。
var a = alert(1), alert(2), alert(3), 9;
// a = 9

,は頭から順番に実行して最後の値を返すカンマ演算子。

var a = 1 + 2 + 3; // プラス演算子
var a = 1 , 2 , 3; // カンマ演算子

関数だとカンマは引数リストの区切りとしてみなされるけど、
whileは関数ではないので、カンマ演算子としてみなされる。
80 : Name_Not - 2014/03/21(金) 14:12:14.93 ID:??? (-1,-29,-51)
カンマ演算子の存在意義ってあるんだろうか
while( の中 ) で変数使っても別にスコープが限定されるわけじゃないしなぁ
81 : Name_Not - 2014/03/21(金) 14:42:18.46 ID:??? (+11,-21,+0)
forでよく使うじゃん。
82 : Name_Not - 2014/03/21(金) 14:51:17.91 ID:??? (-1,-29,-18)
a = 1, b = 2;
なんてCでもJSでも書く癖が付いたら、Javaで出来なくて愕然とした。
83 : Name_Not - 2014/03/21(金) 15:02:25.31 ID:??? (-1,-29,-1)
var b = 1;
var a = 0, b;

// a = 0
なんで
84 : Name_Not - 2014/03/21(金) 15:04:38.21 ID:??? (-2,-30,-33)
var a = 1, 2, 3;
Exception: missing variable name
85 : Name_Not - 2014/03/21(金) 15:14:54.89 ID:??? (+19,-30,-42)
var a=1, b=2, c=3; // 変数宣言 OK
var a=1, b, c=3; // 変数宣言 OK bに初期値入れてないだけ
var a=1, 2, c=3; // 変数宣言 NG 2は変数名じゃない

a=1, 2; // ただの代入
86 : Name_Not - 2014/03/21(金) 15:18:57.00 ID:??? (-2,-30,-13)
var a = 0, b; // 変数a, bを宣言している
var a = (0, b); // 変数aのみ宣言
87 : Name_Not - 2014/03/21(金) 15:49:27.44 ID:??? (+51,+28,-4)
Cでもカッコは必要だな
88 : Name_Not - 2014/03/21(金) 16:02:07.67 ID:??? (-1,-29,-27)
>>81
for も実は要らない子じゃね?
for in の類いは別として
while だけで十分
89 : Name_Not - 2014/03/21(金) 17:12:37.45 ID:??? (+57,+29,-17)
カンマは演算子だったのですか~
初耳でした
ありがとうございました
90 : Name_Not - 2014/03/21(金) 17:28:44.21 ID:??? (+69,+29,-16)
>>81
よく勘違いされるが、それはカンマ演算子ではない
91 : Name_Not - 2014/03/21(金) 17:52:54.00 ID:??? (+73,+29,-93)
>>90
いいえ。あきらかにカンマ演算子です。

http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Comma_Operator
> 単一の式でなければならない位置で複数の式を記述したい場合に、カンマ演算子を使うことができます。
> この演算子が最も良く使われるのは、for ループで複数のパラメータを与えたい時です。
92 : Name_Not - 2014/03/21(金) 19:12:55.61 ID:??? (+62,+29,-42)
すべてのコードをカンマ演算子で区切って書いたらかっこいいのでは?
93 : Name_Not - 2014/03/21(金) 19:58:30.24 ID:??? (+3,-30,-142)
whileでもそうだがforで「++i」と「++j」を同時にしたい時は便利
本当はその他の部分でも使いたいけど、変数宣言や関数宣言の一部であるカンマとヒットするし、
優先度が最低の関係から、例えば配列を受け取りpopして返す関数書くときに

f = ary => ary.pop(), ary とは書けない、これは
f = (ary => ary.pop()), ary という扱いになってしまう、それでも
f = ary => { ary.pop(); return ary } より
f = ary => ( ary.pop(), ary ) の方が分かりやすいかもしれないが括弧で魅力が半減してしまう

また、ES7から入るdo式に活躍の場が奪われるかもしれない
f = ary => do { ary.push(); ary }
そうなると実際に使うのは精々
i = 0, j = 1, k = 2 みたいな場面か
94 : Name_Not - 2014/03/21(金) 20:08:25.51 ID:??? (+44,+0,-9)
>>92
すべての処理をカンマ区切りでreturn文に並べてるコード今日見かけた
95 : Name_Not - 2014/03/21(金) 20:30:55.65 ID:??? (+57,+28,+1)
>>94
かっこええええ
97 : Name_Not - 2014/03/21(金) 23:47:37.06 ID:??? (+57,+29,-5)
別にそれでいいように思うけど何か問題があるのか?
98 : Name_Not - 2014/03/22(土) 00:04:17.42 ID:??? (+14,-30,-153)
>>91
MDNの説明が誤っている。確認するならECMAScriptを参照すべき。
http://www.ecma-international.org/ecma-262/5.1/#sec-12.6.3

for文における変数宣言は IterationStatement の一部であり、VariableDeclarationListNoIn である。
VariableDeclarationListNoIn は Variable Statement でも使われるが、Expression ですらない。
従って、>>85もカンマ演算子ではない。
99 : Name_Not - 2014/03/22(土) 00:44:45.77 ID:??? (-6,-29,-2)
var がないときは?
100 : Name_Not - 2014/03/22(土) 00:53:48.64 ID:??? (+59,+29,-21)
>>98
>>85はカッコがないからカンマ演算子でないのはもう指摘済みだろ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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