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

私的良スレ書庫

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

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

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 - 2014/11/12(水) 23:21:51.01 ID:???.net (-13,-30,-287)
var Sidebar = Spine.Controller.create({
events: {
"click [data-name]": this.click
},
init: function(){
this.bind("change", this.change);
},
change: function(name){ /* ... */ },
click: function(e){
this.trigger("change", $(e.target).attr("data-name"));
}
// ...
});

というコードがステートフルJavaScriptにあるのですが
events:のthis.clickに違和感があります
clickハンドラをSidebarのclickメソッドにマップしているところですが
ここのthisはSidebarではなく、定義時のthisになりますよね
そして関数ではないので、bindでthisをSidebarにする方法もないですよね
つまりどう考えてもおかしいのではないと思うのですが
何か間違っているのでしょうか?
352 : Name_Not - 2014/11/13(木) 00:55:55.36 ID:???.net (+57,+29,-39)
もしかしたらオブジェクト定義の中にthisを書いたらオブジェクトがthisになるのかと思って
たしかめたけどやはりそんなことはありませんでした
記述ミスですかね~
353 : Name_Not - 2014/11/13(木) 02:41:07.64 ID:???.net (+3,-29,-62)
winXPを久しぶりに起動したらwindows updateが来ていました
またXPのサポートが終わった時から
avg2014が使えなくなっていたのですが
avg2015を入れたら問題なく使えるようになりました
なんだかサポート期限なんてなかったみたいな雰囲気になってますが
ということはIE6が延命していくのでしょうか?
354 : Name_Not - 2014/11/13(木) 03:44:59.71 ID:???.net (+57,+29,-25)
延命? 命を延ばすわけ無いだろ。
余命過ぎてもまだ生きてるぐらいの意味だ。
357 : Name_Not - 2014/11/13(木) 07:40:29.75 ID:???.net (+38,-30,+0)
greasemonkeyスクリプトなんですが、
スクロールを一定回数止めるため以下のように書きました。

var count = 1;
var scrollY;
start();
function start(){
scrollY = document.body.scrollTop;
window.addEventListener('scroll', scrollStop,false);
}
function scrollStop(){
count++;
window.scrollTo(0, scrollY);
if(count > 20) window.removeEventListener('scroll', scrollStop,false);
}

firefoxでは正常に動くのにchromeだとremoveEventListenerがうまく動きません。
chromeに対応させるにはどうしたらいいのでしょうか?
358 : Name_Not - 2014/11/13(木) 08:34:23.28 ID:???.net (-3,-29,-44)
>>351-352
Spine.Controller.create の中身が不明なので答えようがない
359 : Name_Not - 2014/11/13(木) 10:14:00.68 ID:???.net (+9,-29,-115)
結構メモリを食うjavaプログラムをjs(+HTML)に移植しています。
メモリエラーが出る関係から、sshを使って他のスペックの高いマシンでjava実行を
していたのですが、jsを同様にスペックの高いマシンの方で実行する方法はあるのでしょうか?
Node.jsのサイトなどを見ていたのですがこれでいいのかよく分からず・・・。
スレチ、文が意味不明、だったらごめんなさい
360 : Name_Not - 2014/11/13(木) 22:44:33.71 ID:???.net (+40,-30,-176)
>>359
多分nodeでいいよ。

hello.js というファイル名でconsole.log('hello') って書いて
node hello.js とやるとちゃんとhelloって言ってくれる。

ただ、ブラウザで動かしているものをnodeで動かすとしたら
ちゃんとJavaScript(ECMAScript)の仕様の範囲にしておかないとダメだけどね。

ブラウザで動かすJavaScriptは、純粋なJavaScriptではなくて
DOMというブラウザ専用ライブラリが組み込まれた状態。

だからDOMを使わないコードにしておかないといけない。・・・原則的には。

NodeはNodeでその実行環境にはブラウザを超える能力があるから
ライブラリ次第でDOMも使える。

話がそれたけど、別のマシンで動かすならNodeでOK
そのコードの書き方はDOMを使わないように気をつけることだね。
361 : Name_Not - 2014/11/14(金) 00:10:33.66 ID:???.net (+68,+29,-64)
>>360
周りに聞ける人がいないので本当に助かります。
DOMを使わず書けるならそれが望ましい(結果的に楽?)のですね
とりあえずnodeで良さそうなので、もう少し書籍等調べてみます。
ご丁寧にありがとうございました。
362 : Name_Not - 2014/11/14(金) 12:00:00.85 ID:???.net (+13,-29,-71)
>>356
> ECMA Script 3 では、入れ子になった関数内で、thisを使うと、
> グローバルオブジェクトを指すというバグがあったが、
> ECMA Script 5 では、修正されるらしい
初耳ですが、具体的にはどのようなコードでバグが再現されるのでしょう?
ES3での該当箇所や参考URLがあれば、掲示していただけると助かります
363 : Name_Not - 2014/11/14(金) 15:14:01.80 ID:???.net (-21,+5,-1)
ソースは2ちゃんです
365 : 362 - 2014/11/14(金) 16:04:47.03 ID:???.net (+3,-29,-126)
>>363
具体的な2chのURLはどこになるでしょう?
また、バグと判断できる根拠は?

>>364
ES3では this はグローバルオブジェクトを参照する仕様ですが、ES5 でも変わってはいません
Strict Mode でのみ this は undefined を参照します
このように理解しているのですが、>>356の勘違いのような気がしてきました
366 : Name_Not - 2014/11/16(日) 07:22:51.19 ID:???.net (+66,+28,-40)
>>357ですが自己解決しました
あれこれ試した結果、案外単純にwindow.onscrollで一時停止と解除ができました。

結局なぜremove出来なかったのかわからずじまいでしたがお騒がせしました
368 : Name_Not - 2014/11/24(月) 02:14:18.29 ID:0uSHMMOL.net (+17,+29,-58)
>>367
ウインドウが違うのに要素って移動していいのかな?
子ウインドウであればセキュリティ的には問題ないはずなんだけど
仕様的にどうなんだろう。

興味があるので詳しい人お願い
369 : Name_Not - 2014/11/25(火) 11:09:23.94 ID:???.net (+111,-29,-85)
配列a(a[3000][3000]くらい)の中身を関数(js)B,C,D・・・で書き換え操作するプログラムを作っています
HTMLでファイルを読み込み、ロードが終わり次第、関数Bを呼び出し、Bが終わり次第
B内でCを呼び出し・・・としています。

これで上手くいけばいいのですが、メモリエラーになってしまいます。
BやC内でもaと同サイズの配列を新たに生成しているためメモリを食うとは思うのですが
やり方としておかしなところがあったりしますでしょうか?
GCのために使わなくなった大きな配列データはnullで初期化してるつもりなのですが・・・
370 : Name_Not - 2014/11/25(火) 19:44:39.66 ID:???.net (+104,+29,-36)
>>369
>GCのために使わなくなった

それだとGCのタイミングに依存するかも
js 側の処理を中断して一度制御をブラウザ側に返す必要があるかもしれない

可能なら作業用の配列を何度も使い回す方がいいだろう
371 : 369 - 2014/11/26(水) 08:06:28.71 ID:???.net (+76,+29,-41)
>>370
GCという機能があるというのは知っていましたが
タイミングを含めて、どのように実行しているか調べていなかったので
開発者ツール?でチェックしてみようかと思います。

どちらかというと、未だによく理解できていないクロージャーの方が
問題かと思っていたのですが、そうでもなかったのですかね。
ご返答ありがとうございました。
372 : Name_Not - 2014/11/26(水) 20:30:55.29 ID:???.net (+71,+12,+0)
DTならよく知っています。
373 : Name_Not - 2014/11/26(水) 22:36:44.51 ID:???.net (+40,+2,-16)
>>369
> GCのために使わなくなった大きな配列データはnullで初期化してるつもりなのですが・・・

GCだと推測して対策ししたが効果はなかったということは、
GCは関係ないってことだよ。
374 : Name_Not - 2014/11/26(水) 22:38:43.39 ID:???.net (+65,+24,-8)
>>369
どうやってHTMLでファイル読み込んでるのかしらんけど、
非同期処理の問題でしょ?
375 : 369 - 2014/11/26(水) 23:50:50.66 ID:???.net (+106,+29,-49)
>>372-374
今確認したところ非同期処理でファイルを読み込んでいるみたいでした。
同期処理のもあるみたいなのでそれで一度試してみます。
ただ、非同期のために値が取れていないという訳ではないんですよね・・・。
376 : Name_Not - 2014/11/27(木) 09:08:01.05 ID:???.net (+72,+29,-7)
>>375
原因追及のために同期処理でやってみるのもいいけど
同期処理はあまりやらないほうがいいよ
378 : Name_Not - 2014/11/30(日) 11:05:46.50 ID:???.net (+52,+29,-4)
無限ループって怖いよね
379 : Name_Not - 2014/11/30(日) 11:14:34.53 ID:???.net (-1,-29,-5)
(function f(){f()})()
みたいな
380 : Name_Not - 2014/11/30(日) 19:18:46.49 ID:???.net (-7,-29,+0)
>>377
無限ループ怖いお(´・ω・`)
381 : Name_Not - 2014/11/30(日) 23:28:23.75 ID:???.net (+28,-25,-40)
githubとかってjavascriptの勉強に使えますか?
英語読めないし、使い方がさっぱり分かりませんでした。
382 : Name_Not - 2014/12/01(月) 08:57:39.84 ID:???.net (+52,+24,-4)
評価お願いします><


無からギター音
http://jsdo.it/jagarikin/t4Rm
383 : Name_Not - 2014/12/01(月) 09:05:13.52 ID:???.net (+57,+29,-3)
英語が分からなくても、JavaScriptという万国共通語があれば大丈夫
384 : Name_Not - 2014/12/01(月) 13:48:33.51 ID:???.net (+52,+29,-4)
perlワンライナーで語るみたいな
385 : Name_Not - 2014/12/01(月) 22:17:14.50 ID:R7CxMEcr.net (+8,+8,-29)
backbone.jsを勉強しています
ビューの中でモデルにハンドラをセットし、モデルの変更をビューに反映させる、
ということは分かりましたが、
マウスなどの入力をモデルに反映させるのはどこでやるんですか?
386 : Name_Not - 2014/12/01(月) 22:20:50.65 ID:???.net (+57,+29,-17)
ボタンを押した時の処理をどこで受けるのか的なことです
387 : Name_Not - 2014/12/01(月) 22:31:04.21 ID:???.net (+7,-29,-57)
viewのeventsプロパティがハンドラとしてセットされ、
viewのメソッドで受けるようです
なんとなくコントローラの役割のような気がするのですが違うのでしょうか?
388 : Name_Not - 2014/12/02(火) 00:25:21.12 ID:???.net (+44,+13,-46)
>>381
gitの本は、一杯あるよ

日本のサイトでも、サイト内だけだけど、MITライセンスで、
JSのソースコードを共有しているし、自由に使える。
ゲームも一杯ある
http://jsdo.it/
389 : Name_Not - 2014/12/02(火) 01:16:08.62 ID:???.net (+10,-18,-39)
>>387の件ですが、
backboneのコントローラはURLとハッシュによって呼び出されるメソッドの集積のようですね
サーバサイドのコントローラに近いですね
390 : Name_Not - 2014/12/02(火) 22:10:20.24 ID:???.net (-1,-29,-37)
ie7とie8とかでjsコードを実行したい場合、ietesterを使っていたのですが、
ietesterはバグがあるから、~を使えってこのスレで言われた気がするのですが、
何使えばいいですか?
391 : Name_Not - 2014/12/02(火) 22:18:43.78 ID:???.net (+29,+6,-2)
開発者ツールでいいんじゃね
392 : Name_Not - 2014/12/03(水) 04:23:05.78 ID:???.net (-1,-29,-16)
virtualboxじゃね
実機の挙動にかなうものなし
393 : Name_Not - 2014/12/03(水) 22:01:28.36 ID:???.net (+62,+29,-94)
昼休みは、会社の食堂でメシ食ってるときにテレビ見てるんだけどさ、
今どきのjs(女子小学生)のファッション特集とかよくやってんだけど、
マジでJS(女子小学生)って普通にテレビで言うようになったんだな。
うかつに「休日はJS(Javascript)の勉強してます」っていうと
「JS(女子小学生)の勉強・・通報しなきゃッ!」って感じで
通報されかねないやん
394 : Name_Not - 2014/12/04(木) 00:22:45.66 ID:???.net (+57,+29,-4)
別に会話中にJavaScriptをJSなんて言わないよ
395 : Name_Not - 2014/12/04(木) 03:04:54.51 ID:???.net (+52,+29,-5)
「はじめてのC」
396 : Name_Not - 2014/12/04(木) 12:20:38.02 ID:???.net (+9,-29,-68)
Backbone.jsのViewで、classNameやidというプロパティは
スカラー値にすることも関数にすることも出来、
関数だった場合は返り値を設定したことになるそうですが
これナイスな方法ですね?
397 : Name_Not - 2014/12/04(木) 21:07:51.79 ID:???.net (+4,-30,-187)
>>396
はい。ナイスな方法でよく使われます。
よく使われるので、汎用JavaScriptライブラリのlodashは
まさにそのための関数_.resultを用意しています。

http://lodash.com/docs#result

var object = {
'cheese': 'crumpets',
'stuff': function() {
return 'nonsense';
}
};

_.result(object, 'cheese');
// → 'crumpets'

_.result(object, 'stuff');
// → 'nonsense'
398 : Name_Not - 2014/12/04(木) 23:36:21.48 ID:???.net (+50,+22,-27)
ほお
lodash使ってたのに知りませんでした
ありがとうございます
399 : Name_Not - 2014/12/04(木) 23:42:39.22 ID:???.net (+38,+10,-17)
lodashはいい加減3.0をリリースして欲しい所。
全体のどれくらい終わったんだろうか。
400 : Name_Not - 2014/12/06(土) 01:01:43.93 ID:???.net (+80,-29,-58)
qiitaに投稿した記事がやたらアクセス数が多い(3500超えた)と思ったら、
「Javascript ~ ~」って検索すると一番上にqiitaに投稿した記事が来た
ストック6しかないのにな、業務とかでググってる人が多いのだろうか?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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