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

    私的良スレ書庫

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

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

    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
    951 : Name_Not - 2013/09/21(土) 12:52:30.95 ID:??? (+57,+29,-18)
    まあ、メソッドチェーンを特殊なシンタックスと勘違いしちゃってる素人はよくいる
    952 : Name_Not - 2013/09/21(土) 13:00:55.95 ID:??? (+113,+29,-7)
    >>930
    この件ですが、とても恥ずかしい勘違いをしていることに気がつきました
    半年ROMることにします
    953 : Name_Not - 2013/09/21(土) 13:05:07.98 ID:??? (+52,+29,-2)
    君はコスモを感じたか
    954 : Name_Not - 2013/09/21(土) 13:20:16.40 ID:??? (-1,-29,-45)
    Proxyを使えば全ての関数がメソッドチェーン意識した設計でなくても大丈夫よ
    もしくは
    new MethodChain(APIs)
    みたいにする方法でもいくらかいける
    955 : Name_Not - 2013/09/21(土) 14:30:21.28 ID:??? (+2,-30,-19)
    文字列の末尾が/だったらそれを削除する時
    s = s.replace(/\/$/,'');
    より簡潔あるいは速い書き方ありますか?
    956 : Name_Not - 2013/09/21(土) 14:31:29.45 ID:??? (+105,+29,+0)
    >>952
    これはもちろん偽者です
    957 : Name_Not - 2013/09/21(土) 14:52:36.44 ID:??? (+46,+28,+0)
    もうあきた
    958 : Name_Not - 2013/09/21(土) 14:54:03.48 ID:??? (+57,+29,-41)
    >>1も読まずに質問者としての最低限のルールも守らずID晒さなかった時点で偽物も本物も無えよ
    どっちにしろクズ
    959 : Name_Not - 2013/09/21(土) 15:00:03.58 ID:??? (+36,-30,-30)
    >>955
    if ('/' === s.charAt(s.length - 1))
     s = s.slice(0, -1)

    簡潔ではないがこっちの方が早いと思う
    960 : Name_Not - 2013/09/21(土) 15:00:37.02 ID:??? (+57,+29,-5)
    じゃあ、回答者のリテラシーを信用しますね
    961 : Name_Not - 2013/09/21(土) 15:08:17.92 ID:??? (+62,+29,-2)
    >>959
    http://jsperf.com/regex-v-s-slice

    そちらの方がかなり速かったです
    ありがとうございました
    962 : Name_Not - 2013/09/21(土) 15:27:21.07 ID:??? (+39,-29,-5)
    >>959
    それなら
    if(s.endsWith('/'))
    の方が簡単だし良くない?
    963 : Name_Not - 2013/09/21(土) 15:35:07.75 ID:??? (+3,-29,-70)
    endsWidthとかstartWithなんてあったんですね
    よくあるケースなのでうれしい機能です
    でもchromeでは動かないようです
    MDNを見ても記事がなんか古いような
    便利なメソッドなのに、歴史の彼方に消え去ってしまった・・?
    964 : Name_Not - 2013/09/21(土) 15:35:40.44 ID:??? (+68,+29,-35)
    >>962
    まだほとんど実装されてない機能だからなあ…
    利用できるようになればそっちのほうが明らかにいいだろうけど。

    http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
    965 : Name_Not - 2013/09/21(土) 15:38:42.80 ID:??? (-1,-29,-4)
    ES6で実装されるのかぁ
    はよこいES6
    966 : Name_Not - 2013/09/21(土) 15:48:53.44 ID:??? (-6,-29,-27)
    ChromeやNodeでも使えるよ
    967 : Name_Not - 2013/09/21(土) 15:54:35.26 ID:??? (+57,+29,-17)
    すまないが次スレは俺に立てさせてくれ
    968 : Name_Not - 2013/09/21(土) 16:09:59.25 ID:??? (+3,-30,-159)
    昔のテキストで node.jsのサンプルに require.paths.push(__dirname)で設定するところがあるんだけど、
    require.pathsが廃止になっていて動かなくなってる。
    代わりにmodule.paths.pushが使えると書いてあったので試したところ、別のファイルでrequireするところで失敗。
    module.pathsの設定は引き継がれないみたい。

    なので、windowsの場合、環境変数NODE_PATHで設定すればなんとか動いたけど、なんかもっとスマートな方法ないのかな?
    969 : Name_Not - 2013/09/21(土) 16:15:48.52 ID:??? (+4,-30,-36)
    module.paths.push(process.env.HOMEPATH+'/node_modules');
    970 : Name_Not - 2013/09/21(土) 16:16:25.78 ID:??? (-6,-29,-2)
    node.jsはスレ違いだろ・・
    971 : Name_Not - 2013/09/21(土) 16:22:16.89 ID:??? (+49,+21,-34)
    JSは基礎仕様とホストAPIとエンジンが政教分離してるから強い
    973 : Name_Not - 2013/09/21(土) 17:00:28.33 ID:??? (+2,-20,-2)
    プログラム板にもスレあったよ
    975 : Name_Not - 2013/09/21(土) 17:12:33.35 ID:??? (+52,+29,-13)
    ちゃんと毎日チェックしてるぞ
    976 : Name_Not - 2013/09/21(土) 17:16:36.37 ID:??? (+3,-30,-107)
    >>969
    それではうまくいきませんでした。

    サーバー起動スクリプトの設定なんですけど、
    require.paths.push(__dirname + "/lib");←廃止
    module.paths.push(__dirname + "/lib");←/lib以下のファイルでrequire失敗

    http://blog.fkei.me/2012/01/nodejs-v06requirepathssearch-path.html
    ここを参考にしてprocess.env['NODE_PATH']を設定したらうまくいくようになりました。

    スレ違いになるようなのでここまでにします。お騒がせしました。
    977 : Name_Not - 2013/09/21(土) 17:19:08.93 ID:??? (+55,+27,-3)
    それはファイルの配置方法がおかしいだけだな
    978 : Name_Not - 2013/09/21(土) 17:41:23.26 ID:??? (+2,-25,-6)
    ちゃんとindex.js書いてそこで読み込んでるか?
    979 : Name_Not - 2013/09/21(土) 20:43:49.54 ID:??? (+33,-30,-225)
    メソッドチェーンの話

    http://underscorejs.org/#tap

    > tap_.tap(object, interceptor)
    > Invokes interceptor with the object, and then returns object.
    > The primary purpose of this method is to "tap into" a
    > method chain, in order to perform operations on intermediate results within the chain.
    >
    > _.chain([1,2,3,200])
    > .filter(function(num) { return num % 2 == 0; })
    > .tap(alert)
    > .map(function(num) { return num * num })
    > .value();
    > => // [2, 200] (alerted)
    > => [4, 40000]

    var b = _("a").tap(console.log).value().replace(/a/, 'b');
    980 : Name_Not - 2013/09/21(土) 20:51:29.79 ID:??? (-1,-29,-32)
    >>983

    polyfillとかshimとかで検索しろ。
    新しい言語仕様ではなく、
    単に関数レベルのものなら
    ライブラリ一つで簡単に使えるようになる。

    http://openweb.co.jp/2013/01/18/%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8B%EF%BC%81%E5%A4%A2%E3%81%8C%E3%81%82%E3%82%8B%EF%BC%81javascript-next-ecmascript6-1-es6%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E9%96%A2%E6%95%B0/
    981 : Name_Not - 2013/09/21(土) 21:12:35.16 ID:??? (+64,+28,-2)
    >>979
    だめね。やり直し。
    982 : Name_Not - 2013/09/21(土) 21:20:24.03 ID:??? (+99,+29,-153)
    子から親の参照を得られるオブジェクトモデルないですか?
    キーの連続をパス化したものをインデックスにするモデルにしているのですが、
    特定オブジェクトを検索してパスの集合を得る
    →オブジェクトツリーに挿入などの操作を加える
    →パス情報が更新される
    →先に検索しておいたパス情報が不正確になる
    という問題があります
    オブジェクトツリーを更新しても検索結果が簡単には古くならない
    そんなモデルはないものでしょうか
    983 : Name_Not - 2013/09/21(土) 21:24:31.09 ID:??? (+15,-30,-109)
    >>981
    chainメソッドが抜けてるんだなたぶん

    firefoxはこれが動くんだなあ
    b = _.chain("a").tap(console.log).value().replace(/a/, 'b');

    chromeはこうしないとダメだわ
    b = _.chain("a").tap(function(x){console.log(x)}).value().replace(/a/, 'b');
    984 : Name_Not - 2013/09/21(土) 21:26:29.85 ID:??? (-1,-29,-44)
    すべての値がgetParentメソッドを持っている
    そんなオブジェクトモデルは可能なのでしょうか
    985 : Name_Not - 2013/09/21(土) 21:39:21.01 ID:??? (+35,+17,+0)
    不可能です
    986 : Name_Not - 2013/09/21(土) 22:05:10.04 ID:??? (+18,-30,-130)
    全てはオブジェクトなので上書きできるそうですが
    alert()でアラートを出さないでconsole.logを出すように拡張したいんですが
    window.alert = function(n){console.log(n);}
    ってやりました。
    そこで、やっぱり元のアラートを出す動作に戻したいのですが、
    どうやってもどすのでしょうか?
    仕様として元に戻せますかね?
    ブラウザのリロードすればいいというのはなしです
    987 : Name_Not - 2013/09/21(土) 22:09:14.85 ID:??? (+32,+9,-4)
    変数にコピーして取っておけば?
    988 : Name_Not - 2013/09/21(土) 22:10:19.95 ID:??? (-1,-29,-96)
    規格は見てないけどconsole.logのlogはstaticじゃなくて
    プロトタイプ経由のメソッドであるべきなんじゃないかな?
    ならthisが重要だからChromeの挙動で合ってるような気がする
    989 : Name_Not - 2013/09/21(土) 22:17:11.15 ID:??? (+4,-30,-82)
    >>986
    現実:
    キャッシュするか、iframeのコンテキストを利用

    ES6希望:
    import alert from "@bom";
    or
    {alert} = System.get("@bom")
    990 : Name_Not - 2013/09/21(土) 22:21:15.25 ID:??? (-1,-29,-45)
    いやいや。

    delete window.alert;

    これだけで元の alert が復活する。
    991 : Name_Not - 2013/09/21(土) 22:31:24.78 ID:??? (+63,+29,-24)
    そのテクニックは仕様外だから実際は使えんな。
    たしかモバイル機器によく入ってたNetFrontか何かで動かなくて詰まった記憶が。
    993 : Name_Not - 2013/09/21(土) 23:13:10.40 ID:??? (+0,-17,+0)
    1000
    994 : Name_Not - 2013/09/21(土) 23:24:53.58 ID:??? (+76,+29,-39)
    >>982
    この件についてですが、valueとparentを持ちネスト可能なシンプルなオブジェクトを書いてみたら
    インデックス方式よりずっとシンプルに出来そうです
    やはり美しくないときは何か間違っているのですね
    ありがとうございました
    995 : Name_Not - 2013/09/21(土) 23:28:35.83 ID:??? (-1,-29,-5)
    これが入ったら無茶苦茶なことでも好きなようにできるようになるからそれまで我慢しろ
    http://wiki.ecmascript.org/doku.php?id=strawman:value_proxies
    996 : Name_Not - 2013/09/21(土) 23:43:19.83 ID:??? (+9,-30,-163)
    >>991
    そもそも alert が標準にないのに、仕様外も何もない。

    >>986
    現状は大抵、Window.prototype の Own プロパティとして
    alert が実装されてるから、Window.prototype.alert が
    あればそれを使えばいい。

    delete window.alert;

    で元の alert が使える様になるのも同じ理由。
    997 : Name_Not - 2013/09/21(土) 23:53:14.05 ID:??? (+56,+28,-20)
    >そもそも alert が標準にないのに、仕様外も何もない。
    開き直りっすか
    998 : Name_Not - 2013/09/22(日) 00:00:05.94 ID:??? (+17,+0,-4)
    は?
    999 : Name_Not - 2013/09/22(日) 00:04:55.03 ID:??? (+0,-17,+0)
    1000
    1000 : Name_Not - 2013/09/22(日) 00:05:31.81 ID:??? (+31,+13,-3)
    さ?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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