のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,831人
昨日: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
    202 : Name_Not - 2014/11/13(木) 23:29:08.57 ID:???.net (+59,+29,-10)
    >>191
    > そもそもifでfunctionって書きたいことってないだろう?
    お前は何を言ってんだ?滅茶苦茶あるだろ
    203 : Name_Not - 2014/11/13(木) 23:31:14.71 ID:???.net (+7,-30,-26)
    いや、無いな。

    例えあったとしても、こう書けばいいだけだもの。

    function a() {}
    function b() {}

    var f;
    if (・・・) {
     f = a;
    } else {
     f = b
    }

    まあ、この場合は普通こう書くが
    var f = (・・・) ? a : b;
    204 : Name_Not - 2014/11/13(木) 23:32:01.71 ID:???.net (+58,+26,-2)
    >>199
    なるほど!動きました!
    ありがとうございました!
    205 : Name_Not - 2014/11/13(木) 23:47:34.30 ID:???.net (+8,-30,-106)
    >>203
    > いや、無いな。
    お前アホだな…
    if (hoge) {
    var func = function(a) {
    以下のforでしか使わない共通の処理
    }
    for (var i = 0; i < fuga; ++i) {
    if (a[i]) {
    func(1);
    } else {
    func(0);
    }
    }
    }
    みたいに、ちょっとした共通処理を外にくくり出す事はしょちゅうある事だろ
    これはJavaScriptのいいところだ
    206 : Name_Not - 2014/11/13(木) 23:54:55.84 ID:???.net (+57,+29,-9)
    ある/ないが書く人によってまちまちなことを
    一般論としようとすること自体が不毛なんじゃないかと
    207 : Name_Not - 2014/11/14(金) 02:12:16.44 ID:???.net (+38,-30,-97)
    >>205
    変数の巻き上げって知ってる?
    そのコードってこうなってるんだけど。

    var func;
    if (hoge) {
    func = function(a) {
    以下のforでしか使わない共通の処理
    }
    for (var i = 0; i < fuga; ++i) {
    if (a[i]) {
    func(1);
    } else {
    func(0);
    }
    }
    }
    208 : Name_Not - 2014/11/14(金) 02:15:36.20 ID:???.net (+3,-30,-89)
    if (hoge) {
    hoge();
    }

    function hoge() {
    function func(a) {
    以下のforでしか使わない共通の処理
    }
    for (var i = 0; i < fuga; ++i) {
    if (a[i]) {
    func(1);
    } else {
    func(0);
    }
    }
    }
    209 : Name_Not - 2014/11/14(金) 02:50:30.25 ID:???.net (+56,+28,-1)
    javascriptは自由度が高すぎるよね
    210 : Name_Not - 2014/11/14(金) 05:56:02.83 ID:???.net (-8,+29,-40)
    確実に一回しか使われないもの、イベントからしか使われないのは無名にしたほうがいいね
    関数名があるだけでグローバル汚染だって嫌がる人もいるし
    211 : Name_Not - 2014/11/14(金) 06:39:23.80 ID:LPq2meoL.net (+24,+29,-4)
    なめらかにスクロールさせるにはどうしたらいいですか?
    212 : Name_Not - 2014/11/14(金) 08:01:35.04 ID:???.net (+52,+29,-1)
    コサイン補間で自前スクロール
    213 : Name_Not - 2014/11/14(金) 12:16:20.63 ID:???.net (+47,+29,+0)
    なぜコサイン
    214 : Name_Not - 2014/11/14(金) 12:32:06.30 ID:???.net (+70,+29,-3)
    >>210
    よっぽど関数が長くない限り、俺もそうしてる。
    215 : Name_Not - 2014/11/14(金) 12:40:07.82 ID:???.net (+62,+29,-5)
    >>207
    変数の巻き上げの話なんてしてねーし無関係
    216 : Name_Not - 2014/11/14(金) 15:05:48.13 ID:oSl+e0U/.net (-13,+29,-81)
    >>205
    「条件付の関数宣言」から「条件付の関数呼び出し」に変わっているが、論点がずれてきているのではないだろうか。
    >>191は「if文で関数宣言したい状況はない」といったが、>>203で前言を覆しているわけで両者がいがみ合う理由はないと思うのだが…
    219 : 184 - 2014/11/14(金) 15:55:53.36 ID:oSl+e0U/.net (-15,+29,-201)
    >>210
    趣旨は理解できるが、誤解を招くので補足しておきたい

    「関数式は無名関数を指す」「名前のある関数=関数宣言」と認識している人がいるが、実際には「名前付き関数式」も存在するのでその認識は誤りだ
    名前付き関数式は関数内で自身を名前で参照することができるので再帰処理でよく使われる
    即時関数でも当然、名前を付けることが出来る

    イベント処理で無名関数を使用する人は良く見かけるが、理想的には unload のタイミングで removeEventListener を呼び出した方が良い
    その為には変数に listener 関数の参照を保持しておく必要がある
    最終的に使わなくなったイベント、データは全て削除しておく方が作法としては望ましい
    特にクロージャが発生する場合は削除しておいた方が思わぬバグに悩まされずに済む
    「立つ鳥跡を濁さず」だ

    グローバル汚染は無名関数で括るだけで回避できるので、関数宣言を使用しても問題にはならないように思う
    220 : Name_Not - 2014/11/14(金) 16:11:06.50 ID:???.net (+52,+29,-1)
    なんの話してたんだっけ
    221 : Name_Not - 2014/11/14(金) 16:47:08.93 ID:???.net (+8,-29,-6)
    >>172
    function a(){}はvar a = function(){}なんだけど知らないのかな
    222 : Name_Not - 2014/11/14(金) 16:49:30.87 ID:???.net (+2,-30,-56)
    >>210
    イベントが何度も呼び出されるような場合は無名にすると呼び出された回数分オブジェクトが作られる
    グローバル汚染は(function(){})()の中で書けばいいだろ
    223 : Name_Not - 2014/11/15(土) 00:31:21.95 ID:???.net (+57,+29,-55)
    直接記事載せてるサイトに聞くなり報告するなりすりゃあええのに
    こういうゆとりは2ちゃんでも「俺は出来る人間」だと思われたくて承認欲求を満たしたいんだろうな
    224 : Name_Not - 2014/11/15(土) 03:27:56.09 ID:???.net (+44,+21,-19)
    (数行の文の書き方で承認欲求て)
    226 : Name_Not - 2014/11/15(土) 03:51:13.10 ID:???.net (+0,-30,-17)
    >>221

    a();
    var a=function(){}
    エラー

    a();
    function a(){}
    エラーじゃない


    上のほうは内部的なメリットがややあるのでは
    227 : Name_Not - 2014/11/15(土) 04:04:40.42 ID:???.net (+4,-30,-44)
    >>222
    これマジ?
    document.addEventListener('mousemove', function(){ながーい処理});
    こうしたらメモリやばい?
    228 : Name_Not - 2014/11/15(土) 06:21:40.01 ID:???.net (+41,+18,+0)
    スタックオーバーフロー
    229 : Name_Not - 2014/11/15(土) 06:56:37.81 ID:???.net (+3,-30,-42)
    >>227
    それは大丈夫
    問題なのは、
    document.addEventListener('mousemove', function(){
    function nested(){
    ながーい処理
    }
    });
    230 : Name_Not - 2014/11/15(土) 09:15:24.46 ID:y3XW73b5.net (+18,+28,-4)
    おい!ぜんぜんメモリ増えないぞ!!
    231 : Name_Not - 2014/11/15(土) 09:19:31.42 ID:???.net (+57,+29,-8)
    そりゃGCされるからだろw
    参照をどこかに残してしまうとメモリが消費されていくはず
    232 : Name_Not - 2014/11/15(土) 09:36:26.37 ID:???.net (-1,-29,-20)
    じゃあ毎回処理が戻るmousemoveは安全だな
    233 : Name_Not - 2014/11/15(土) 10:18:00.81 ID:???.net (+36,-30,-28)
    functiona outputlog() {~}はvar outputlog;をしてるのと同じなんだよ
    その指摘は全く意味不明で言語仕様を理解してない証拠
    少なくとも記事をあそこで書ける人のほうが上だな
    235 : Name_Not - 2014/11/15(土) 10:38:44.71 ID:???.net (-1,-29,-6)
    'touchs tart' → 'touchs start' 
    かな?
    236 : Name_Not - 2014/11/15(土) 10:44:17.15 ID:???.net (+57,+29,-3)
    あーごめん変なとこで切れてたからsが見えてなかったわ
    237 : Name_Not - 2014/11/15(土) 10:51:46.89 ID:???.net (+62,+29,-34)
    >>233
    関数のインスタンス化のタイミングを考えなければ、大体そうだね
    evalの中だと他にも違いはあるけどね
    238 : Name_Not - 2014/11/15(土) 11:33:29.51 ID:???.net (-6,-30,-170)
    >>234
    enchant.js は知らんけど、
    http://enchantjs.com/ja/resource-ja/overview/
    を見る限りではフラグなんて立てなくても一定時間ごとにフレーム処理してくれるから勝手にフレーム管理してくれるんでないかね

    > function isTouch(scene){
    > var isTouch = false;
    isTouch の名前が衝突してるから isTouch 関数が期待通りに動作しない

    > scene.addEventListener("enterfr ame",function(){
    イベント名に無意味な半角スペース(他のイベントも同じ)

    何にしてもライブラリ質問だし、「ライブラリスレで質問しろ」がこのスレ的な回答になるんだけどね
    質問前に>>1の(9)と>>2,5を参照すべき
    240 : Name_Not - 2014/11/15(土) 17:07:09.37 ID:???.net (-11,-30,-20)
    242 : Name_Not - 2014/11/15(土) 18:33:02.32 ID:???.net (+8,-29,-8)
    JavaScriptでは@と#に特別な意味ってありますか?
    243 : Name_Not - 2014/11/15(土) 23:57:14.43 ID:wpMdtkCd.net (+24,+29,-35)
    javascriptがっつり使ったアニメーションばりばりのサイト作っている会社はどこですか?
    244 : Name_Not - 2014/11/16(日) 01:00:36.29 ID:???.net (+57,+29,-13)
    大手ゲーム会社のゲーム紹介サイトでも見れば?
    今時Flashで作ってるサイトなんか無いだろ
    245 : Name_Not - 2014/11/16(日) 03:40:24.80 ID:5lNqMDsI.net (-1,+3,-5)
    googleのトップでCSSのアニメーションよくやってるよ
    246 : Name_Not - 2014/11/16(日) 04:21:07.98 ID:???.net (+52,+29,+0)
    あれフラッシュじゃなかったっけ
    247 : Name_Not - 2014/11/16(日) 08:32:25.14 ID:GGtXJc3p.net (+24,+29,-16)
    javascriptがっつり使ったアニメーションばりばりのサイト

    http://jsdo.it/
    248 : Name_Not - 2014/11/16(日) 09:42:45.63 ID:ErdkxDcO.net (+24,+29,-9)
    そこですごい再生数のなんなの?
    どこにもリンクされてないのに
    249 : Name_Not - 2014/11/16(日) 10:35:44.29 ID:???.net (+43,+15,-5)
    自作自演の宣伝の流れわかりやすいねw
    250 : Name_Not - 2014/11/16(日) 10:40:38.09 ID:???.net (+30,-30,-17)
    a={};
    b=a;
    a=0;
    としてもbはオブジェクトですが
    ということは
    b=0
    とやってもどこかにオブジェクトが残っているのでしょうか
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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