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

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

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    601 = :

    >>588
    var a = new String('a');
    var b = new String('a');
    alert ( a === b );
    これはfalseになるぞ?

    603 = :

    StringはNumberを文字列に変換するだけのただの関数なのか
    だったら頭文字を大文字にすんなよ(`o´)

    604 = :

    >>603
    いいかげん、思い込みを喚き散らす前にECMAScriptの仕様書読んでこい

    605 = :

    というか、Stringオブジェクトのコンストラクタなのに
    文字列を返す関数でもあるというチグハグ感がありえないですね

    606 = :

    >>605
    JavaScriptのコンストラクタはすべて関数

    607 = :

    コンストラクタでもあり同時に普通の関数でもあるオブジェクトって
    JavaScriptに特有のものなのでしょうか?
    他のオブジェクト指向言語では、関数でもあるクラスなんてありえませんよね

    608 = :

    >>606
    それは分かっています

    609 = :

    >>607
    JavaScriptはクラスじゃねえし

    610 = :

    >>609
    それも分かっています

    611 = :

    コンストラクタに関数の機能を持たせるのなら、
    せめてオブジェクトを生産するファクトリにするべきでは。
    というかそもそも文字列も全部オブジェクトにすればいいだけですが。

    612 = :

    >>611
    コンストラクタに関数の機能をもたせてるわけじゃなくて
    new演算子が関数をコンストラクタとして使ってるだけ

    613 = :

    >>611
    そんなにJavaScriptの仕様が嫌いなら、使わなければ良いじゃん
    それかES.nextの議論にでも加わって仕様改定してくれば?

    614 = :

    >>612
    それも分かって言っています

    615 = :

    わかってます(棒)

    616 = :

    >>614
    >>588を書いたときにはわかってなかったんだね
    良かったな賢くなって
    もうちょっとがんばればチンパンジーになれるかも?

    617 = :

    614は偽者ですよ
    サイ本を買ってみました。

    「文字列はオブジェクトではありません。では、なぜプロパティがあるのでしょうか。文字列 s の
    プロパティを参照すると、 JavaScript は文字列値をオブジェクトに変換します」

    なんと、文字列はメソッドを実行する際にStringオブジェクトに変換されていた!
    それならますます最初からStringオブジェクトでいいですね

    618 = :

    サイボンってもっとリファレンス的なものかと思いきや、リファレンスはリファレンスで別冊にして、
    本書にはコアな部分を書いてていいですね
    ありがとうございました

    619 = :

    >>617
    いまどきその仕組みが無いオブジェクト指向言語の方が少数派なんだけどねw
    なんでそんな仕組みが必要なのかがんばって考えてみようw

    620 = :

    >>619
    ラッパーオブジェクトのある言語って他に何がありますか?
    いずれにしろラッパーオブジェクトを必要とするのは、
    基本型がオブジェクトじゃない非モダン言語ってことになるので
    「いまどき」というのはどうでしょうか

    621 = :

    >>620
    >ラッパーオブジェクトのある言語って他に何がありますか?
    いっぱいありますよw

    623 = :

    Object.keysを使いまくっていましたが、これはES5から実装されたとのことで
    http://ja.wikipedia.org/wiki/ECMAScript
    ここを見ると、operaやsafariがまだES3だそうです
    ES5の機能は非常に魅力的ですが
    safariはiosにも載っているし捨てるわけにはいかないのでは・・。
    どうなのでしょうか?

    624 = :

    >>623
    Wikipedia は情報も遅いし出典なくて不正確だから信頼しないほうがいいよ

    ECMAScript 5 compatibility table
    http://kangax.github.io/es5-compat-table/

    ES5 features on iOS/Android's default browser
    http://d.hatena.ne.jp/zentoo/20120819/1345378440

    625 = :

    >>623
    http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys#.E4.BA.92.E6.8F.9B.E6.80.A7
    他にもっと使いやすいのがあるかも

    626 = :

    今ではほとんど普通に使えるんですね
    ありがとうございました

    627 = :

    今までsetHoge,getHoge式のアクセサメソッドを用意していたのですが、
    JavaScriptにはアクセサをオブジェクトの内側に隠蔽できるアクセサプロパティを用意しているようです
    こっちを使った方がいいですか?
    見た目が少しシンプルになるのがメリットかなぁ

    628 = :

    javascriptで下駄雪駄いる?
    大規模開発ではあったほうがいいのかな

    629 = :

    >>600
    good parts、Amazonの評価もいいし良さそうですね
    ありがとうございました

    630 = :

    strictモードではarguments.calleeが使えなくなっていますが
    無名関数の再帰呼出しをするにはどうすればいいですか?

    631 = :

    >>630
    無名関数じゃなくする

    632 = :

    ありがとうございました

    633 = :

    「bind() メソッドは、
    オブジェクトに関数をバインド( bind )します。
    オブジェクト o を引数にして、関数 f の bind() メソッド
    を呼び出すと、 bind() メソッドは新しい関数を返します。」
    「JavaScript第六版」にありますが、
    感覚的には、「関数にオブジェクトをバインド」しているように見えます
    オブジェクトに関数をバインドするというのなら、返り値はオブジェクトであるべきでは?
    bindは関数オブジェクトのメソッドなのだから、あくまで主体は関数だと思えます

    634 = :

    >>554
    この件についてですが、
    JavaScript第六版によると、
    「一般的に、オブジェクトは、コンストラクタを参照する constructor プロパティを継承します。コン
    ストラクタによってクラスが同一かどうかを判断するので、オブジェクトのクラスを表すものとして、この
    constructor プロパティが使えます。」
    とのことで、
    一体prototype.constructorを誰が何のために使うのだろうと思っていたのですが、
    オブジェクトのクラス判定に使えるのでした
    ロギング処理に組み込んだらいいかな

    635 = :

    初心者です
    if(form1.test.value ==("1","2","3"))
    form1.test.valueが1か2か3だったら実行って感じのを作りたいのですが
    どうしたらいいのでしょうか?
    ↑の間違いを教えてください
    お願いします

    637 = :

    (["1","2","3"].indexOf(form1.test.value)>-1)
    だった

    638 = :

    >>637
    ありがとうございます!
    動きました

    639 = :

    JSLintって使った方がいいですか?

    641 = :

    タブではなくスペースを使えってことか
    それこそ余計なお世話だな

    642 = :

    手動でインデントしてた時代ならともかく、今はスペースでいいと思うな

    643 = :

    >>639
    JSHintの方がマシ。JSLintは関数の頭で変数を全部宣言しろとかアホなことを言われる。

    644 = :

    可読性に優れるスペースが推奨されるのは当然
    今どきトラフィック節約がどうたら言う奴はアホ

    645 = :

    タブなら削除したい時にタブを削除すればいいだけだけど
    スペースだと何度もデリートしないといけない
    コードの見た目上の同一性なんてコーディングする人間がタブの桁数を合わせればいいだけのこと
    最重要なことではないのにコーディング上の不便が増している
    タブをスペースにしろ厨にだけは同意できんわ

    647 = :

    try{
    var data = JSON.parse(val);
    } catch (e){
    return;
    }

    var len = data.length;

    このようなコードで、'data' used out of scope.とJSHintに言われましたが
    tryの中で宣言しているのだから問題ないと思うのですが
    どうなのでしょうか

    648 = :

    >>647
    JavaScript の変数のスコープは関数単位じゃなかったっけ。
    if や for の中で宣言しても関数内のどこからでも見える。

    650 = :

    言語仕様上どこからでも見えるとしても、コードを読む側にとっては内側ブロックで
    宣言された変数を外で参照してると読みにくくない?


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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