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

    私的良スレ書庫

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

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

    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 - 2013/10/07(月) 23:00:29.86 ID:N45Q30AM (+135,+30,+0)
    JavaScript を自ら学ぶ人のための質問スレッドです。
    >>2-4のテンプレを読んだ上で質問してください。

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

    ■質問テンプレート
    【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
    【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
    【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
    【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
    【サンプルコード】現象を再現可能な最小限のコードを書いてください。
     1レスに収まらないならコード投稿サイトを利用してください。
     http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
    2 : Name_Not - 2013/10/07(月) 23:01:10.77 ID:N45Q30AM (+5,-30,-176)
    ■前スレ
    + JavaScript の質問用スレッド vol.109 +
    http://toro.2ch.net/test/read.cgi/hp/1381154429/

    ■過去スレ全集
    http://www2.atpages.jp/mirror/2ch/javascript/
    http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

    ■テンプレ案
    http://jsfiddle.net/fH4cC/21/show/

    ■関連スレ
    ECMAScript デス 4
    http://toro.2ch.net/test/read.cgi/tech/1325448978/
    【jQuery】JavaScript ライブラリ総合質問所 vol.3
    http://toro.2ch.net/test/read.cgi/hp/1369444026/
    WSH(・∀・)スレッド! Part 5
    http://toro.2ch.net/test/read.cgi/tech/1350201791/
    【WHATWG】HTML5 Part4【W3C HTML WG】
    http://toro.2ch.net/test/read.cgi/hp/1329529892/
    Webサイト制作初心者用質問スレ part236
    http://toro.2ch.net/test/read.cgi/hp/1329529892/
    CSS初心者スレッド=12th=
    http://toro.2ch.net/test/read.cgi/hp/1343429848/
    Canvasについて語ろう
    http://toro.2ch.net/test/read.cgi/hp/1305093769/
    3 : Name_Not - 2013/10/07(月) 23:01:41.31 ID:??? (-27,-30,+0)
    ■主要FAQ (全部はhttp://fiddle.jshell.net/vSqKr/33/show/ )
    Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
    A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
    Q2. document.write()でページ内容を追加したいのですが…
    A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
    Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
    A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
      DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
    Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
    A4. 「document.forms.myform.elements[変数名].value」でどぞ。
      JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
      グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
    Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
    A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
      IEでは要素オブジェクトのプロパティcurrentStyleを使う。
    Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
    A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
    Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
      「"...this..."」とか「function(){...this...}」ではうまく行きません。
    A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
      「function(x){return function(){...x...};}(this)」
    Q8. input type="file"の値を設定(参照)できないのですが…
    A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
    Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
    A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか
    4 : Name_Not - 2013/10/07(月) 23:02:11.72 ID:??? (-17,-30,+0)
    ■主要FAQ (全部はhttp://fiddle.jshell.net/vSqKr/33/show/ )
    Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
    A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
    Q2. document.write()でページ内容を追加したいのですが…
    A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
    Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
    A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
      DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
    Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
    A4. 「document.forms.myform.elements[変数名].value」でどぞ。
      JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
      グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
    Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
    A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
      IEでは要素オブジェクトのプロパティcurrentStyleを使う。
    Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
    A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
    Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
      「"...this..."」とか「function(){...this...}」ではうまく行きません。
    A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
      「function(x){return function(){...x...};}(this)」
    Q8. input type="file"の値を設定(参照)できないのですが…
    A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
    Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
    A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか
    5 : Name_Not - 2013/10/07(月) 23:04:11.62 ID:N45Q30AM (+44,-30,-46)
    質問です
    if()の書き方はif();とif(){}の二通りありますが
    なぜ前者の{}つけない方が多いんでしょうか?

    実はパフォーマンスが優れてたりするんでしょうか?
    6 : Name_Not - 2013/10/07(月) 23:05:59.71 ID:??? (-5,+6,+0)
    >>1
    7 : Name_Not - 2013/10/07(月) 23:08:07.24 ID:??? (+34,+26,-17)
    >>5
    1行に収めるなら{}は付けないというのが
    良いコーディングスタイル
    8 : Name_Not - 2013/10/07(月) 23:22:22.94 ID:??? (+27,+29,-32)
    jqueryでfadeOutさせたらフェードアウトしただけでなく要素まで消えてしまいました
    フェードアウトさせるだけにしたい時にはどうしたらいいですか?
    9 : Name_Not - 2013/10/07(月) 23:26:44.24 ID:??? (+32,+29,-15)
    >>7
    そうは思いませんね
    可読性に欠けます
    10 : Name_Not - 2013/10/07(月) 23:28:51.83 ID:??? (+2,+4,-15)
    短いものでも一行にせず{}を付けるのがクロックフォードスタイル
    14 : Name_Not - 2013/10/07(月) 23:56:04.12 ID:??? (+27,+29,-30)
    クロックフォードさんが付けろっていってる根拠は何?
    統一性?インデントとかでブロックを取り違えるから?
    15 : Name_Not - 2013/10/07(月) 23:58:39.57 ID:??? (+7,+14,-3)
    なんで1行にするんだ?
    16 : Name_Not - 2013/10/08(火) 00:01:38.78 ID:??? (+30,+29,-18)
    何で1行にするんだじゃない
    1行にする時は付けないんだよ
    とは言っても長い時は
    if(~~~~~~~)
    ______~~~~~~~~;
    みたいなのも見かけるが、まあそこはケースバイケースで見やすい方を取ったほうがいいかもね
    17 : Name_Not - 2013/10/08(火) 00:04:01.88 ID:??? (+27,+29,-19)
    クロックフォードはそもそも一行にするなって言ってる
    俺もそうしてる
    18 : Name_Not - 2013/10/08(火) 00:09:37.19 ID:??? (-6,-8,-2)
    >>16
    1行っていうか、1文の時はってこと?
    21 : Name_Not - 2013/10/08(火) 00:13:52.68 ID:??? (+33,+30,-82)
    クロックフォードスタイルはJSの良いとこも悪いとこも
    全部叩いて平坦にしようっていう無難なスタイル
    妥協点ではあるが最良点ではない
    普通にチームにScripterが揃ってるんならもっと大胆な書き方をすべし

    あと、個人的には1つのコーディングスタイルの全部が良いと思ったことはないし、
    そう思って従うのは早慶じゃないかと思う
    ちなみに自分は緩いNPMスタイルとlintおじさんの格言を組み合わせてる
    22 : 5 - 2013/10/08(火) 00:15:29.12 ID:NOtVv3Bn (+9,+10,-25)
    >>16
    やっぱりケースバイケースで見易さの為でしたか
    納得できました
    if()
    if()
    else
    って非常に解り辛いコードがあったんで
    23 : Name_Not - 2013/10/08(火) 00:22:52.50 ID:??? (-26,-29,-21)
    V8:一行に収まる時は括弧レス
    http://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/v8natives.js

    Node:見かけがスッキリする時は括弧レス
    http://github.com/joyent/node/blob/master/src/node.js

    *Monkey:できる限り括弧レス
    http://mxr.mozilla.org/mozilla-central/source/js/src/builtin/Array.js
    25 : Name_Not - 2013/10/08(火) 00:26:52.24 ID:??? (+3,+5,-16)
    elseある場合の省略マジやめろ
    複数あると本気で困るわ
    26 : Name_Not - 2013/10/08(火) 00:42:24.47 ID:??? (+27,+29,-11)
    インデントがしっかりしてれば困らないだろ
    まずそっちのスタイルをしっかりしろよ
    27 : Name_Not - 2013/10/08(火) 00:47:51.82 ID:??? (-12,-11,-69)
    >>23
    > V8:一行に収まる時は括弧レス

    それが規約になっているヤツないかな。

    一行に収まるというか、

    ifの実行文が1文で終わる場合は、
    一行にすることを前提に括弧を省略してもよい。

    というのが俺の規約だが。
    28 : Name_Not - 2013/10/08(火) 00:55:25.08 ID:??? (+28,+30,+0)
    29 : Name_Not - 2013/10/08(火) 02:00:45.87 ID:??? (-27,-30,-176)
    要素を空にする方法を検索してみると、
    e.innerHTML = '<div></div>';
    e.removeChild(e.firstChild);
    とか
    e.parentNode.replaceChild(e.cloneNode(false), e);
    とか
    while(e.firstChild) e.removeChild(e.firstChild);
    とか、JQueryなら
    $(e).empty();
    とかあるようですが、どれがおすすめですか?
    33 : Name_Not - 2013/10/08(火) 17:24:27.53 ID:??? (-6,-29,-61)
    Function.prototype.bindってありますよね。あれ、引数も束縛できますが、
    引数を配列で指定する方法ってないでしょうか?
    直接は無理かと思うんですが、何かこう工夫してできないでしょうか?
    34 : Name_Not - 2013/10/08(火) 17:25:14.67 ID:??? (+11,+23,+0)
    無理
    40 : Name_Not - 2013/10/08(火) 17:57:55.45 ID:??? (-27,-30,-101)
    ES5ならこんな感じがいいんじゃない?

    Function.prototype.bindApply(thisObject, argumentsArray) {
    Function.prototype.bind.apply(this, [[thisObject].concat(argumentsArray)]);
    }

    func.bindApply(thisObject, argumentsArray);
    41 : Name_Not - 2013/10/08(火) 18:10:07.18 ID:??? (+13,+6,-41)
    質問です。
    JavaScriptの入門書は発行日がいつ頃までのであれば使えますか?
    2000年と2007年のものではどうでしょうか?
    42 : Name_Not - 2013/10/08(火) 18:14:12.56 ID:??? (+38,+28,-24)
    インデントをスペースにするとソースコードサイズが膨張するのでタブにした方がいいですよね?
    43 : Name_Not - 2013/10/08(火) 18:15:37.63 ID:??? (+25,+29,-7)
    タブの方がいいよ
    後からスペースにも置き換えやすいし
    サイズはどうでもいい
    44 : Name_Not - 2013/10/08(火) 18:15:58.63 ID:??? (+29,+29,-3)
    >>41
    使えなくなった機能があるわけじゃないからどっちも使える
    45 : Name_Not - 2013/10/08(火) 18:18:32.70 ID:??? (+34,+30,-46)
    >>41
    発行年月日ではなくて、本の内容で決めろ。

    つまりだ。

    そこら辺においてある本から選ぶのではなく、
    Amazonやネットのレビューを参考にしたり、
    大きな本屋に行って選ぶんだよ。

    そして買いなさい。

    多分その本は二つとも、使いものにならないから。
    46 : Name_Not - 2013/10/08(火) 18:19:28.64 ID:??? (-20,-15,+0)
    47 : Name_Not - 2013/10/08(火) 18:22:15.87 ID:??? (+27,+29,-36)
    マルチの何が駄目なのか分からん
    複数の場所で質問した方がクオリティが上がるのは当たり前
    他人が駄目と言っているから駄目と思い込んでいるだけの硬直思考
    48 : Name_Not - 2013/10/08(火) 18:22:35.06 ID:??? (+37,+29,-78)
    >>42
    コードを書くときはスペースにしましょう
    インデントは使ってはいけません
    インデントはいろいろ不都合がありますので使ってはいけません
    サイズ軽量化はプログラマのお仕事ではありません
    そういう用途に適したツールの役目です
    50 : Name_Not - 2013/10/08(火) 18:23:45.06 ID:??? (-13,-10,+0)
    >>39
    teramakoさん宣伝&売名活動ごくろうさまです
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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