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

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

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

401 = :

>>398
こんなんでなく、ちゃんと確かめて実際のコードを書いて
第三引数が明らかにおかしいから多分書き方が間違ってる

402 = :

>>393
自分の理解不足を他人のせいにしてはいけません。

403 = :

質問者に伝わらない回答に何の意味がある

404 = :

勉強する気の無い奴に何言っても無駄

405 = :

回答者も新しい情報を仕入れるためにこのスレに来ている面も多かれ少なかれあるだろう
いまいちな質問ばかりだと、なあ

406 = :

だってハイレベルな質問するとすぐ議論論争に発展して問題になるかスルーされるかの二択でしょ?
そりゃあ質問者も空気を読んでイマイチな質問するしかないよ!

407 = :

議論になるのは正解の内質問であってハイレベルかどうかは関係ないんだがな。
ハイレベルな質問には回答できる人が少ないから答えられずにスルーされるか一部の有識者が回答することになる。
だからこのスレ的にはハイレベルな質問をして困ることはない。

408 = :

お前新参か?
ハイレベルな質問の回答にはケチがついてそこから揉めるっていうのがいつものパターンだろ

409 = :

>>408
そんなことはなかったと思うが。
少なくとも今までもめた質問でハイレベルな質問はなかった。

410 = :

ハイレベルなんて人それぞれだろ
俺の場合、このスレですげーと思った質問はほとんどないぞ

411 = :

>>409
ハイレベル=抜群に正しい回答をしにくい質問
ってことだろ。
二人の考えにそう相違はない。無駄な事でまた喧嘩しあうな。

412 = :

ハイレベルって何だよ
エスパーにしか推理できない糞質問のことか?

414 = :

ちょっとjQuery見ても分からんわー
ハイレベルな質問過ぎて分からんわー

415 = :

ご苦労。
styleタグを書き足すしかないのではないか?

416 = :

>>410
このスレではないが、こういう質問は面白いね。
http://okwave.jp/qa/q7261969.html

417 = :

おもしろいがこんなことが気になるのって変態的だよな

418 = :

ipadのSafariとdraftpatを連携させるブックマークレットを考えています。
画面上で選択したものをある程度整形してから、draftpadに渡したいのです。

javascript:
h=location.href;
document.addEventListener('gesturechange',function(){s=window.getSelection();
if(s!='')location.href='draftpad:///insert?

replaceを使って選択範囲の整形をする場合、
どのようにしたらいいでしょうか。

御教示お願いいたします。

419 = :

JavaScript のクロージャの理解は、むしろ基本的だし重要なことだと思うよ。
既存のページに組み込んだり、いろんなスクリプトを組み合わせて使うためには、名前空間の汚染を防ぐのは重要だよね。

420 = :

文字列をブラウザに出力すると
=""
という謎の文字列が文字列間に挿入されることがあるんですが、原因は何でしょう?
エスパー回答お願いします

421 = :

クロージャって使いまくってるぜ。
滅茶苦茶便利やんクロージャ。

422 = :

使いまくりはよくねーな

423 = :

>>420
今、テレパシーで回答した。

424 = :

jsって実は、オブジェクトリテラル使ってvar hello={};
っとかでhelloオブジェクトにあらゆる値が格納可能だから、
グローバル変数が1コで済むんだよな。
初心者には何言ってるか分からんと思うけど。

425 = :

>>418
そのコードってreplaceで処理したい内容と直接関係なくない?
どういう判断なのかコード途中で終わってるし、なんにせよ問題を切り分けて質問した方が。

一応これ↓
http://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/replace

427 = :

forループ内でsetTimeout/setIntervalを呼ぶときには使う

428 = :

>>424
他を汚さないという意味ではいいんじゃない?

429 :

>>427
クロージャの使い方を知りたいのでコード書いてくれませんか?
変数名を保護できるという利点は理解できました。

430 = :

ググったらすぐ見つかるよ
分かってるならあと少しだ

431 = :

>>429
<body>
<div id="w01">ここをクリックとalertが出てくる</div><br><br>
<div id="w02">ここをクリックとalertが出てくる</div>
<script type="text/javascript">
var Slider=function(kp){this.pp=kp;};
Slider.prototype.init=function(popo){var cnt=popo;
document.getElementById(this.pp).onclick=function(){alert(cnt);cnt++;}};
var aa=new Slider("w01");
aa.init(0);
aa=new Slider("w02");
aa.init(0);
</script></body>

432 = :

>>429
クロージャってのは関数の中に関数がある
こんな感じで、cntの値を書き換えていく。
クロージャ使うと、「id=w01とw02を押した時に出るalert
が1ずつ加算されてく」とかのプログラムが可能。
newとprototypeと共に使って、id=""が何個増えても
var aa=new Slider()でnewで関数呼び出すと、
変数がaaのただ1つで済む。

433 = :

クロージャの利点と変数がただ一つで済むのは関係ないだろ
つーか読みにくすぎるぞ
全角スペース使ってのインデントと改行ぐらいしろよ

434 = :

わざとだよ言わせんな

435 = :

その使い方なら
そもそも変数要らねんじゃね?

var Slider = function (kp) {
  var cnt = 0;
  document.getElementById(kp).onclick = function () {
    alert(cnt);
    cnt++;
  };
};
new Slider("w01");
new Slider("w02");

436 = :

(function (kp) {
    var cnt = 0;
    document.getElementById(kp).onclick = function () {
        alert(cnt);
        cnt++;
    };
    return arguments.callee;
})("w01")("w02");

437 = :

>>435
newする意味あるの?

438 = :

>>429
まず、これで何が表示されるかという話だよな

for (var i = 0; i<5; i++) {
 setTimeout(function() {
  alert(i);
 },1000);
}

440 = :

いや5回表示されるだろ。

442 = :

>>438
それ書くならこっちも書いとこうよ
for (var i = 0; i<5; i++) {
 setTimeout(function(i) {
  alert(i);
 }(i),1000);
}

443 = :

>>442
なんじゃそれ

444 = :

>>437
thisなくした時点で
要らねーなw

445 = :

>>436
面白いとは思うがそこまで行くとちょっと使いづらいな
関数のままでいい

446 = :

続きは>>429を名乗る人が現れてからと思っていたが、
待たずに別解を書いておこう
これだと>>442と違ってsetTimeoutの外に他の処理も書ける

for (var i = 0; i<5; i++) {
 (function(ii) {
  setTimeout(function() {
   alert(ii);
  },1000);
  // ここに他の処理
 })(i);
}

さらに、上記のように変数名を変えると理解しやすいかもな
同じ変数名でも別物だから正しく動作するが

447 = :

そういや
(function() {
処理
})()
ってたまにみるが、いまいちわからん。解説頼みます。

448 = :

>>447
関数を即時実行するために()をつけてる
function () {}()
これは実行できない
!function (){}()
(function () {})()
(function () {}())
ここいらは先頭がfunctionで始まってないから実行できる

449 = :

人が入れ替わったのか、古参は眺めてるだけなのか…

450 = :

通常は再利用しやすいように変数に参照させておくだけ

(function() {処理})()
これを
a = (function() {処理})
として置き換えると
a()
となるわけだ

function() {処理}
に括弧を付けるのは
式はfunctionというキーワードから
始められないようになっている。
つまり関数式と関数定義の混同を避けるためだな。


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

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


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