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

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

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

    202 = :

    >>196
    何が速いかは一般的に言えない
    例えば値をキーにすれば後々の参照は速くなるけど、書き込み時は遅くなるし、その他手間もかかる
    順序は大切なのか、とか数値だけなのかとかでも手段は変わる

    少なくとも連想配列にする方法は速いかもしれないが良い方法ではない
    パフォーマンス上深刻な問題が出て初めて検討するようなこと
    indexOfは速くはないかもしれないが良い方法だよ

    まあES6のSetが満足に使えれば一番スマートなんだけどね

    203 = :

    >>200
    所定時間でページを読み込むという方法ですね、考えてみます

    >>201
    詳しいスクリプトありがとうございます
    まだjavascriptそんなに詳しくないので書いてくれた記述を調べながらやってみます

    お二人とも親切にありがとうございました!

    205 = :

    PUREっていうヤホー謹製のCSS Framework勉強中だけどかなりいい感じ
    BootstrapでjQueryが使われてるようにPUREにはYUIが使用されてる
    YUIって今まで知らなかったんだけど、jQueryと比べてどんな違いがあるんだろ
    jQueryの方がデザイナー向け、YUIが技術者向けと解説してるブログもあった

    207 = :

    今のブラウザなら速いだろ。

    208 = :

    なんとなくchromeのJS速度が遅くなった気がします
    ドラッグにモッサリ感が出てきたような
    そんな感じしませんか?

    209 = :

    >>208
    ドラッグとJS速度の関係性について詳しく

    210 = :

    いつかここの住民と一緒に最強フレームワークを作れたらいいいな

    211 = :

    匿名多くして舟山に登る

    212 = :

    >>196
    レガシーブラウザは非サポートだけどArray.some()というずばりのメソッドがあるよ

    213 = :

    改行が\n以外になるブラウザってありますか?
    たとえば\r\nとか\rとか

    214 = :

    >>213
    例えばテキストエリアの場合
    内部的なデータは違うかも知れんが入力されたテキストが
    js 側からどう見えるかなら

    FF はOS関係なしに問答無用で \n に正規化?
    IE だけ 9 までは \r\n で IE10 は \n ?

    らしいが、
    手入力で改行を入力した場合
    \r 入りのテキストをコピペした場合
    \r\n 入りのテキストをコピペした場合
    \n 入りのテキストをコピペした場合
    \r\n と \n と \r が入り乱れたテキストをコピペした場合
    でも違ってくるかもしれない

    215 = :

    >>212
    それは範囲をもたせて当てはまる値の存在を知りたい時に使うもの
    厳密等価の値があるかを調べるのにはあまり適さない


    >>213
    textContentから取得した文字が\r\nとかはブラウザ関係なく普通にありえるよ
    ただしtextareaのvalue経由で扱う値では\n、\r、\r\nは\nに置換されることになってる
    http://www.whatwg.org/specs/web-apps/current-work/#concept-textarea-api-value

    ただ仕様の怪しい物もあって、例えばalertの仕様では
    「例えば\nで段落分けすることを含む、高度な表現をサポートすることが期待される」としかされてない

    実装はChはJSの「改行文字4種」で改行して、Fxは\nだけでするとかバラバラ
    「改行文字4種」とは\nと\rと\u2028と\u2029のこと、それに\r\nを加えた5つをJSでは改行のトークンとして扱うことになってる
    (だから例えば"1\r1"は11に見えるかも知れないけどeval("1\r1")は1になる)

    でも基本的にHTMLのNewlinesの定義に従うべきだとするなら、\rと\nと\r\nを1改行と扱うのが適当だと思う
    とすると、Fxでは\rのサポートが足りてないし、Chでは\r\nを2改行として表示してしまうのが良くない

    また厳密に言うとalertはただの文字列ではなくメッセージを表示するものだから、ただの改行ではなく段落分けされる方が好ましい

    216 = :

    すごく詳しくありがとうございます

    217 = :

    >>212
    Array#indexOf で遅いといっている人に Array#indexOf より遅い Array#some を薦めるのは…。

    Array#indexOf が標準的な書き方で最適だと思うが、関数コストが重いと感じる環境なら for 文で回せばいいと思う。
    最も、そこまでパフォーマンスに不満がある状況なら実装方法を変えたほうがいいかもしれないが。

    218 = :

    contenteditable=trueで
    スペースを入力した時のタグ化のアルゴリズムはどういうものでしょうか
    必ず に変換する、だと思っていたのですが、違うようです
    http://jsbin.com/EzaloQO/1/edit
    ここでスペースを入力すると、コンソールにhtmlソースを出力するので確かめられます
    何故必ず に変換しないのかが分かればアルゴリズムも分かると思うのですが

    219 = :

    文末と行頭は に変換する
    その後、連続するスペース二つはスペース+ に変換する
    で、chromeの場合のアルゴリズムは再現できました。
    しかし何故こんな変なやり方をしているのでしょうか?

    220 = :

    ×文末
    ○行末
    でした

    221 = :

    当分前にChromeのバグの件で質問した者ですが、4年かかってようやく直ったみたいです
    http://code.google.com/p/v8/issues/detail?id=691

    obj = { get fn() { alert(1) } }
    obj.fn( alert(2) )

    がChromeだけ2、1となってしまう例のアレです

    あのときは分かって貰えず色々言われて"ちょっと"悔しい思いをしてましたが、まあ直ってほっとしました
    "ちょっと"遅かったですけどね、、、

    223 = :

    [
    {name:"a",ikioi:500},
    {name:"b",ikioi:600},
    {name:"c",ikioi:400}
    ]

    こんな感じになっている(連想配列が要素として入っている)配列を

    [
    {name:"b",ikioi:600},
    {name:"a",ikioi:500},
    {name:"c",ikioi:400}
    ]

    という感じに、勢い昇順でソートしたいのですが、
    勢いを親配列のキーにする(配列の中に連想配列ではなく連想配列の中に連想配列にする)
    以外で何か良い方法ありませんか?

    224 = :

    >>223
    Array.prototype.sort

    226 = :

    >>224
    ありがとうございます!

    227 = :

    divAの中にdivB,dicC,divDが入っていて
    Aとそのコンテンツとの間にCSS適用用のdivを挟み込んだり、また抜いたりしたいです
    どうするのが一番いいですか?
    一番簡単なのは、innerHTMLをdivで挟んでまた代入、みたいなのだと思いますが

    228 = :

    何がしたいのか解読に時間がかかったが、
    わざわざ要素をその都度入れ替えするくらいなら、
    最初からそのCSS適用用のdivとかやらを作っておいて、classの値を付け外しする方が良い。

    229 = :

    >>228
    その方法は既存ページに手を加えずに機能を付け足す場合には通用しない
    その種の divA が大量にある場合も動的な方がいいかもしれない

    >>227
    =======挟み込む
    var div1 = document.createElement('div');
    var range = document.createRange();
    range.selectNodeContents(divA);
    range.surroundContens(div1);

    =======抜く
    range.selectNodeContents(div1);
    divA.appendChild(range.extractContents());
    divA.removeChild(div1);

    230 = :

    残念ですがその方法はケータイのブラウザでは対応してないようです
    世の中には簡易なJSに対応している数千万台のフィーチャーフォンがあることを意識して回答してくださいね

    231 = :

    textareaで秀丸のような矩形編集がやりたいです
    既存ライブラリではないようなので自作しようと思いましたが
    複数位置選択のやり方がわかりません
    もしかして出来ないのでしょうか?

    233 = :

    >>230
    なにそれ?シティーフォン?

    235 = :

    >>231
    今のトレンドはcanvasで全部自前実装

    236 = :

    >>230
    あなたはまず、動作環境を開示して質問する事を覚えて下さいね。
    >>2にテンプレがありますから。

    237 = :

    chromeにコントロールキーを押しながらクリックすると
    カーソルを動かしてスクロールできる機能が付きましたが
    この機能の名前は何ですか?

    238 = :

    >>232
    document
    理由はほぼ全て受け取れるから

    239 = :

    >>235
    すごく大変そうですが本当にトレンドなんですか?
    エディタをフルスクラッチで作るようなものでは?

    240 = :

    たしかcanvasの仕様書にそんなことやめろとか
    10個か20個かやたらしつこく理由が挙げられていたような…

    241 = :

    chromeでcontenteditbleを使った時
    URLを書くと勝手にリンクされてしまいます
    これを防ぐにはどうしたらいいでしょうか?

    242 = :

    皆さんは折りたたみをどうやって作っていますか?

    243 = :

    var MYAPP = MYAPP || {};
    MYAPP.utilities = (function (){
    var util = {};

    util.start = function() {
    console.log("スタート!");
    };

    util.end = function() {
    console.log("おわり!");
    };
    return util;
    })();
    とした場合
    MYAPP.utilities.start(); // スタート!
    のように使えますが、

    別のファイルからstart()やend()を呼びたいときは
    var utilities = new MYAPP.utilities();
    utilities.start();
    って↓に書いてあるのですが、別ファイルから呼ぶって
    http://takanamito.hateblo.jp/entry/2013/04/12/000357
    どういったときを想定しているのでしょうか?

    244 = :

    >>234
    これわからないからどこで見たのか教えてください

    245 = :

    >>244
    分割代入
    http://developer.mozilla.org/ja/docs/Web/JavaScript/New_in_JavaScript/1.7

    246 = :

    >>232 HTML5ではグローバルまで伝播するのでwindowだが、そもそもまとめる必要なし
    >>233 au以外のガラケーはほとんどJS有効
    >>234 {hoge}というのはES6において{hoge:hoge}の省略でvar hoge = nantara.hoge;と同じ
    >>242 details要素

    >>231,239,241 そもそも実現手段から考えなおせ。そこにこだわるのは無理筋

    247 = :

    chromeでctrl+clickをした時、
    スクロール状態になるのを防ぐ方法ありますか?
    clickイベントをpreventしたら防げると高をくくっていましたが、
    ctrlを押しながらclickすると、
    clickイベント自体が発生しないようです
    イベントがすべてスルーされた結果としてデフォルトの特殊機能が発動するのが
    マトモな実装だと思いますが、そうはなっていないようで・・。

    249 = :

    とんでもないことに気付きました
    autoscrollとかいうエクステンションのせいでした・・
    chromeのバージョンアップから現象が発生したので、
    chromeのせいと思い込んでいました・・
    スレ汚しすみません
    googleも疑ってすみません


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

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


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