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

    私的良スレ書庫

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

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

    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
    401 : Name_Not - 2011/08/09(火) 21:40:02.64 ID:??? (+38,-30,-192)
    >>396
    俺の XP IE6 ではできる。

    呼び出す側
    <script>
    var shell = new ActiveXObject("WScript.Shell");
    shell.Exec("mshta.exe \"E:\\foo.hta?param=001\" arg1=bing arg2=bang");
    </script>

    受け取り側
    <hta:application
    id="foo"
    />
    <script>

    alert(location.search);

    var args = foo.commandLine.split(/ /);
    alert(args[1]);

    </script>
    402 : Name_Not - 2011/08/09(火) 21:48:23.10 ID:??? (+3,-30,-91)
    >>400
    function() {} //文
    (function() {}) //式=実行できる
    無名関数 括弧でググると色々出てくる。

    無名関数(戻り値が必要ない場合も有る。グローバル領域を汚さない)
    (function (window, undefined) {

    })(window);
    403 : Name_Not - 2011/08/09(火) 23:58:51.34 ID:??? (-2,-30,-132)
    >>400
    意味というか、式として評価してもらう必要がある。
    宣言ではオブジェクトが返ってこないから呼出せないよね。
    例えば

    function hoge () {...}
    function () {...};

    ()がなかったとしよう。宣言と式。functionで始まるこのふたつをどうやって区別させる?

    functionで始まると宣言文として解釈される。名前がなければテキストレベルで蹴られる。(構文違反)
    functionを()で囲む(宣言できない)ことで式になる。関数式にするひとつの手段かな。

    var jQuery=(function(){...

    なぜ()なのか作者の意図は分からないけど、こんなことで混乱しちゃうのね。
    404 : Name_Not - 2011/08/10(水) 00:37:35.05 ID:??? (+57,+29,-19)
    ただの推測だけどjQueryの部分は行数が多いからわかりやすいようにとかじゃないのか
    405 : 376 - 2011/08/10(水) 06:45:57.47 ID:??? (+151,+30,-112)
    >>398
    >397
    自分で考えた定義というよりはいろいろ調べた上でまとめた結論です
    抽象化は一般化と言ってもいいです
    Objectが『(田中さん家の白くて元気で芸ができて…………な)ネコ』としたらClassは『ネコ』を表すものです
    型のようなものだと思います

    それをどう作成、利用できるかはまた別な話で
    Class自体の概念がないと単純に言ってしまうのは、特に初心者の考え方を狭めてしまうと思います
    「JAVAのような」Class「では」ないというだけだと思います
    406 : Name_Not - 2011/08/10(水) 07:38:06.86 ID:??? (+62,+29,-56)
    そういう定義でいうなら大抵の言語にあるだろ
    しかし「JavaScriptにもclassはありますよね?」に関しては
    表現としてclassは存在するものの言語的にclassと名言されてる物は無い
    だから無いという答えが多い
    407 : Name_Not - 2011/08/10(水) 08:18:29.77 ID:??? (+77,+15,-1)
    gdgd言ってないでclassの使い方教えろや
    408 : Name_Not - 2011/08/10(水) 10:15:54.60 ID:??? (+78,+29,-144)
    >>405
    クラスって概念でjavascript見ると
    基底オブジェクト objectクラス→を継承したクラス ネコ→のインスタンス (田中さん家の白くて元気で芸ができて…………な)ネコ
    ではなく
    基底オブジェクト Dictionaryクラス→のインスタンス ネコ→のクローン (田中さん家の白くて元気で芸ができて…………な)ネコ
    になるだろ?
    んでその見方で言うところの基底オブジェクトのインスタンス(のクローン*n)をクラスとして使えば使えないこともないってだけで
    わざわざクラスの概念がないところにまでクラスの概念を持ってきて使うかどうかの話
    409 : Name_Not - 2011/08/10(水) 11:06:12.66 ID:??? (+3,-29,-100)
    めんどくさいから
    クラスベース:主記憶上に展開されて<いない>設計図(クラス)から実体(インスタンス)を生成
    プロトタイプベース:主記憶上に展開されて<いる>設計図(オブジェクト)をコピーして別の実体(オブジェクト)を生成
    とか言っておけばいいんじゃね?
    410 : Name_Not - 2011/08/10(水) 12:12:33.07 ID:??? (+95,+29,-38)
    >>405
    あなたの定義でいうクラスの無い言語などない。アセンブラに
    だってある。だからまったく無意味な質問だよね。
    411 : Name_Not - 2011/08/10(水) 12:34:34.03 ID:??? (+68,+29,-11)
    >>407
    classはJavaScriptの予約語として定められていて何にも使途がないので、
    書いたとたんに構文エラーになってそれでおしまい。
    412 : 396 - 2011/08/10(水) 13:37:50.40 ID:??? (+63,+29,-39)
    >>>401
    ありがとう。
    でも同じことをやってもウチの環境では値をとれませんでした。

    ソフトのバージョンの問題ではないのかもしれないので、もうちょっと調べてみます。
    413 : Name_Not - 2011/08/10(水) 13:52:35.94 ID:db+6vmjb (+71,+29,-26)
    >410
    ですから初心者に誤解を与えないようにすべきです
    JavaScriptは自由な書き方ができる言語なので、
    「こういうものだ」とあまりにも強く思い込ましてしまうのはよくないと思います
    414 : Name_Not - 2011/08/10(水) 14:07:46.81 ID:??? (+27,-30,-114)
    html文書のbodyの中から、タグ付けされていない文字列をまとめて取り出したり、いじったりするには、どんなDOMを書けばいいでしょうか?

    例えば、
    <body>
    <b>title</b>
    <span style="font-size:small">description</span>
    This is contents.
    </body>
    この中の"This is contents"だけを抜き出したり操作したいのですが…。
    415 : Name_Not - 2011/08/10(水) 14:25:40.18 ID:??? (+73,+29,-38)
    >>413
    言いたいことはなんとなくわかるけど、ECMA標準ドキュメントを書き換えたいのか
    2chの誰かのレスを訂正したいのか、なにがしたいんだ?
    416 : 414 - 2011/08/10(水) 14:42:34.46 ID:??? (+12,-30,-114)
    >>415
    自分へのレスだと思っていいですか?
    書きたいのは暗記補助用のための俺得スクリプトです。
    "hello. my name is jonus." これを 
    "h----. m- n--- i- j----." こうしたいんです。
    で、どこかのキーが押されてる間だけは、ハイフンなしの元の文章に戻るようにしたいんです。

    どうしてタグなしの文字列を取り出したいのかというと、
    Ubuntuで使ってるメモ帳のhtmlコンバート機能だと、生の文章、つまりハイフンで隠したいところがタグなしで出力されてしまうんですよね。
    417 : Name_Not - 2011/08/10(水) 14:54:25.95 ID:??? (+41,+23,-13)
    違うだろw
    418 : Name_Not - 2011/08/10(水) 15:03:37.14 ID:??? (+0,-29,-8)
    >>414,416
    document.body.childNodes をforループで回す
    レスアンカー振ってあるのに何で勘違いしたんだろう
    419 : 414 - 2011/08/10(水) 15:15:43.91 ID:??? (+57,+29,-4)
    すいません。
    レスの内容的に、アンカー振り間違えたのかと。
    ありがとうございました。
    420 : Name_Not - 2011/08/10(水) 16:34:47.78 ID:??? (+84,+30,-99)
    急に初心者の心配をしだしたけど
    だったらなおさら勝手に言葉を作るのはどうなの
    誤解、混乱の元でないかい
    クラスのようなもの、という表現で止めておくのではなく
    クラスがある、と言い切らないと気が済まないようだけど
    そもそもクラスがあるとかないとか、クラスという言葉を聞いて話が通じるような初心者なら
    心配しなくてもいいんでないかい
    思い込みの固定観念で凝り固まっているような誰かさんのような人には
    どう言っても誤解というか認識を変えるつもりはないだろうから無意味だし
    421 : Name_Not - 2011/08/10(水) 16:44:54.37 ID:??? (+52,+29,-1)
    やだ、誰かと戦い始めたわ。
    422 : Name_Not - 2011/08/10(水) 19:03:24.94 ID:??? (+62,+29,-227)
    JavaScript にクラスベースオブジェクト指向言語でいうところのクラスという概念は存在しませんが、
    サイ本では便宜的にクラスという言葉を使っています。

    JavaScript でクラスを模倣する際に使われるのがプロトタイプ (ペアレント) です。
    クラスベースオブジェクト指向を多平面モデルで説明するのなら、プロトタイプベースオブジェクト指向は平面がひとつしかないという感じでしょうか。
    オブジェクトとそのプロトタイプは、平面間の垂直関係ではなく、
    同一平面内のつながり (プロトタイプチェーン) として表現できます。
    423 : Name_Not - 2011/08/10(水) 19:21:23.59 ID:??? (+31,-30,-32)
    424 : Name_Not - 2011/08/10(水) 19:43:18.95 ID:??? (+52,+29,-1)
    何も始まってさえいないよ。
    425 : Name_Not - 2011/08/10(水) 20:14:16.67 ID:iHt7W/sK (+44,+29,-81)
    >>420
    同意
    クラスの概念がわからないプログラミング初心者にはその通りだし、
    他言語でクラスの概念は理解しているがJS初心者の人には

    いわゆるクラスディレクティブはないですが
    一般の関数をコンストラクタ関数として扱いnewすることで
    インスタンスを作ることが出来ます

    クラスではないので一般的な継承はありませんが
    プロトタイプでつながってます

    でいいと思う
    426 : Name_Not - 2011/08/10(水) 20:51:58.00 ID:??? (+8,-14,-13)
    プロトタイプでつながってますw
    427 : Name_Not - 2011/08/10(水) 20:59:14.02 ID:??? (+57,+29,-17)
    プロトタイプでつながってます
    JS初心者ならこの言葉で絶対つまづく
    428 : Name_Not - 2011/08/10(水) 21:01:37.84 ID:??? (+52,+29,+0)
    そして中級者以上はズッこける
    429 : Name_Not - 2011/08/10(水) 21:18:01.61 ID:??? (+57,+29,-11)
    具体的にどういう風につながるのかちゃんと理解できるまでに
    相当時間かかりましたわ
    430 : Name_Not - 2011/08/10(水) 21:49:05.69 ID:iHt7W/sK (+22,+29,-2)
    じゃあなんて言えばよかったんだよう
    431 : Name_Not - 2011/08/10(水) 22:08:42.62 ID:8JpNup1V (+0,-30,-17)
    質問です
    var B = new Array();
    B[0] = a;
    B[1] = b;

    とすると、出力結果が{a b}のようになります
    縦に配列を作りたい場合はどうすればよいでしょうか
    432 : Name_Not - 2011/08/10(水) 22:13:54.84 ID:??? (+50,+28,-14)
    >>431
    何を求めているのか定かではないので a, b のコードと期待する縦の配列も例示して
    433 : Name_Not - 2011/08/10(水) 22:30:56.36 ID:??? (+9,-18,-17)
    JavaScriptにあるのはコンストラクタとプロトタイプチェーン。
    434 : Name_Not - 2011/08/10(水) 22:31:35.43 ID:??? (+55,+29,-19)
    >>431
    2次元配列の事をいってるのか・・・?
    縦の配列ってなんだ
    435 : Name_Not - 2011/08/10(水) 22:35:04.51 ID:??? (+30,-29,-6)
    >>431
    var B = new Array();
    B['a'] = 0;
    B['b'] = 1;
    436 : Name_Not - 2011/08/10(水) 22:37:08.59 ID:??? (+61,+29,-7)
    表示じゃね?数学的なw
    少なくとも>>435で無いことは確かだろう。
    437 : Name_Not - 2011/08/10(水) 22:37:26.76 ID:??? (-2,-29,-3)
    >>431の質問の意味がわかったぞ
    {a b} ではなく
    a
    b
    みたいに出力したいんだコレ。
    438 : Name_Not - 2011/08/10(水) 22:38:01.26 ID:??? (+1,-16,+0)
    18秒負けた
    439 : Name_Not - 2011/08/10(水) 22:54:11.66 ID:??? (-1,-29,-2)
    そもそも配列をどうしたら{a b}みたいな表示になるのか。
    440 : Name_Not - 2011/08/10(水) 23:02:11.56 ID:??? (+56,+28,-6)
    JavaScript にクラスがあるかどうかなんて、どうでも良くなるなw
    441 : Name_Not - 2011/08/10(水) 23:13:18.18 ID:??? (+27,+4,-3)
    配列に縦も横も無い
    442 : Name_Not - 2011/08/10(水) 23:34:32.00 ID:??? (+2,-29,-2)
    >>431
    ['a', 'b'].join('\n');
    443 : Name_Not - 2011/08/11(木) 00:24:07.39 ID:??? (-1,-29,-1)
    >>442
    document.write() で出力してるかもしんないよ。
    444 : think49 - 2011/08/11(木) 00:27:49.30 ID:??? (+2,-30,+0)
    >>376,405
    > alert(Document)やalert(Element)とすると[object class]と表示されます
    それは [[Class]] であって「クラスベースにおけるクラス」とは異なります。
    詳しくは>>389,423を読んでいただくとして [[Class]] とはオブジェクトの種類を表しています。
    Object.prototype.toString を利用することで対象のオブジェクトが持つ [[Class]] を確認することができます。

    Object.prototype.toString.call(new Array());    // [object Array]
    Object.prototype.toString.call(new RegExp());   // [object RegExp]
    Object.prototype.toString.call(new Function()); // [object Function]

    これだけ見るといわゆるクラスのように見えるかもしれません。では次のコードはどうでしょう?

    function Sample () { }
    Object.prototype.toString.call(new Image());  // [object HTMLImageElement]
    Object.prototype.toString.call(new Audio());  // [object HTMLAudioElement]
    Object.prototype.toString.call(new Sample()); // [object Object]

    これでも [[Class]] をクラスと断言できるでしょうか。
    例えるなら、[[Class]] は HTML におけるclass属性のようなもので読み取り専用の内部プロパティです。
    個人的には「Object型のデータだけが持つ特別な型」と認識しています。ECMAScript に「Array型」はないですが「Object型かつ [[Class]] が "Array" となるもの」は一つしかありませんから。
    # Object.prototype.toString を typeof 演算子の代わりに使うのは間違っているとは思いますが…。内部的にObject型に変換しているので new String とStringリテラルの区別がつきません。
    445 : Name_Not - 2011/08/11(木) 00:59:05.13 ID:??? (+91,+29,-17)
    これはさすがにウザい。
    ほとんど仕様書に書いてあることだし。
    446 : Name_Not - 2011/08/11(木) 01:00:51.38 ID:??? (+99,+29,-23)
    >>445
    逆に聞くけど、仕様書に書いてないことってあるの?
    447 : Name_Not - 2011/08/11(木) 01:07:34.89 ID:??? (+78,+23,-16)
    仕様にないものは実装依存だから
    448 : Name_Not - 2011/08/11(木) 01:11:52.83 ID:??? (+41,+11,+0)
    >>446
    アスペ乙
    449 : Name_Not - 2011/08/11(木) 01:15:08.67 ID:??? (+62,+29,-15)
    仕様書を解読できるなら>>423で解決してるはず
    解決してないってことは…いわずともわかるよな?
    450 : 446 - 2011/08/11(木) 01:23:56.35 ID:??? (+62,+29,-12)
    >>447
    把握、スルーしとく
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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