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

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

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

    901 = :

    for (i=0; i<10000; i++) {
    nameID = "testID"+i;
    document.write(id(nameID));
    document.write("<br>\n");
    }

    function id(str) {
    result = getElementById(str);
    return result;
    }

    902 = :

    >>901
    それを貼った意図がよくわからん
    この流れで無言で貼るならベンチマーク用のコードだろう

    903 = :

    ベンチとは関係ないが、XPathのid()は空白区切りでIDを列挙できる
    ノードセットを渡せば各ノードを文字列化した結果に上記を適用する

    例えば
    <tr>
    <td headers="a6 a7 a2">..</td>
    <td headers="a6 a7 a4">..</td>
    </tr>
    ならid(TR/TD/@headers)で[a2, a4, a6, a7]を得られる

    わざわざid()を定義するならこれくらいの工夫はあっていい

    904 = :

    googleの検索画面にあるリンク先から、
    各ページの最終更新時間を取得して検索画面に表示させることをしたいんですけど
    javascriptで可能ですか?

    905 = :

    javascriptだけだと無理

    906 = :

    更新時間ってページに書いてあるもんだっけ?
    自分だけでいいのか、アドオンみたいにするのかしらないけど、
    やったとしても、1ページごとにサイトの数だけ通信するから迷惑だな。

    907 = :

    要するに、プロパティとメソッドをもつユーザ定義関数はユーザ定義クラス
    って呼んでいいのでしょうか?①
    仮に
    function TestClass(){
    this.p1 = 'test1';
    }
    みたいなのはプロパティしかありませんが、これもクラスって呼べるのでしょうか?②
    よろしくおねがいします

    908 = :

    JSにクラスなんてくだらないものはない

    内部的に似たようなものはあるが一ユーザが気にするものでもない

    909 = :

    化けるから丸数字使うなよハゲ

    911 = :

    >>909
    今やJISの文字だぞ。

    919 = :

    jquery.autosaveを使いたいのですが、セーブ時にエラーが出てしまい動きません・・。headタグ中で
    jquery.js、jquery.cokies.js、jquery.autosave.jsの順に読み込ませたはずなのですが。
    IE8の開発者コンソールを見ると、「オブジェクトでサポートされていないプロパティまたはメソッドです。jquery.autosave.js 行 113 文字4」
    と出ます。jqueryは1.3.2、jquery.cookies.jsはGoogleCodeからとって来た2.2.0です。

    ↓エラー出たjquery.autosave.jsの部分
    function saveCookie (i, j, content)
    {
    $.cookie('autosave_'+u+i+'_'+j, content, { expires: $.fn.autosave.options.cookieExpiryLength });
    }

    921 = :

    || 論理和
    | 各ビットの論理和

    922 = :

    >>921
    レスありがとう
    う~、ビット演算難しい

    924 = :

    もう900超えているね。テンプレ論議あれば今どうぞ。

    925 = :

    とりあえず>>8-15

    926 = :

    >>1
    [必読]過去スレ全集http://wing2.jp/~mirrorhenkan/2ch/javascript/
      (ずべて同一)  http://www2.atpages.jp/mirror/2ch/javascript/
              http://usamimi.info/~mirrorhenkan/2ch/javascript/

    これ2番目以外にログをアップロードできなくなってる。
    なので2番目を1番上にして、それ以外は閲覧のみの文言を追加してほしいな。

    [必読]過去スレ全集http://www2.atpages.jp/mirror/2ch/javascript/
    (閲覧のみ)http://wing2.jp/~mirrorhenkan/2ch/javascript/
    (閲覧のみ)http://usamimi.info/~mirrorhenkan/2ch/javascript/

    こんな感じで。

    927 = :

    Hoge.prototype = {
      hoge1:function(){~~},
      hoge2:function(){~~},
      hoge3:function(){~~},
      ・・・
      hoge100:function(){~~}
    }

    みたいにhogeメソッドをオブジェクトでまとめたプロパティとして
    Hogeクラス加えるのと、
    Hoge.prototype.hoge1
    Hoge.prototype.hoge2
    みたいに分けてプロトタイプするのと、どちらにしようかというか
    どう違ってくるのかがわかりません。
    アドバイスいただけないでしょうかよろしくお願いします。

    929 = :

    >>927
    厳密には後者のほうがよい状況があるけど、基本的には同じ
    プロトタイプチェーンに利用される以外はprototypeもただのプロパティにすぎず、そこにある値もただのObjectオブジェクト
    だからそのオブジェクトをリテラルで定義しようとプロパティアクセスで定義しようと変わらない

    厳密にというのは、Hogeを作った時点での初期値としてこのように定義されている為
    Hoge.prototype = { constructor: Hoge };
    prototypeの値をごっそり差し替える前者の方法では(new Hoge()).constructorにアクセスできなくなるし
    hoge1等と同時にconstructorを定義してやればもちろん動く
    もっともconstructorは正しい値にならないことが多く信用されることはほとんどないから、あまり気にしなくてもいい
    一般的な継承の方法として言われているこれだって類似の問題が起きるのに気にされることはほとんどない
    Huga.prototype = new Hoge();

    931 = :

    違いがわからないときは気にすることはないと言いたかったんだけど書き方が悪かった
    気にする時はかなり気にする、だから省かずに説明をした

    932 = :

    簡単に言えば「既にprototypeの何かを使っている時に
    差し替えてしまったら使っていたものが使えなくなるからまずいよ」
    ということだよね。

    933 = :

    どういう意味でまずいかによる

    単純に>>927の上は上書き、下は追記
    既存のプロトタイプを上書きしてまずい場合もあれば
    既存のプロトタイプに追記してまずい場合もある

    あと、ひょっとして誤解している奴がいるかもしれないが
    プロトタイプチェーンはnewした時点で決定されるから
    後からコンストラクタのprototypeを差し替えても
    プロトタイプチェーンが変更されることはない
    この意味では、prototypeを上書きしてもまずいことはない
    // プロトタイプチェーンを変更できるのは__proto__のみ

    静的クラスに慣れた奴にはにとんでもないことのように見えるかもしれないが
    prototypeなんてのは必要に応じていくらでも付け替えていい
    むしろnewする前に好きなオブジェクトをprototypeに突っ込め
    念のため、newした後はprototypeを戻しておけ
    // だからisPrototypeOfなんてものがある

    934 = :

    >>933
    > 既存のプロトタイプに追記してまずい場合もある
    追記してまずい場合ってどういう場合なの?

    >>927は単純に
    自分でHogeクラスを作って、その場で初めてprototypeも定義するなら前者でもいいけど、
    違うファイルとかでprototypeを定義してる可能性があるようなら後者にしとけ
    でいいと思う。

    A = { a: 'b' }
    はオブジェクトを代入している式だって理解してるなら初めの定義以外で前者使う機会はそうないんじゃないかね

    935 = :

    >>933
    >むしろnewする前に好きなオブジェクトをprototypeに突っ込め
    >念のため、newした後はprototypeを戻しておけ

    誤解していた一人だけど、さすがにそれは腑に落ちない
    好きなオブジェクトをプロトタイプに突っ込んだ他のfunctionからnewすればいいんじゃないのか?
    どういう場面を想定しているのかがさっぱりわからない

    936 = :

    >>934
    やっぱりprototypeを静的なものとしか考えてない気がする
    >>929がprototypeはオブジェクトと同じと言ってるのは正しい
    何故prototypeを特別扱いしたがる?

    普通のオブジェクトと同じと考えれば
    勝手にプロパティを追加されて困る場合なんていくらでもあるだろ
    だから委譲を使ってプロパティの持ち主を限定するんだろ

    入門者への書き方指南なら特に言うことはないが

    >>935
    instanceofの結果はどうなる?

    937 = :

    >>936
    >instanceofの結果はどうなる?
    いや、この問いはまずかった、撤回する
    prototypeを変更した時点でinstanceofに影響でるからな

    実際のやり方に関しては>>935に同意する
    ただ、そのままではやはりinstanceofに影響が出ると言いたかった
    そこでconstructorがどうのこうのとなるわけだが

    938 = :

    >>936
    >>934はprototypeを特別視してなくて普通のオブジェクトと同じだって話でしょ?
    前者は代入で後者は追加だから、前者使う機会ってオブジェクト生成の時くらいだよねって話で。

    jQueryやPrototype.jsのようなライブラリ作るなら別として、
    Object以外のオブジェクトはプロパティを自由に追加しても問題にならなくない?
    ユーザが自分らで作ったオブジェクトならなおさら問題にならないような。

    って、書きながら>>927がどういう意図で書いてるかわかんないからどっちも問題になるのかと理解した

    940 = :

    言葉にするのが難しいけど、
    再帰なんかで親から子に文脈を引き継ぐ、でも子の方で新しい項目があれば上書きするってときは
    親の文脈をプロトタイプにして新規文脈を生成すれば、
    親の文脈を損なわず、子から親文脈(かつ祖先文脈)を参照でき、子自身の情報も得られる。

    そんなときは自分の文脈情報でもプロパティ追加に慎重になる。
    自分をプロトタイプにする子や孫の文脈に影響するかもしれないから。
    うーん、具体的でなくて申し訳ないが。

    ただ、プロトタイプに便利メソッドをぺたぺた貼り付けただけのものを、
    オブジェクト指向とかモダンとか言ってる人がいるのは滑稽だとは思う。

    941 = :

    >>939
    変更できたら悪いことに使う人が出るでしょ
    だからできません

    943 = :

    それはJavaScriptというよりHTMLの問題なのでは。
    既存の他人が用意したページなら、そもそも手が出ないし。

    944 :

    >>941
    なんで悪い事に使う人が出るんですか?
    表示名が違うだけだと思うのですが…

    945 = :

    >>944
    OKとキャンセル逆にしてたら困るでしょ

    946 = :

    >>943
    自分だけでいいならオミトロンというものも・・

    947 = 942 :

    >>943
    他人のページじゃないです
    フレームを0にすればいいのかな?
    新規ウィンドウでなく必ず親内で遷移させる方法がイマイチよくわからない…

    あと、フレームを含んだウィンドウを閉じるボタンはどうしたらいいですか?
    self.close()ではダメでした

    950 = :

    >>949
    だからJavaSriptの問題じゃないでしょ。HTMLの勉強すれば。
    HTMLが分からんのならスレ違いだからよそで質問してね。


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

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


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