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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    1 : Name_Not - 2016/02/02(火) 14:24:42.64 ID:???.net (+93,+30,+0)
    JavaScript を自ら学ぶ人のための質問スレッドです。
    >>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

    ■質問を書く上で
    (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
    (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
      (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
    (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
    (4) 常に自発的に調べる心構えを持ってください。
      具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
      わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
    (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
    (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
      ※必ず「問題の事象が再現されること」を確認してください。
       必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
    (7) サンプルコードに HTML が含まれる場合はhttp://validator.w3.org/ で [Check] してみてください。
    (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
    (9) ライブラリ関連の話題は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
    (10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
    3 : Name_Not - 2016/02/02(火) 14:29:14.64 ID:???.net (+3,-30,+0)
    ■FAQ
    http://fiddle.jshell.net/vSqKr/44/show/light/

    ◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
     ▼諸注意
      - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
      - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
      - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
     http://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
     ▼要素を検証
     1. ページ上で右クリックして [要素を検証]
     2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
     3. 右側のサイドバーから知りたいステータス名のタブを選択する
       - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
       - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
       - [Properties] タブ … 選択したDOMノードのプロパティを表示
     ▼コンソール
     1. JavaScript コード上で console.log('Hello, World!'); と入力
     2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
     3. [Console] パネルに "Hello, World!" と表示される
     (※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
    4 : Name_Not - 2016/02/02(火) 14:29:53.76 ID:???.net (+3,-30,+0)
    ■FAQ(続き)
    ◆JavaScriptの実行速度
    JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
    速度の疑問解消の為にhttp://jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。
    例外として、仕様における理論上の速度が明確になっている場合があります。
    例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。
    ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
    ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

    ■各種仕様 (http://fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 )
    ◆ Standard ECMA-262
    http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
    http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
    http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
    http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
    http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
    http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
    http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
    ◆ HTML Standard (HTML5)
    http://www.whatwg.org/specs/web-apps/current-work/multipage/
    http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
    http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
    6 : Name_Not - 2016/02/02(火) 14:33:43.16 ID:???.net (-6,-30,-138)
    ■JavaScript主要ライブラリ・フレームワーク

    jQuery
    http://jquery.com/
    jQuery UI
    http://jqueryui.com/
    jQuery Mobile
    http://jquerymobile.com/
    Lo-Dash
    http://lodash.com/
    Backbone.js
    http://backbonejs.org/
    Underscore.js
    http://underscorejs.org/
    AngularJS
    http://angularjs.org/
    Knockoutjs
    http://knockoutjs.com/
    RequireJS
    http://requirejs.org/
    D3.js
    http://d3js.org/
    threejs
    http://threejs.org/
    7 : Name_Not - 2016/02/02(火) 14:36:41.16 ID:???.net (+48,+25,+1)
    以上でテンプレ終わりです
    8 : Name_Not - 2016/02/02(火) 14:37:07.03 ID:???.net (+24,+6,+0)
    >>1-7
    9 : Name_Not - 2016/02/02(火) 14:57:15.57 ID:???.net (-1,-29,-5)
    仕様にこれも追加で
    ECMAScript Living Standard
    http://tc39.github.io/ecma262/
    10 : Name_Not - 2016/02/02(火) 15:08:37.01 ID:???.net (+59,+26,-4)
    ライブラリ禁止なのになぜ>>6があるんだ?
    11 : Name_Not - 2016/02/02(火) 15:11:57.20 ID:???.net (+67,+29,-4)
    >>6はhttp://fiddle.jshell.net/fH4cC/174/show/にもないから勝手に付け足されたようだね
    12 : Name_Not - 2016/02/02(火) 15:14:22.26 ID:???.net (+94,+29,-19)
    ライブラリ禁止だからこそあるんでしょ。
    ライブラリの仕様・用法についてはそっちを見て下さいということで。
    13 : Name_Not - 2016/02/02(火) 15:18:35.78 ID:???.net (+62,+29,-45)
    そういうのはライブラリスレに誘導すれば解決する問題でしょ
    ここにライブラリのリンクがあると許可されたと勘違いしたライブラリ質問が絶対に来るよ
    まあ、ライブラリスレが今は落ちてるから立て直さないといけないという問題はあるけど
    14 : Name_Not - 2016/02/02(火) 15:27:39.43 ID:???.net (+57,+29,-39)
    >>ここにライブラリのリンクがあると許可されたと勘違いしたライブラリ質問が絶対に来るよ
    あろうがなかろうが奴は来る。悪意を持ってるから。
    15 : Name_Not - 2016/02/02(火) 15:28:12.19 ID:???.net (+57,+29,-20)
    このスレたったタイミングで129とか建ってるしなw
    どんだけ暇人なんだよ・・・
    16 : Name_Not - 2016/02/02(火) 15:35:40.99 ID:???.net (+57,+29,-27)
    >>5の注意書きと>>6が別になってるから>>6がライブラリ禁止の意味になってない
    禁止なんだから>>6なんて要らんしバッサリ切っていいと思う
    17 : Name_Not - 2016/02/02(火) 15:36:07.68 ID:???.net (+88,+29,-24)
    彼が来るのは必然として勘違い質問ぐらいは防ごうよという話
    >>6が必要な理由が特にない
    18 : Name_Not - 2016/02/02(火) 15:46:11.38 ID:???.net (+144,+30,-113)
    >>17
    言ってることがおかしい。手段と目的が逆になってる。
    目的は荒らしを防ぐためであって、ライブラリ禁止というのはあくまでその建前。
    別にライブラリが大嫌いなコミュではないし、ピュアスクリプト信者の集いでもない。

    別に勘違いして来る人を排除することを考える必要性なんてこれっぽっちも無いし、
    仮にライブラリがいくらか関係するような質問と解答のやり取りが生まれても、
    それを鬼の首を取ったように騒ぎ立てる必要性もない。

    過剰な反応は誰に取ってもプラスにはならないよ。
    書いてある通りに縛られるのではなく、その意味を汲んで臨機応変に対応するべき。
    19 : Name_Not - 2016/02/02(火) 15:51:34.52 ID:???.net (+57,+29,-43)
    6追加したのは129立てたヴァカだろ
    時間見りゃわかる
    擁護してるやつは無駄なことしなくていい
    ただの悪意で深い意味なんてないから
    ただスルーするのみ
    20 : Name_Not - 2016/02/02(火) 16:01:32.45 ID:???.net (+111,+30,-57)
    >>18
    本当にそういう理由ならライブラリ質問全体を禁止する必要はない
    「荒らしはスルー」と一言添えるだけでいい
    ライブラリ質問は彼の宗教じみた回答を寄せ付けるから禁止されたんだよ
    勘違い質問が彼を呼び寄せるならそれも防ぐべきでしょ
    21 : Name_Not - 2016/02/02(火) 16:10:59.47 ID:???.net (+101,+29,-45)
    あわよくばまたテンプレ乗っ取ろうとしたけど間に合わなかったのかね
    今んとこ>>12以外は>>6不要で一致してるしこのままスルーでいいんじゃない
    そもそも荒らしが紛れ込ましたノイズの必要性を議論するのがおかしい
    22 : Name_Not - 2016/02/02(火) 18:30:03.95 ID:???.net (+72,+29,-35)
    >>20
    そう、「荒らしはスルー」に限るし、別にライブラリのリンク貼られたくらいで騒ぎ立てることもない。
    理屈なくライブラリということそのものに反応するようになったらオシマイ。
    23 : Name_Not - 2016/02/02(火) 18:41:50.29 ID:???.net (+76,+29,-32)
    前スレ>>997
    開発者ツールは長時間使用に耐えられないようです…

    >>998
    個別実装について聞けと言うのは確かにその通りだと思いますので、
    別のスレで聞いてみます
    ありがとうございました
    24 : Name_Not - 2016/02/02(火) 19:33:17.69 ID:???.net (+57,+29,-5)
    >開発者ツールは長時間使用に耐えられない
    まずはいいパソコンでも買おうか
    25 : Name_Not - 2016/02/02(火) 19:35:04.07 ID:???.net (+14,-29,-21)
    >>23
    は?メモリ調べたいだけならPerformanceAPI使えばいいじゃん
    26 : Name_Not - 2016/02/02(火) 19:50:16.47 ID:???.net (+66,+29,-1)
    >>21
    そうするよ、ありがとう
    28 : Name_Not - 2016/02/02(火) 20:21:24.89 ID:???.net (+34,-30,-14)
    var test = new ArrayBuffer(1024*1024*1024)とかだとでかいだろ
    29 : Name_Not - 2016/02/02(火) 20:48:39.99 ID:???.net (+3,-30,-105)
    >>27
    function hoge () { var test = 'test'; }
    hoge();

    なら関数実行終了後にGCが回収するから何もしなくても問題ない
    GCが回収できないのはクロージャやグローバル変数等で参照が保持される時
    そういう場合は不要になったら明示的に null を代入しないとページが unload されるまでメモリを消費し続ける
    30 : Name_Not - 2016/02/02(火) 20:56:59.52 ID:???.net (+104,+29,-78)
    原則参照が保持されてるということは不要ではないと言うことで。
    不要な参照が保持され続けるようなコードをであるなら設計が悪いと言わざるを得ない。
    nullを代入する云々は、明示的にしないとダメだから、ではなく、
    >>28のような場合でCGにあえて任せず自分で明示的にリソース管理をする場合のみ有効。
    31 : Name_Not - 2016/02/02(火) 21:01:41.05 ID:???.net (+3,-30,-114)
    addEventListener('load', initialize, false);
    に対して
    removeEventListener('unload', initialize, false);
    は必要なんでしょうか?
    32 : Name_Not - 2016/02/02(火) 21:02:32.94 ID:???.net (+46,+24,+0)
    必要ないです
    33 : Name_Not - 2016/02/02(火) 21:03:01.65 ID:???.net (+52,+29,-2)
    アホなことを聞くな
    34 : Name_Not - 2016/02/02(火) 21:04:30.62 ID:???.net (+4,-29,-27)
    >>32
    ありがとう
    removeEventListenerの使い道がよくわからないんですよね
    35 : Name_Not - 2016/02/02(火) 21:10:46.44 ID:???.net (+57,+29,-32)
    そりゃあ途中でイベントを取る必要が無くなった時だろ。
    勿論リスナ側でフラグ管理しても良いが、丸ごと外す方がスマートなときもある。
    36 : Name_Not - 2016/02/02(火) 21:15:29.11 ID:???.net (+62,+29,-52)
    逆のタイミングで使うもんじゃないんですね
    途中でイベントを取る必要がなくなっても別に放置しても都合が悪くなければそのままでいいんですか?
    メモリなんかに考慮して積極的にremoveしてるのでしょうか?
    37 : Name_Not - 2016/02/02(火) 21:30:10.71 ID:???.net (+56,+28,-34)
    設計が悪くなければ問題ない。
    例えば毎秒数十万のリスナを追加するような設計なら、removeを考えないといけない。
    でもそれはwindowに1つ永続的なのを設定しとけばすむかもしれない。
    38 : Name_Not - 2016/02/02(火) 21:35:55.43 ID:???.net (+62,+29,-36)
    ありがとう
    イベントターゲットでやるやつですね
    テーブルでカレンダー組をして
    セル1つあたりにマウスオーバーイベントとかつけたことある程度なので大丈夫そうですね
    loadのときにaddしたので
    それも意味もわからずunloadのときにremoveしてましたがw
    39 : Name_Not - 2016/02/02(火) 21:53:37.14 ID:???.net (+76,+29,-45)
    >>30
    > 原則参照が保持されてるということは不要ではないと言うことで。
    原則そうあるべきだけど、実際には無名関数を執拗に入れ子にしてるコードも良く見かける
    参照を保持しないようにコードを組む方法が分かっていないんだろうけど
    40 : Name_Not - 2016/02/02(火) 22:29:25.35 ID:???.net (+70,-30,-61)
    Effective JavaScriptって本読んでるんだけど
    その本の中でforループでよくやってしまうミスが紹介されてて
    「for(var i = n; i >= 0; i--){ ... } // 最初の回を繰り返す」っていうミスがよくわからないんだけど、
    これって最初の回を繰り返す?
    ちゃんと変動していると思うんだけど・・・
    41 : Name_Not - 2016/02/02(火) 22:32:09.06 ID:???.net (+57,+28,-13)
    その n は何が入ってんだよ
    42 : Name_Not - 2016/02/02(火) 22:33:17.99 ID:???.net (+71,+29,-18)
    >>40
    動くように全てのコードを抜粋しなければわからん
    43 : Name_Not - 2016/02/02(火) 22:42:33.51 ID:???.net (+57,+29,-18)
    n回繰り返したいのにn+1回繰り返してしまうということだろう。
    よくやってしまうというより、初心者が最初一度は嵌るという類のものだな。
    一旦理解すれば間違えることはない。
    44 : Name_Not - 2016/02/02(火) 22:42:57.81 ID:???.net (+13,-30,-57)
    >>41
    このnの記述ないんだよね

    >>42
    省略してないよ
    「for(var i = n; i >= 0; i--){ ... } // 最初の回を繰り返す」っていう1行だけしか書いていないんだ・・・

    この行の上には
    「for(var i = 0; i <= n; i++){ ... } // 1回余計に繰り返す」
    「for(var i = 1; i < n; i++){ ... } // 最初の回が抜けている」
    って書かれていて特に変なところもないんだよ
    45 : Name_Not - 2016/02/02(火) 22:43:47.92 ID:???.net (+42,+14,+2)
    46 : Name_Not - 2016/02/02(火) 22:45:57.39 ID:???.net (+31,-30,-18)
    つまり最初(i==n-1)から最後(i==0)まで本来回したいのだから、
    最初の回(i==n)が余計と言いたいのだろう。
    47 : Name_Not - 2016/02/02(火) 22:53:55.59 ID:???.net (+93,+29,-10)
    買ってはいけない本だというのがよくわかる
    いや煽りも冗談も抜きで
    48 : Name_Not - 2016/02/02(火) 22:56:54.75 ID:???.net (+67,+30,-27)
    まあ別に初心者が買う本じゃないんだろうし、
    全てを参考にする類でもなく、自分の抜けてたところに気付くためのものだろう
    >>40こういう質問をする段階じゃまだ早いと言えるかもしれない
    49 : Name_Not - 2016/02/02(火) 22:57:24.72 ID:???.net (+68,+29,-10)
    >>46
    ありがとう!理解した
    レスしてくれた人みんなありがとう

    >>47
    そうなんかな
    自分の理解力の問題やと思うわ
    50 : Name_Not - 2016/02/02(火) 23:01:00.13 ID:???.net (+57,+29,-14)
    まあGood Partsよりはいい本だろうと思うよ
    出た時期がまず第一に重要だからね
    最新の情報であれば少なくとも取り敢えず読んで見る価値はあると思う
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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