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

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

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

>>545
Bluetooth搭載のケータイに乗り換えて、Bluetooth接続のキーボードで書くのはどうか

553 = :

ちゃんと変数に命名規則つけないと
無意味につけてるから被る心配がでてくるわけで

554 = :

一万行書いてて関数名に悩むことはあっても
変数名に悩むことはありえん

555 = :

Bluetoothキーボードはつかってます
変数名とは関数名も含んだつもりでした
一応関数は大文字、変数は小文字を使っています

これからもまだまだ拡張する予定で、どの値をいつ使うようになるのかがわかりません
それでほとんどがグローバル変数となってしまいます

556 = :

javascriptでグローバル変数はほぼ必要ないだろ…

557 = :

まぁわかりにくくていいならabcとかでもいいんじゃね

558 = :

>>556
この辺がいまいちよくわからないから聞きたい。
複数の関数から使用したい値やデータはどうしてますか?
毎回引数でたらいまわし?オブジェクトなどに埋め込んで毎回取得?

559 = :

>>558
引数で渡すのが一般的だと思うけど、
できるなら関数群含めてクラス化しちゃうのがベストじゃないかな。
隠蔽・抽象化の練習は、いろんな意味で今後も役に立つよ。
あとは匿名関数でスコープを限定するとか?

560 = :

>>559 に賛成の反対の反対

561 :

グロスコに変数をつくると、参照がいつまでも残って重くなりそう、
っていう気分的な問題で、極力作らんようにしちゃうなあ。

なりそう、って良くない考え方だとはわかっちゃいるんだが…

562 = :

漢ならカウンタのiやjも黙ってグローバル

563 = :

そしておもむろに再帰

564 = :

再帰を別の表現にするの難しいっす
というかどうすればいいかわからないっす

566 = :

JavaScriptって末尾再起の最適化ってやってくれるn?

567 = :

最適化はコンパイラの仕事でしょ

568 = :

JIT

569 = :

schemeやluaのように末尾再帰の最適化が言語仕様として定められているかという話だろう
ちょっと試してみりゃわかる話だけどな

(function(){return arguments.callee()})()
chrome 6.0.422.0 dev RangeError: Maximum call stack size exceeded
Fx 3.6.3 InternalError: too much recursion

570 = :

>>561
その略語は気持ち悪い。

571 = :

グローバル変数はグロ変数か・・・ってあながち間違いじゃなかったw

577 = :

日本語英数字入り乱れる文字列をできるだけJavaScriptのみで圧縮する方法を教えてくださいませんか?
escape()した後の量を元より減らしたいのです
できればライブラリーではなくやり方を教えてください
お願いします

579 = :

>>577
デフレート圧縮が簡単じゃないかな。
よくある Javascript のソース圧縮もこれだね。
それにしても、なんでエスケープした後に圧縮するの?

580 = :

joinで配列要素を連結した文字列を取得できますが
配列の区切りに文字を使用したくない場合、どのようにすれば良いですか?
.join('')ではカンマ区切りになってしまいます。

581 = :

.join('配列に存在しない文字列').replace(/配列に存在しない文字列/g, '')
もっときれいなやり方がある気がしてならない。

582 = :

>>580
元の要素をベターッと隙間なく並べたいってこと?それなら、カンマ
区切りの文字列からカンマを取るだけでよいのでは?そんな気がし
てならない。

583 = :

>.join('')ではカンマ区切りになってしまいます。

> ["a", "b", "c"].join("")
"abc"

ならんだろ
こういうことでもしたんじゃないか?

var sep; // 空文字列を設定したつもり
ary.join(sep); // 引数無し相当でjoin呼び出し

584 = :

IEやFirefoxは沢山の要素を作るとき、
変数に<div onclick="start">などの文字を追加していき最後にinnerHTMLでまとめてぶちこむ方が高速ですが
この場合無、名関数でスクリプト全体を囲んだ内部関数を呼び出すことはできませんよね?

585 = :

>>583
おっしゃるとおり.join('')で普通にできました。
阿呆なことしてました。

>>581-582
replaceでの置換は思いつきませんでした。
文字列を限定できるなら使えそうですね。
覚えておきます!

ありがとうございました。

586 = :

>>584
よくわからんが、無名関数を他所で呼び出すことは名前がないためアクセスできず無理
innerHTMLに渡す文字列にscriptがあっても実行は無理

587 = :

やはりそうですよね・・・
DOMで要素を追加していくとIEやFirefoxでかなり遅くなるので
無名関数で囲まずに置くことにします。ありがとう。

590 = :

>>588
なるほど
親要素でイベントを監視して、idか何かで判定して
eventオブジェクトを引数で渡してしまえば確かにできるかも・・・!

591 = :

「マラソンを走ったあとは早めにポカリ飲むといいよ」
「なるほど、確かにシャワー浴びてからビール飲むのがいいかも」

592 :

素朴な疑問。
テレビガイドのページが読み込まれるとき、
左上にある番組表をクリックしようとすると、
かならずといっていいくらい、その下の広告をクリックしてしまいます。
http://www.tvguide.or.jp/

IEでもChromeでも同じなので、
よく見ていると、
その上の「TODAY's CHECK」の欄の高さが
しばらく高めに開いて、
その後上下に縮むので、
マウスの位置がちょうど広告にくるようです。

これはJavascriptでやっているのでしょうか?
意図的ということはないですよね?

593 = 588 :

>>592
よくありがちっつーか、しょうがないっつーか。
TODAY'S CHECKのところ。

まず文字列がリスト表示されるコンテンツとして完結している。
それをJSが整形して、マーキー風に流れる様になる。

っていう二段階を踏んでるから、表示されてからガコガコっと高さが変わるんだね。
最初から高さをCSSで決め打っておけば問題なんだけど。

そうすると「JSが動かないが、CSSは効く」っていうレアな状態だと
リスト表示が見えない、ってのを気にしているのだと思う。

個人的には誰得?な感じがします。

594 = :

「JSが動かないが、CSSは効く」っていうレアな状態

逆ならともかく、レアと言うほど少なくはない

596 = :

Firefoxを使っていて且つNoScriptを導入している人がどれくらいいると思ってんの?
統計で見たらほんの一部じゃん

597 = :

どうしても気になるならJavaScriptでCSSを有効にするのはどうか

var link = document.createElement("link");
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = src;
document.getElementsByTagName("head")[0].appendChild(link);

598 = 588 :

>>594-595
すまん、レアな状態ってのは言葉が変だった。
標準状態(デフォ)でそういう実行環境はレアだよね、ってことっす。

599 = :

>>596
サイトによってもだいぶ率は変わりそう。
JSを切るのは別にFF+NoScriptだけの特権じゃないしね。

600 = :

なんかこのページの動作見てると段々イラッとしてくるな
最後のチェック見せるまで何秒待たせる気なんだ


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

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


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