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

    私的良スレ書庫

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

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

    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
    751 : Name_Not - 2014/09/29(月) 18:41:34.55 ID:???.net (+12,+29,-67)
    > グローバル空間でeventを拾っている為、負荷の高い処理をしてタイミングを違えると別のイベントを拾ってしまう。
    イベントがマルチスレッドで実行されない限り、別のイベントを拾う事はないでしょ
    逆にマルチスレッドだったら、イベント内のプログラムがまともに動かないよ
    753 : Name_Not - 2014/09/29(月) 19:24:27.88 ID:???.net (+62,+29,-50)
    >>751>>752
    スマン間違えた…
    イベント処理中に別のイベントが発生したら処理が割り込まれて、
    戻った際にグローバル変数が変わってる事は有り得る

    イベント処理内を再入可能にするには、グローバル変数に依存してはいけなかった
    754 : Name_Not - 2014/09/30(火) 05:29:23.01 ID:???.net (+70,-30,-128)
    質問です。
    簡単なクイズのサイトを作ろうと思ってますが、
    javascriptでクイズの答えを判断させようとすると
    解答者にはソースを表示で一発でばれることに気づきました。
    みなさんならどのようにクイズの答えを判断させますか?

    ちなみに、私はこんな感じに作ってしまいました。
    if(moji == "う"){window.alert("正解");}
    755 : Name_Not - 2014/09/30(火) 05:52:02.25 ID:???.net (+3,-24,-37)
    質問と答えの配列作って比較する
    if 文に直接は書かないな
    756 : Name_Not - 2014/09/30(火) 07:18:45.97 ID:???.net (+62,+29,-19)
    >>754
    サーバーに送信して
    正解かどうか答えを出す。

    JavaScriptを使う必要はないね。
    757 : Name_Not - 2014/09/30(火) 07:52:51.15 ID:???.net (+57,+29,-10)
    「簡単なクイズ」だからぱっと見て分からない程度に出来たらいいんじゃね
    758 : Name_Not - 2014/09/30(火) 08:02:14.10 ID:???.net (+67,+29,-25)
    >>754
    確実にやるならサーバサイドで判定させる
    簡易的でよければ、ハッシュ値で比較する
    759 : Name_Not - 2014/09/30(火) 08:55:38.62 ID:???.net (+57,+29,-22)
    普通にリンクで飛ばしてどれかが正解のページを返せばいいだけだろ
    760 : Name_Not - 2014/09/30(火) 09:45:18.48 ID:???.net (+66,+28,-29)
    別URLに回答をおいておいてajaxで読んで判定
    はい論破
    761 : Name_Not - 2014/09/30(火) 10:09:20.69 ID:???.net (+41,-30,-135)
    ステートフルJavaScriptは

    var Person = function(){};
    (function(){
    var findById = function(){ /* ... */ };
    Person.find = function(id){
    if (typeof id == "number")
    return findById(id);
    };
    })();

    のような形で、プライベートなメソッドを作る方法を紹介しています
    メソッドはこの形でできますが、
    インスタンスにプライベートなプロパティを持たせる場合はどうやればいいのでしょうか?
    762 : Name_Not - 2014/09/30(火) 11:05:32.60 ID:???.net (+122,+29,-22)
    プロパティとか、言葉の意味を知らないで質問してるのかな
    入門書でちゃんと基礎からやらないと上達しないよ
    763 : Name_Not - 2014/09/30(火) 11:53:27.53 ID:???.net (+70,+30,-21)
    >>762
    知らない言葉を使われたから気分を損ねたのか
    これはA級質問だから分からなくても気にしなくていいよ
    764 : 760 - 2014/09/30(火) 12:15:44.91 ID:???.net (+67,+28,+0)
    >>762は僕ではありません
    765 : Name_Not - 2014/09/30(火) 12:21:26.70 ID:???.net (+57,+29,-5)
    意味不明の成りすましだな
    アホ極まれり
    766 : Name_Not - 2014/09/30(火) 12:46:20.95 ID:???.net (+46,+30,-117)
    プライベートプロパティを作るために
    インスタンスごとにクロージャを作るのはどうなのか?と思うのです
    ステートフルJavaScriptの著者は
    _でプライベートなメンバを作る方法を「醜悪」と言っていますが
    インスタンスごとのプライベートメンバについては何も言っていません。
    _を、自分はさほど醜悪だとは思いません。
    通常の技術者なら間違えることはない、実際的な方法だと思います
    プライベートメンバを厳密に実現するのはあくまで理想論で、
    実際に使われているコードは多くの場合_を使っているのではないかと思うのですが
    どうなのでしょうか?
    767 : Name_Not - 2014/09/30(火) 13:15:31.40 ID:???.net (+92,+20,-59)
    >>761との関連が意味不明

    >のような形で、プライベートなメソッドを作る方法を紹介しています
    >メソッドはこの形でできますが、
    >インスタンスにプライベートなプロパティを持たせる場合はどうやればいいのでしょうか?
    768 : Name_Not - 2014/09/30(火) 13:18:02.05 ID:???.net (+70,+29,-3)
    >>767
    本気で言ってるなら単にあなたが愚かなだけです
    769 : Name_Not - 2014/09/30(火) 13:22:06.32 ID:???.net (+57,+29,-9)
    先に言ったようにこれはA級質問ですので、A級以上の方お願いします
    並の人が無理に答えようとするとおかしな感じになりますので
    770 : Name_Not - 2014/09/30(火) 13:28:27.39 ID:???.net (+86,+29,+0)
    答える価値のない質問が増えたなー
    771 : Name_Not - 2014/09/30(火) 13:37:01.96 ID:???.net (+95,+29,-24)
    初心者が設計の根幹を学ぶ書籍に手を出して、枝葉末節の葉っぱに引っかかってしょうもない質問を連発してるって感じ。
    772 : Name_Not - 2014/09/30(火) 14:22:53.76 ID:???.net (+72,+29,-36)
    何度も言いますが、これはA級質問ですので、A級以上の方お願いします
    >>770>>771みたいな答えられない低脳は黙っていてください
    773 : Name_Not - 2014/09/30(火) 14:35:32.30 ID:???.net (+57,+29,-12)
    負け惜しみはいいですからw
    分かることは答える
    分からないことは黙っておく
    この方針でお願いします
    774 : Name_Not - 2014/09/30(火) 14:39:06.95 ID:???.net (+57,+29,-6)
    ことわります。

    だいたいこのスレはそんな馴れ合いでやってるんじゃない。
    やるかやられるかの世界だ。
    775 : Name_Not - 2014/09/30(火) 14:45:03.89 ID:???.net (+84,-30,-54)
    >>761

    function objectFactory(hoge){
    var private = hoge;
    var obj = { public: function(){return private}}
    return obj;
    }

    var obj = objectFactory("fuga");

    みたいな感じですかね
    簡単でわかり易いからよく使うよ
    776 : Name_Not - 2014/09/30(火) 19:13:44.85 ID:???.net (+69,+29,-67)
    >>775
    なるほど
    ファクトリでクロージャにするんですね
    そうなると直接newせずに必ずファクトリを経由する感じになりますね
    あるいはファクトリをコンストラクタ関数のメンバにしたらキレイできるかもしれませんね
    少しこの方向で考えてみます
    ありがとうございました
    777 : Name_Not - 2014/09/30(火) 19:19:20.17 ID:???.net (+57,+29,-16)
    この程度の質問でA級か
    高い本も宝の持ち腐れだな
    778 : Name_Not - 2014/09/30(火) 19:27:38.55 ID:???.net (+52,+29,-13)
    いちいち煽らないの
    779 : Name_Not - 2014/09/30(火) 19:33:20.62 ID:???.net (+57,+29,-7)
    ステートフル君の支離滅裂さがすごい
    病んでるな
    780 : Name_Not - 2014/09/30(火) 20:02:15.06 ID:???.net (+57,+29,-15)
    初心者の評価程、あてにならないものはない
    781 : Name_Not - 2014/09/30(火) 20:09:10.46 ID:???.net (+57,+29,-41)
    技術的な言葉をまったく使わずに煽る人が何でこのスレにいるのか分かりませんね
    そんなに底が見えるのが嫌なのでしょうか?
    その姿勢から底が見えてるんだが?
    782 : Name_Not - 2014/09/30(火) 20:12:07.02 ID:???.net (+57,+29,-29)
    質問者も相当煽っていると思うが、自覚がないんだな
    783 : Name_Not - 2014/09/30(火) 20:24:22.98 ID:EscEmEB0.net (+27,+29,-81)
    A級ってどのくらいですか?
    日本の会社に雇われて、翻訳された技術書読んで
    コードを書く仕事をしてるレベルだと何級ですか?
    784 : Name_Not - 2014/09/30(火) 20:37:19.70 ID:???.net (+88,-30,-139)
    >>775
    S級()の俺がやってきましたよ↓ここまで書ければS級

    var Hoge = (function () {
    var private;
    function Hoge(hoge) {
    private = hoge;
    }
    Hoge.prototype.hage = function () {
    console.log(private);
    };
    return Hoge;
    })();

    var hoge = new Hoge('hage');
    hoge.hage(); → hage
    785 : Name_Not - 2014/09/30(火) 20:39:52.86 ID:EscEmEB0.net (+22,+29,-1)
    ギャグはもういいですから!
    786 : Name_Not - 2014/09/30(火) 20:48:10.88 ID:???.net (+63,+29,-10)
    >>784
    それ関数定義だから厳密にはだめだな。
    さすがS級だわw
    はやくR級くらいにはなれよ
    787 : Name_Not - 2014/09/30(火) 20:52:31.68 ID:???.net (+51,+28,-2)
    このスレ使えない奴ばかりだな。
    788 : Name_Not - 2014/09/30(火) 20:53:25.66 ID:???.net (+107,+29,-30)
    >>784
    なるほど
    コンストラクタをまるごと即時関数に包むのですね
    ステートフルJavaScriptでは
    汎用的なClassクラスを作っているのですが、
    そのClassクラスとの親和性も良さそうです
    ありがとうございました
    789 : Name_Not - 2014/09/30(火) 20:55:15.79 ID:???.net (-1,-29,-36)
    angularでhtmlを拡張してますが、これって、どうやってやってるんですか?
    ng-appとかng-animateとか

    JQueryでできますか
    790 : Name_Not - 2014/09/30(火) 20:59:42.30 ID:???.net (+18,-21,-15)
    ん?
    よく考えたら>>784のやり方だと、
    全てのインスタンスのprivateが共通になってしまうのでは?
    791 : Name_Not - 2014/09/30(火) 21:04:20.51 ID:???.net (+72,+29,-11)
    >>788
    なぁ、そのくだらない話いつまで続けるの?
    もう少し実践的な話をしたいんだけど。
    792 : Name_Not - 2014/09/30(火) 21:05:57.08 ID:???.net (+57,+29,-23)
    海外に発注した時の
    コメントの言語はどうしていますか?
    793 : Name_Not - 2014/09/30(火) 21:07:53.55 ID:???.net (+57,+29,-7)
    「人それぞれだから自分で考えろ」的な質問が最近多い気がする
    794 : Name_Not - 2014/09/30(火) 21:40:00.18 ID:???.net (+86,-30,-201)
    >>766
    ES6のWeakMapを使えば外部からアクセスできないインスタンスごとの値を持てる
    ただのMapだとメモリリークになるから注意
    var Person = (function () {
    var mName = new WeakMap;
    function Person(name) {mName.set(this, name);}
    Person.prototype.getName = function () {return mName.get(this);};
    return Person;
    })();

    var p1 = new Person('hoge');
    var p2 = new Person('fuga');
    [p1.getName(), p2.getName()].toString(); // "hoge,fuga"

    クロージャによる擬似プライベート変数は古くから言われているが
    http://javascript.crockford.com/private.html
    インスタンスごとにメソッドも生成することになってメモリ使用量が増える

    結局_を付けるとか命名規則で対処するのが一番手っ取り早い
    795 : Name_Not - 2014/09/30(火) 22:02:21.19 ID:???.net (+57,+29,-38)
    > インスタンスごとにメソッドも生成することになってメモリ使用量が増える
    具体的にどれくらい増えますか?
    796 : Name_Not - 2014/09/30(火) 22:24:31.75 ID:???.net (+4,-29,-38)
    >>794
    ES6なら出来るんですね
    現時点だと
    コンストラクタの中でPrivileged methodを作るクロックフォードのやり方か
    命名規則か
    という判断になりそうですね
    ありがとうございました
    797 : Name_Not - 2014/09/30(火) 22:30:00.95 ID:???.net (+100,+23,-152)
    >>794
    ES6のWeakMapってそれ想定して提案してるんならすげーださくね?
    別に>>794ディスってるわけじゃなくES6のドラフト検討してるやつに対してな。

    いまさら、MapとSetを仕様に入れるとかいってるが10年遅いんだよw
    Objectと純粋なMapを分離する仕様さっさとぶち込めばよかったのによ。。。

    あと、ES5のセッターゲッターってJSの言語仕様と親和性高くなさそうでうれしくなかった。
    それなら、__watch__実装しろって思ったね
    仮にセッターゲッター入れるならインデクサもついでに入れれば言語仕様として綺麗になった(Array.prototype.lengthとか)のにほんと頭のいいアホどもだとおもうよ。
    798 : Name_Not - 2014/09/30(火) 22:31:55.68 ID:???.net (+71,+29,-13)
    >>797
    役に立たない言語理想論よりも
    現実重視なんだよ。
    そこまで考え付かないの?
    799 : Name_Not - 2014/09/30(火) 23:23:07.07 ID:???.net (+63,+29,-93)
    クロージャを使う方法だと、
    プライベートメンバにアクセスするメソッドをすべてインスタンスメソッドにしないといけないんですね
    ゲートウェイとなるインスタンスメソッドを一つ作るだけで出来るかと思っていたのですが
    それだとプライベートにならないので。
    そうするとプライベートメンバを作るために別種の醜さを導入することになると思いますし
    やはり命名規則法が妥当ということになると思います
    ありがとうございました
    800 : Name_Not - 2014/09/30(火) 23:28:19.41 ID:???.net (+67,-30,-50)
    function Hoge(){
    var private = {
    hoge: 100
    };
    this.getPrivate = function (){
    return private;
    };
    }

    中庸的な方法だとこういう方法もありますね
    getPrivateを使ってアクセスする奴はおらんやろということで。
    でも_に直アクセスする人も普通はいないんですよね
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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