元スレ+ JavaScript の質問用スレッド vol.75 +
JavaScript覧 / PC版 /みんなの評価 : ○
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が分からんのならスレ違いだからよそで質問してね。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.105 + (1001) - [95%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [95%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
トップメニューへ / →のくす牧場書庫について