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

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

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

質問です
test =new Array(10);

for(var i=0; i<=9; i++){
   test["a"][i] = new Object;
   test["a"][i] = プロパティ色々
}

とやったときtest["a"]にあるObjectを全て削除したいのですが
またfor()で10回繰り返してdelete test["a"][i];と一つずつやっていかなければならないのでしょうか?
それとも一回で削除する方法とかあるのでしょうか?

358 = :

うん。途中から質問が変わってると思う。

359 = :

>>349
ごめん>>344

360 = :

>>357
delete test["a"];

361 = :

>>360
それで大丈夫だったのですか灯台もと暗し
ありがとうございます

363 = :

>>339-348
ありがとう。いろいろ勉強になった。結局、何らかの方法で一段囲って上げておいて
ダメな時は蹴り落とす、って方法しかないのね。実はここはmain()の中なんだよ、
とかだったらよかったのに。
最終行にラベル書いてbreakで飛べないかとか、最終行にcatch書いて例外投げついでに
飛べないかとか、無駄な努力でした。
もういっぺん、全部見直して書き直してみます。

364 :

そういうのも否定はしないけど、もっとこう
要素毎にオブジェクトに、機能毎にメソッドにしていくと
望んでいるような条件分岐が、よりスマートに出来るようになると思う

なんか概念ぽくてすまん…

365 = 364 :

あと、イベントドリブンな考え方をするのも大事かも

366 = :

removeEventListener("DOMContentLoaded"
って必ず必要ですか? なくても問題なさそうなのですが、どういった場合必要になるのでしょうか

367 = 364 :

フレームとか?

368 = :

>>366
それしないと、メモリの開放がブラウザのGC任せになっちゃう
確実にメモリを開放したいんだったらやっとくべき

369 = :

>>367-368
なるほど! ちゃんとするようにします
ありがとうこざいました

370 = :

マウスカーソルによる選択について質問です
<b>Text1</b><b>Text2></b><img src="hoge.jpg"/><b>Text3</b>
というHTMLをマウスでText1から、画像を挟んでText3まで選択した場合に
選択範囲にあるエレメントを全て参照するにはどうすればいいのでしょうか

開始位置・終了位置のText1と2はそれぞれstart・endContainerから
parentNodeを使ってテキストの入っているエレメントを参照できましたが
挟まされいるText2と画像の入っているエレメントの探し方がわかりません

373 = :

>>370
マウスカーソル云々って、選択した範囲すなわちSelectionのこと?
http://developer.mozilla.org/ja/docs/DOM/Selection

だったらwindow.getSelection()を使えばいいんだけど、
IE6~8はwindow.getSelection()未サポートなのでライブラリ使うと手っ取り早い
http://code.google.com/p/rangy/

375 = :

var dbObj = new ActiveXObject("ADODB.Connection");

IE9では成功するんですが、Firefox15ではオブジェクト生成に失敗するようです。

なぜ失敗するのか理由がわかりません。
諸先輩方教えてください。

378 = :

IEで出来て、Firefoxで出来るって事があったらそれは
「IEじゃないから」が正解

IEとその他ブラウザ
って考えるべし

379 = :

ActiveXはIEでしか使えないから、じゃねーの

380 = :

相談なんですが配列削除するときさ

delete 配列
配列 length=0
配列spliceで全部

どれ使ってる?
連想の時は問答無用でdeleteだと思うけど

381 = :

>>380
連想ってのがobjectって意味なら、配列も連想だよ

385 = :

そもそも削除しようと思ったことがない

388 = :

>>373
レスありがとうございます、ご指摘の通りSelectionを使っています
 var range=window.getSelection().getRangeAt(0);
 range.start/endContainer.parentNode.tagName;
として開始位置と終了位置のエレメントは参照することができましたが
370の間の2つを参照する方法がわからずに困っています

引き続き>>370をよろしくお願いします

389 = :

rangeオブジェクトがどんなメソッドやプロパティを持ってるかは調べたんだよね。
たとえば範囲のコピーを documentFragment として取得してそれをトラバースするとか
じゃだめなのかな。別の方法としては、開始と終了の両要素の共通の親をまず見つけて、
その親の下をトラバースするとか。面倒そうだけどね。

390 = :

<body> に onselectstart="return false;"を書くと
そのページで選択できなくなるけど、これを
JavaScript(というかブックマークレット)によって
あとから無効にするにはどうしたらいいかな。

391 = :

var hoge = hoge || {};

こんなの出てきたんですがもう意味不明すぎて何がなんだかわかりません
何がやりたいんでしょうかコレは

392 = :

>>391
hogeがfalse(かnullかundefined)なら新しいObject、既存ならそのまま。

393 = :

>>392
こんな記述方式があったんですか
意味不明すぎてちょっとした宇宙体験でした

394 = :

巻き上げがあるから、var 文では全く意味ないね。
var hoge = {};
と結果は常に同じ。

395 = :

perlでポピュラーになった書式という印象がある。

397 = :

>>394
まったく意味が無いわけじゃないだろ
javascriptの暗部なのでそういうコーディングはすべきじゃないけど、
関数ブロック内で
a = 2;
var a = a || 1;
したらaは2になるよね

398 = :

くだらね

400 = :

// a.js
var hoge = hoge || {};
(function() {
hoge.aaa = function () { };

})();

// b.js
var hoge = hoge || {};
(function() {
hoge.aaa();
})();


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

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


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