+ JavaScript の質問用スレッド vol.110 +
1 :
Name_Not_Found :
2013/10/07(月) 23:00:29.86 ID:N45Q30AM 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_Found :2013/10/07(月) 23:01:10.77 ID:N45Q30AM
■主要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 中でやるとか
■主要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_Found :2013/10/07(月) 23:04:11.62 ID:N45Q30AM
質問です if()の書き方はif();とif(){}の二通りありますが なぜ前者の{}つけない方が多いんでしょうか? 実はパフォーマンスが優れてたりするんでしょうか?
>>5 1行に収めるなら{}は付けないというのが
良いコーディングスタイル
jqueryでfadeOutさせたらフェードアウトしただけでなく要素まで消えてしまいました フェードアウトさせるだけにしたい時にはどうしたらいいですか?
短いものでも一行にせず{}を付けるのがクロックフォードスタイル
11 :
>>2 :2013/10/07(月) 23:38:42.86 ID:wyGxlQTQ
12 :
>>4 :2013/10/07(月) 23:39:22.40 ID:wyGxlQTQ
1行なら{}を付けるほうが可読性が書けるから 多くのコーディングスタイルでは{}を取ることになってる。 JSのエンジン実装でもNodeとかでもそう。
クロックフォードさんが付けろっていってる根拠は何? 統一性?インデントとかでブロックを取り違えるから?
なんで1行にするんだ?
何で1行にするんだじゃない 1行にする時は付けないんだよ とは言っても長い時は if(〜〜〜〜〜〜〜) ______〜〜〜〜〜〜〜〜; みたいなのも見かけるが、まあそこはケースバイケースで見やすい方を取ったほうがいいかもね
クロックフォードはそもそも一行にするなって言ってる 俺もそうしてる
1行とかクズコード
しっかりこのように書きましょう if (条件式) { ○×△ } こういうコードはバグを生みますので、世界に迷惑をかけるので書くのはやめましょう if (条件式) ○×△
クロックフォードスタイルはJSの良いとこも悪いとこも 全部叩いて平坦にしようっていう無難なスタイル 妥協点ではあるが最良点ではない 普通にチームにScripterが揃ってるんならもっと大胆な書き方をすべし あと、個人的には1つのコーディングスタイルの全部が良いと思ったことはないし、 そう思って従うのは早慶じゃないかと思う ちなみに自分は緩いNPMスタイルとlintおじさんの格言を組み合わせてる
22 :
5 :2013/10/08(火) 00:15:29.12 ID:NOtVv3Bn
>>16 やっぱりケースバイケースで見易さの為でしたか
納得できました
if()
if()
else
って非常に解り辛いコードがあったんで
一文だけの時は{}無い方がいいよ
elseある場合の省略マジやめろ 複数あると本気で困るわ
インデントがしっかりしてれば困らないだろ まずそっちのスタイルをしっかりしろよ
>>23 > V8:一行に収まる時は括弧レス
それが規約になっているヤツないかな。
一行に収まるというか、
ifの実行文が1文で終わる場合は、
一行にすることを前提に括弧を省略してもよい。
というのが俺の規約だが。
要素を空にする方法を検索してみると、 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(); とかあるようですが、どれがおすすめですか?
e.remove()
e.textContent = '"" もあるよ
Objectのサイズ(割り当てられたメモリの数)を取得したいのですが、どのようにすればいいでしょうか?
Function.prototype.bindってありますよね。あれ、引数も束縛できますが、 引数を配列で指定する方法ってないでしょうか? 直接は無理かと思うんですが、何かこう工夫してできないでしょうか?
無理
Function.prototype.bind.apply(func, [thisObject, ...argumentsArray])
それならこれでよくね? func.bind(thisObject, ...argumentsArray);
>>32 長い文字列は1文字2byte、TypedArrayはそのまんま、
あとは微々たるものとして概算
38 :
33 :2013/10/08(火) 17:45:35.62 ID:???
すみません。 ...argumentsArray ってなんですかorz
ES5ならこんな感じがいいんじゃない? Function.prototype.bindApply(thisObject, argumentsArray) { Function.prototype.bind.apply(this, [[thisObject].concat(argumentsArray)]); } func.bindApply(thisObject, argumentsArray);
質問です。 JavaScriptの入門書は発行日がいつ頃までのであれば使えますか? 2000年と2007年のものではどうでしょうか?
インデントをスペースにするとソースコードサイズが膨張するのでタブにした方がいいですよね?
タブの方がいいよ 後からスペースにも置き換えやすいし サイズはどうでもいい
>>41 使えなくなった機能があるわけじゃないからどっちも使える
>>41 発行年月日ではなくて、本の内容で決めろ。
つまりだ。
そこら辺においてある本から選ぶのではなく、
Amazonやネットのレビューを参考にしたり、
大きな本屋に行って選ぶんだよ。
そして買いなさい。
多分その本は二つとも、使いものにならないから。
マルチの何が駄目なのか分からん 複数の場所で質問した方がクオリティが上がるのは当たり前 他人が駄目と言っているから駄目と思い込んでいるだけの硬直思考
>>42 コードを書くときはスペースにしましょう
インデントは使ってはいけません
インデントはいろいろ不都合がありますので使ってはいけません
サイズ軽量化はプログラマのお仕事ではありません
そういう用途に適したツールの役目です
49 :
33 :2013/10/08(火) 18:23:22.95 ID:???
>>35 ,36,40
ありがとうございます。皆様のご助言をもとに色々試行錯誤したらできました。
function showThis(arg1, arg2){
alert(this + arg1 + arg2);
}
function getBoundFunc(obj, func, argv) {
return Function.prototype.bind.apply(func, [obj].concat(argv));
}
var foo = getBoundFunc("Thisです:", showThis, [" Foo "," Boo "]);
foo();
これで胸のつかえが取れました。ありがとうございました。
>>39 teramakoさん宣伝&売名活動ごくろうさまです
タブの方が幅を見る人の好きに決められるし良いと思うよ。 タイピング数的にも。
スペースだったら移動が遅くなるじゃん スペース派はのろまな亀
なんの移動?
左右上下だろう わかるよ
行頭から文字のある場所まで大量のスペースが空いてたらそこまで移動するのに時間かかるだろ
そんな手間のかかるエディタを使ってるのが間違い しっかりしたエディタはちゃんとインデントを考慮して移動できる
>>42 > インデントをスペースにするとソースコードサイズが膨張するのでタブにした方がいいですよね?
ソースコードにコメント書かないの?
いや、なんでこういう質問をしたかというと、インデントのスペースごときを
気にする人は、コメントどうするのよ?って思うわけだよ。
メンテナンス性を上げるならば、ソースコードにコメント書くよね?
たかがソースコードのサイズのために、コメント書くのをやめて
メンテナンス性を下げるなんてアホらしいでしょ?
だからプロは必要ならばしっかりコメント書く。
そしてファイルサイズにおいては、ツールを使ってビルドすることで
コメントを取り除く。その時インデントのスペースも取り除かれる。
だからファイルサイズの点でスペースとかタブとか気にする意味は無い。
気にするならば、ツールを使う技術力をつけよう。
更に言うならば、ソースコードのサイズを気にするならば、
当然gzip圧縮するでしょ? その時にインデントのスペースは大きく圧縮される。
ソースコードのサイズを気にするのはいいけど、
素人考えのやり方をするのではなく、プロがやってる正しいやり方で解決なさい。
初心者というかWebしかやったことない連中は 本当tabを使いたがるからマジ消えてほしい
>>56 > 行頭から文字のある場所まで大量のスペースが空いてたらそこまで移動するのに時間かかるだろ
HOMEキー一発で終わりだけど?
それに改行すれば、自動的に
次の行の同じ列にカーソルは移動するし。
その時に行頭にスペースが自動的に埋まる。
行頭にあるスペースは多くの場合
手入力しないし、移動もしないんだが。
素人によくある考え ・短く書くのがすごいと思っている
もしかしてTerapadとかサクラエディタなんてしょぼいフリーソフト使ってるわけじゃないよな
homeキー一発って それはエディタ次第だろw
これまで出たスペース擁護の意見からするとタブで良くね? 無理やり養護しなくていいよ、長年続けてきた悪習って変えづらいのはよくわかるし
macbookでhomeキーを打つにはfn+←を押さないといけないから面倒くさい
>>63 相手が詭弁を言い出したらもう打ち解けるのは無理。
本格的に暴れだす前にスルーしよう。
67 :
Name_Not_Found :2013/10/08(火) 18:44:19.63 ID:daFdlvXU
>>58 横レスすまんです
ファイルサイズの問題はわかったんですが
スペースを使う理由はよくわからんです
タブ文字だと文字化け云々?で問題がという話を見たことはありますが
それもツールで解決できる話ですよね?
あとプロが!というのももっともだと思うのですが
それって日本の一部の企業の話だったりしませんか?
ESの本場ヨーロッパやアメリカのプロが書いているコードでも
タブ文字でインデントしているものは沢山あるわけですが
どのプロに従ったら良いでしょうか?
スペースだと2と4で派閥があるじゃん タブなら幅決められるし、2や4スペースに変換容易
>>63 だから、スペースで移動するなんて馬鹿なことをやるのは
エディタ次第って話でしょ?
>>59 逆だろ
Webでタブは潰れるから使うなというのが
最もよく聞く話
>>69 インデント1つ分の移動がタブなら1回だが
スペースだと2回や4回かかるし、
スペースとスペースの間にカーソルがくる
地味に手間がかかる点もあるってことでしょ
>>67 タブは文字幅を変えられるし、変えることが多い。
人それぞれ設定が違うもの。
だから注意してタブを使わないと、
他人が見た時にずれてしまうことがある。
具体的には、行頭にだけタブを使い、
その他ではスペースを使う。
このルールを守っている限り
タブの設定を変えてもインデントがずれることはない。
だが人間はミスをする。本来使ってはいけない所で
ついタブを押してしまう。
だから、一番単純なルールに従うのがよい。
「タブは禁止」「インデントはスペース4文字」(4以外でもいいが)
これが一番人間にとって分かりやすく間違いが起こりにくいルール。
タブだとパッチ作って当てるときに不都合があるから スペースだけ使いましょう
スペースだと何回もスペースキーを押すから腱鞘炎になる タブは打鍵数が少ない
スペースで移動するのが手間だという人は タブでもスペースでも、インデントの端まで1回で移動してくれるちゃんとしたエディタを使いましょう
意味不明 インデントに使うんだからズレるとか無いし そういう使い方するものではないだろ 揃える時は当然スペース使うよ
>>71 > インデント1つ分の移動がタブなら1回だが
行頭のインデント2つ分の移動はタブなら2回だが
HOMEキーだと2回ですむぞ?
なんでエディタ変えないの?
お前、効率悪いでしょ。
>>76 タブを織り交ぜるのは間違いの起こりやすいルールだって言ってるの。
そういう使い方をするって話じゃないんだよ。
素晴らしいエディタを使うとスペースの弱点がやや減るのは分かったが タブには敵わないみたいだな
>>79 お前の名前をタブと命名してあげよう
タブ「タブにはかなわないみたいだな!」
なんか強そうw
>>78 どう間違いが起きるんだ?
タブの方が便利なのはもはや明らかだろう
>>81 スペースで揃えるのが面倒になり、
ついタブキーを押してしまう。
その結果、スペースとタブが
混ざってしまう。
好みでいいじゃん スペースキーの連打が癖なんですっていう人もいるかもしれないんだし 好きにさせとけ
ちなみに秀丸はインデントの機能は貧弱 Sublime Textはしっかり計算してくれるので楽
>>82 そんなブタの意見を出されてもw
(タブにかけてる)
>>84 スペースキーの連打は嫌いだが、
インデントはスペースでやるものだろ?
俺、矛盾していることは何も言ってないからなw
スペースとタブの混ざりはhintが教えてくれるし それこそタブが「見える」エディタを使えばいいんじゃないの? スペース厨は本当に自分に都合よく世界を見てるな
用はタブキーを押したときにインデントをスペースに置き換えてくれたり インデント部分で削除キーを押したときにインデント文のスペースを削除してくれる そういうエディタに移行したら幸せになれるよって事
スペースキーを打ち過ぎたらスペースキーだけ早く壊れるだろ
そもそもタブキーを押すと スペース4つ(設定次第)に自動変換されるわけで、 タブを使わない=スペースの連打って言ってる時点で、 こいつ自分の道具も使いこなせてない!?って 思われるよ。
タブ信者は自分のことしか考えてない
なんで1つインデントするのに複数スペース使うような非効率なことするかねえ
>>88 > スペースとタブの混ざりはhintが教えてくれるし
hintがタブが混ざってる。タブを取り除きなさいと
教えてくれるからスペースになるんだろw
>>93 > なんで1つインデントするのに複数スペース使うような非効率なことするかねえ
それが全然非効率じゃないんだよ。
たぶん、君は驚いていると思うが
事実だよ。
>>91 無知乙それはエディタ次第
タブの文字コードは普通にある
スペースインデントの冗長性が我慢できない
初心者から上級者まで幅広くいるから分かり合えないw
タブだとエラー出しまくるからJSLintはJSHintに負けた
うーん…… ここまでの話聞いてる限りタブはスペース以上のようだな。
あー、わかった。 タブを使わない=タブキーを使わない。だと思ってるんだ。 世の中には(というかプロが使う大半のエディタには) タブキーを押すと、スペース数個に置き換えてくれる 便利な機能があるんだよ。 知らなかったでしょ?
じゃあタブでいいじゃん
>>96 話しよく聞こうよ
タブキーは使っていいんだよ。
タブの文字コードは使ったらダメって話なんだよ。
>>102 (タブキーではなく)
タブ文字を使うのは運用がめんどくさくなるので
やめたほうがいいよ。
タブインデントで困ったことなんて一度もねーよ
タブの揺るぎない優位性に怖気づいてスペース厨遂に脳が混乱。 現実をシャットダウン。詭弁を言い始めた。
もうタブでいいんじゃね
遂に言い返す言葉も無くなったスペース厨。 必死にコピペで最期の応戦。
>>105 タブインデントで困った事がないから
わからないんだね。
単なる経験不足。
これだけ必死になってる所から スペースがマズそうなのは伝わってくる
タブを使ってる奴のソースはそのタブ幅が4なのか8なのかとか正しく設定しないと 行を途中で折り返してるとかの場合の表示がずれる 複数の人で共同で作業してる場合に、ファイル毎にタブ幅を設定するのが面倒 タブ幅4前提で作成されていたソースの一部を、他の奴がタブ幅8前提で修正したりしてカオス
もうここらでキチガイタブ派の 勝利ってことでいいんじゃないでしょうか?
いやここで食い下がると初心者に悪影響を与える
ですね。 ではタブ派の勝利。 スペース<タブ でこの話はお開きです。
>>107 リンク先にわかりやすい説明が書いてあった。
納得したよ。
4 名前:仕様書無しさん[sage] 投稿日:2013/09/24(火) 22:04:18.33
> タブで字下げしとけば、読む人が好きなタブ文字幅に設定して読めるだろ。
タブとスペースを混ぜて使うのが面倒くさいんだよね
_をタブということにして読んでね。あと固定長でみてね。
________abc_____= 1;
________abcdef__= 2;
こうやって=の位置をタブで制御すると、
タブが8文字なら揃うけど、4文字だと
____abc_=
____abcdef__=
こうなって揃わなくなっちゃう。
だから、タブで字下げしろよというルールだけでは不十分で、
「行頭に限ってタブで字下げそれ以外はスペースで位置揃えしろよ(もしくは全くするな)」って
ルールにしなくちゃいけなくなる。
それなら全部空白でやった方がシンプル
タブ派はnoob
敗者の遠吠えっすか
タブ派の勝利でーす。 もうレスしないでくださいー。 終わったことでーす。 見苦しいでーす。
まあ、あとでレス見た人が ちゃんと読めばわかる流れだから これでいいやw
あごっちのgithubのリポジトリをみてみろ タブなんて使ってないだろ
123 :
Name_Not_Found :2013/10/08(火) 19:12:03.12 ID:daFdlvXU
>>72 なるほど。それって
今スペース入力出来ないので全角で書きますが
var nagai_hensu_mei = aaa ? b :
c ? d : e;
こういうことをした時に、タブだとズレるってことでしょか?
レアケースだと思うのですが、実は結構あることですかね?
>>117 それは配列やオブジェクトを作るのに
new Array()やnew Object()とする方がシンプルと言ってるようなものだよ
散々シンプルじゃないエディタ推しといてそれは変だよ
いつものキチガイがタブインデント派なんだよ プログラム板でも同じ流れになる
>>123 ずれない例はある。
問題になってるのは
ずれる例があるってこと。
初心者はインデントするのが楽だからという理由だけでタブを使う
>>123 スペースの代わりに全部タブならズレるがそれはありえない
今sublimeでスペースインデントのファイルを扱っているんだが reindentしても インデントサイズを一つに固定せず スペース一つとスペース二つが混在したコードになる どういうアルゴリズムか知らないが スペースインデントこういう不快なことが結構ある
>>123 例えば後ろにコメントを入れていたとして
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
こういう事にはなりそうだけどなw
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
何度か出てるけどタブなら2スペースにも4スペースにもしやすいじゃん?
タブインデントは行の折り返しが鬼門 折り返す場合には、元の行と同じ数のタブをいれてそこからスペースに切り替えるとか苦肉の策が必要になる
>>131 そのことについては、
>>117 に問題点が書かれてる。
それと、2スペースや4スペースに
わざわざわざ変換しない。
タブはそれぞれ環境によって見栄えがことなるからやめろ タブ幅が4とか2とか8とか16とかさまざまなんだから
そうそう 設定をして初めてスペースインデントは使いやすくなるんだから 設定をしないほうが悪い
>>130 あー、見たこと有るわw
テキストエディタで揃っているものを
端末からcatしたときに
そんなんなってるの、見たこと有るわw
138 :
Name_Not_Found :2013/10/08(火) 19:18:39.51 ID:daFdlvXU
もともと人間が読みやすいようにインデントしているわけで かつ「面倒なところはツールにやってもらえ」が正しいなら インデントのために何か文字を打つこと自体が間違いなのではなかろか という気がしてきた
これが var nagai_hensu_mei = aaa ? b : // ○○○の時 c ? d : e; // △△△の時 こうなっちゃう程度ならいいんだがな var nagai_hensu_mei = aaa ? b : // ○○○の時 c ? d : e; // △△△の時 これが var nagai_hensu_mei = aaa ? b : // ○○○の時 c ? d : e; // △△△の時 こうなっちゃうとかどうよ? var nagai_hensu_mei = aaa ? b : // ○○○の時 c ? d : e; // △△△の時
タブの方が便利なのは確実ですかね?
タブでインデントしちゃってる奴が勉強会にいたら絶対友達になれない
>>139 この問題にどうして
タブ厨は反論できないのか?
そもそもタブって何よw 俺のキーボードにはそんなキーついてないんだけど??? 特殊な環境での話を当たり前なように語られちゃあこまるなあww
145 :
Name_Not_Found :2013/10/08(火) 19:22:08.63 ID:daFdlvXU
>>134 自分はどっちでも良い派で、どちらかと言えばタブなんだけど
コード開いて、タブ幅違うなと思えばその場で変えますよ
そんな苦になるほど大変な作業じゃないし
>>144 特殊な環境での話を当たり前なように語られちゃあこまるなあww
タブは見栄えとpatchに影響を与えるから使うなっ!!!!!!!!!!!
インデントはエディタにまかせればいい エディタにまかせないで自分で解決しようとするからタブに手を出そうとする
>>143 字揃えはスペース、行揃えはタブでしょ?
何アホなこと言ってんの
if () {}
の隙間とかまで全部タブにすると思いますか?
>>145 > コード開いて、タブ幅違うなと思えばその場で変えますよ
端末でcatやdiffしたりエディタ以外で表示した時はどうしますか?
>>149 > 字揃えはスペース、行揃えはタブでしょ?
だから行揃えでしょう?
↓この話は
これが
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
こうなっちゃう程度ならいいんだがな
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
これが
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
こうなっちゃうとかどうよ?
var nagai_hensu_mei = aaa ? b : // ○○○の時
c ? d : e; // △△△の時
140 名前:Name_Not_Found[sage] 投稿日:2013/10/08(火) 19:19:36.02 ID:???
意味不 いくらスペースで揃えたって 等幅フォントじゃなけりゃ見栄えは崩れるんだが
だからWeb系しかやったことないWebプログラマはバカにされる
>>149 隙間の問題じゃないよ
折り返す場合は行頭にタブとスペースを混ぜていれないと
>>139 みたいになる
>>153 はぁ? C言語の有名な
規約でもタブ使うんですけど?
ほらな、こういう風にルールが複雑化していくから、 タブ文字ではなくスペース使えって言ってんの。 わかったでしょ? あ、でもタブキーは使っていいよ。スペースに自動変換されるんだから。
>>151 それは字揃え
行揃えっていうのは行の開始位置を揃えることで
それより後に文字を置きたい場合は当然スペース
スペースで見た目を揃えたコードをフォーマッタで整形しても崩れないのか? インデントのスペースなのかスペーサーとしてのスペースなのかなんて分からなくね
PythonやRubyがこっちを見てますよ?
>>155 有名な規約ってなんだよurl張れないのか
>>157 まじで2行目は前の行と同じ数のタブいれてそこからスペースで揃えてるの?
手作業?
>>157 そうそう、
「行の開始位置」をズラすっていう意味をタブは持てるけど
スペースはただのスペースなんだよね
コードのインデントを破壊する→フォーマッタで整形 タブの場合は完全に整形される スペースの場合はぐちゃくぢゃになる はい論破
タブとスペースをまぜるバカ
>>162 改行したら自動でタブはいるだろ
そうじゃなかったらスペースの方は苦行じゃん
>タブの場合は完全に整形される >スペースの場合はぐちゃくぢゃになる それは単純にそのツールが悪いと思うが・・・?
インデントは壊れやすいものなんだから インデントでブロックを表現するとか馬鹿すぎだよな pythonは馬鹿言語
>>166 いや、改行した場合、2行目の開始位置もエディタが勝手に決めるんだけど
それ手作業で位置きめてんの?
インデント1つ分増やしたり減らしたりする時も スペースの方が4倍大変だね どうせマクロや支援を使えばいいとか言うんだろうけど
さて問題です。以下のうち タブを使っていいところと悪いところはどこでしょうか? funciton bar() { var a = 1; var b = 1; } var hash = { var: 1, bar: funciton() { var a = 1; var b = 1; }, };
>>169 開始位置はスペースタブ関わらず1行目のvの前に当たる位置まで
自動でスペースやタブが詰まってそこからのスペースは同じだろう
パッチ云々いうけどプロジェクトではPythonもよく使うだろ それはどうしてんだよ
>>172 みたいなのを見ると
全部スペースにしたほうが
ルールがシンプルで間違いがないというのがよく分かる。
インデントを複数のスペースで構成するのは無駄極まりない
>>166 まじで、
>>139 みたいな行を2行に分ける場合の操作手順を聞きたい
タブインデント派は改行すると前の行と同じ数のタブが行頭に入るわけ?
そこからスペースだーって打って適当な位置までもってくの?
179 :
172 :2013/10/08(火) 19:38:34.28 ID:???
すまん。間違って修正前の貼り付けた さて問題です。以下のうち タブを使っていいところと悪いところはどこでしょうか? funciton foo() { var a = 1; var b = 1; } var hash = { var: 1, bar: funciton() { var a = 1; var b = aaa ? b : // ○○○の時 c ? d : e; // △△△の時 }, };
>>173 スペース派のつかってるエディタだと、
改行した瞬間にc ? d : e 〜を打つとこまでスペースを詰めてくれる
>>177 スペースだって普通はそうだろ
何?構文解析でもしてくれんの?
それならそれで別にスペースとタブに違いはないが
>>180 それ行頭インデントがスペースかタブかは全く関係ないじゃん
今時のコードエディタは構文解析してる
エディタ固有の話はキリがないからいいよ
支援の話をするんならそもそもタブキーをスペース何個かに割り当てたり スペース何個か分をまとめて跳ばせたりも出来るわけで それ結局タブの標準機能を模倣してるだけなんだけどね
確かにスペース派はエディタのお陰でタブの様に扱えるから 使いにくくはないと言ってるようにしか見えない
スペース派は操作中にタブかスペースなんてことは意識してないわけ
>>180 みたいな機能があるからね
しかしセーブしたファイルにタブで展開されると
>>139 みたいな問題があるから
セーブ時にタブは展開されないよう設定するわけ
タブ派は前の開始位置までタブそこからスペースとか一部は手作業でやらないといけないわけよ
タブコードには構造しかないから完全に自動整形できる スペースコードには見た目という計量の難しい要素が入ってくるから自動整形が難しい そして構造しかないコードの方が美しい
タブキーを押した時にタブ文字が入る人は、 スペースで位置揃えをする時に、 スペース連打をしていてワロタw スペースでインデントも位置揃えもしている俺は すべてタブキー(=スペース4文字)で簡単
整形など人間がする作業ではない 今後ますます自動化していくだろう それなのにスペース派は人間が整形すべきと考えている それが愚かなのだ
もうそろそろ答えを言うぞ? _にした所がタブでOKの場所だ 空白の場所は、スペースでなければならない場所だ。 どうだい、わかったかな? funciton foo() { ____var a = 1; ____var b = 1; } var hash = { ____var: 1, ____bar: funciton() { ________var a = 1; ________var b = aaa ? b : // ○○○の時 ________ c ? d : e; // △△△の時 ____}, };
整形なんて複数行コメントくらいでしか使わん
スペースで整形と聞いて もっと争えのAA貼ろうとしたら 本文長すぎって言われた…
いまどき、構文解析もしてないエディタって 構文ハイライト無し 構文に合わせた自動インデント無し この2つはコード見たり書いたりする効率を激しく変える ぶっちゃけタブかスペースなんかどうでもいいから この2つが有効なエディタを使えるようにしとけ
タブ派 ________var b = aaa ? b : // ○○○の時 ________ c ? d : e; // △△△の時 _の所はタブキーで入力。 そしてスペースのところはスペース連打。 スペース派・・・すべてタブキーでスペース入力らくらく
ああwタブ派は、 改行したときには前の行と同じ数のタブが入って そこから変化させるのは手動ってタイプの原始的なテキストエディタを使ってる人なのかw いまどき、構文に合わせて行の開始位置を自動で決めてくれないエディタとか、 コード書くのには使わんw
>>191 こうじゃね?
var b =
____aaa ? b : // ○○○の時
________c ? d : e; // △△△の時
オブジェクト書く時って、こうするけど
var arr = {
____a : 0, // ○○○
____b : 1, // △△△
____c : 2 // □□□
};
こうはしないじゃん
var arr = { a : 0, // ○○○
__________b : 1, // △△△
__________c : 2 // □□□
};
>>198 インデントじゃない所に
タブを使ったらダメ。
具体例出てくると よくわかったよ。 タブ派が消えた理由もねw
ダメなんてルールはないよ 全て自由
ん?何が問題なの?
実際タブ派は
>>198 みたいな書き方をして
>>139 みたいな問題はばら撒いてんだよね
苦し紛れに行頭にもタブとスペース混ぜるとか言い出してるけどw
タブはスペースにも変換しやすいのがメリットなんだから タブキーでスペース4つとか言ってるのもタブ派なんだが(困惑)
>>205 スペースに変換するのなら
最初からスペースで良い。
タブをスペースに変換したいのではない。
スペースであって欲しいだけだ。
タブなら行頭2スペースにも4スペースにも自由自在だよ?
>>205 > タブキーでスペース4つとか言ってるのもタブ派なんだが(困惑)
それ、スペース4つ入力していると同じことだよ?
タブ文字は使わないって話を
最初からしているんだが。
何をゴチャゴチャ言おうと インデントとスペースは別物 インデントをスペース何個かで構成するのは無駄
>>207 誰が自由自在なんて求めてるのさ?
どっちでもいいじゃんそんなの
そんなにタブ幅を変えたいの?
なら好きなキーにスペース4つ振り分ければ同じことじゃね
>>209 > インデントとスペースは別物
概念的には別だがどちらも見た目は
空白が開いているだけだよ。
スペース派の使ってるエディタのタブキーに割り当てられてる機能は その行の行頭を構文に合わせて調整するのが多いね 必ずしもスペースが挿入されるわけじゃない 場合によっては余分なスペースが削除される
オレオレエディタの詭弁を除くと タブを使うことの欠点がここまで一度も出てない件
>>214 タブ文字を使うことの欠点なら既に出ている
タブキー(スペース数文字)は
スペース入力しているのと同じなので
問題はない。
インデントと位置揃えで 使う文字を変える必要がないってのが そもそも結論。
>>216 タブは行揃えに使うものです
それにレアケースすぎる
スペースでインデント追加や削除って2倍4倍の労力かかるじゃん
>>221 タブとスペースを使い分けるから
そうなるんだよw
スペース厨特注のエディタの話はいいから いい加減一般論で語ろうな
>>223 一般論で使うべきエディタはなに?
Sublime Textレベルが
一般的だと思うんだが、
違うの?
構文に色がつくエディタが 一般論のエディタだと思うなw なんていうと、特注のエディタとか言い出すんだよな(苦笑)
スペースキー、タブキーの話とスペースとタブ文字の話が混じってる スペース派のいうスペースキーやタブキーはもはや スペース文字やタブ文字を打つキーではない もの凄く特殊な操作のことを言ってるわけで詭弁にしか聞こえない スペース文字、タブ文字で考えた時 行揃えはタブ文字、字揃えはスペース文字を使うのがいいことは明らか これは全ての環境で通用する論
タブ派ってメモ帳レベル止まりのやつだったんかw
そうそう、タブキーでスペースいくつか打てるとか削除できるとか そんな話じゃないだろってw インデントにはタブとスペースどちらが相応しいかって話で そりゃタブでFAだろ
>>227 要約すると、
タブキーで、スペース4文字入力できるエディタは
特殊なエディタで、お前らは特殊な人間だ。
俺とは違う。俺は普通のエディタ(メモ帳)を使う。
ってこと?
もはや論点は、タブ厨が使ってる テキストエディタって・・・?って 話になってるなw
タブインデントスペースインデント論争まとめ
スペース派:
現代的コードエディタを使用
ファイルにタブが入るかスペースが入るかはエディタが自動でやるので操作には影響しない
>>139 の問題を回避するためにファイルにはタブを入れないように設定
タブ派:
古典的テキストエディタを使用
タブを使うかスペースを使うかは操作に大きく影響
>>139 の問題は無視もしくは手作業で行頭のタブにスペースを混ぜる
同じこと何回言うんだよw ループでスレ消化すんなw
よく分からんが少なくともSublimeはタブの方が使いやすいわ。 これだけは確実な事実。 秀丸とかはどうなの?
まとめると、 インデントにタブ文字を使うことのメリットは タブ幅を2や4に変更しやすいこと。 ただし、これを実現するにはインデントと位置揃えの違いを区別し 位置揃えにタブ文字を使わないという条件を守らないといけない。 タブ文字を使うことのメリットはタブ幅を2や4に変更しやすいが、 別にしたいとは思わない。プロジェクトで統一されていればいいが、 わざわざ変更したくはない。 そういう場合はインデントをスペースでやるのがいい。 簡単に言うと、 * どうしてもタブ幅を変えたいんだ。ルールが複雑になったとしても・・・タブ文字派 * タブ幅なんてどうでもいいよ。楽な方がいい・・・スペース派
>>214 お前はスレをもう一度読み直すところからはじめたほうがいい
>>139 みたいな成形って気持ち悪いなあ
これみたいなコードならまだわかるが
一般的にどこで折るかはその人のモニタの幅次第になっちゃうこと多いし
ここではスペース派が優勢みたいだけど
結局、その時代で凄いもの作った人がどっちかで変わったりするんだろうなあ
俺ちんはどっちでも書けるようにしておくのが良いと思う派
>>237 今はだれでもフルHDのディスプレイを
持ってる時代なんだから気にするな。
わざわざレアケースなディスプレイのために
コードをかく必要もあるまい?
根拠があるから事実がある タブを使ってはいけないのもそういうこと
俺んちのも職場のも1280x1024なんだが
>>237 気持ち悪くても行を折らないといけない場面はどうしてもある
そのとき前の行と同じ位置までタブでその後スペースとかやらないと
>>139 みたいにずれる
ソースを自分だけでいじってるならそういうルール守って書くのもいいんだけど
多数の人でメンテしてると一つのファイルの中でも統一されなくてガタガタになっていく
単純にタブを使わないことでそういった問題を避ける
横は100文字くらい打ちたい
折り返すことはあっても console.log("abc" + abc + ............................ + "xyz" + xyz ) みたいなのは別に揃える必要ないしな console.log("abc" + abc + ............................ ____適当なスペース______+ "xyz" + xyz) でいいんだし
俺のputtyのフォントサイズは10ポイント 1ポイントが0.35mmぐらいだから 10ポイントで3.5mm 100文字だったら350mm 17インチ(スクウェア)の横幅は345mmだから 9ポイントにしないと横100文字は表示できないのだ!
>>244 タブ派の場合は、こうですね?
____適当なタブ______ console.log("abc" + abc + ............................
____適当なタブ______ ____適当なスペース______+ "xyz" + xyz)
一言で言えば、 タブ文字を使うメリットがない。
>>246 タブ使ってるやつでそんな細かいことしてる奴は見たことない
>>139 みたいな問題はおれのタブ幅に合わせて見やがれのオレオレルール
他人の書いたソースもオレオレルールで編集するからたちが悪い
だから俺が最初から言ってるじゃないか。 タブとスペースを混ぜて使うのは メリットがタブ幅を変えられるという どうでもいいことしかなくて、 そのわりに運用が面倒になるから、 スペースにしなさいと。
>>241 それもわかる
わかるがそれも、何が何でも途中で折ってスペースで先頭をあわせなければならない
というオレタチルールに従っているだけのような気がする
エディタの設定か何かで、タブがスペースに自動的に置き換わるようにすればいいじゃない・・・ なけりゃ置換でもすりゃええやん・・・
>>252 なんで置き換えるんだよ?
インデントをタブ文字で
位置揃えをスペース文字で
両方を使い分けるって言ってるんだよ。
byタブ派
タブを使ってる奴はね、カーソル左右移動を←→キーメインでやってるんだよ カーソルが行の一番左にある状態からインデントされた最初の文字に移動するのにも→キーを押し続けるの タブだとこれが早いw
>>254 特殊なエディタ使いはどうでもいい。
俺はメモ帳を使ってるんだ
byタブ派
まだやってたのかw もう結論出てるだろ 人力で整形してる時点でスペース派は負けてるんだよ そして自動整形可能ならタブでもスペースでも可逆的に変換できるんだからどっちでもいい
>>256 なんで今頃負けが決まってから出てきてるんだよw
マヌケすぎるぞw
スペース派が負けてるっていうのは、タブ派に負けてるとか、そんなくだらねーことじゃないぞ スペース派は自分に負けてるんだよ
高機能エディタ使ってる者からすると実際どうでもよくて タブ幅4文字でも8文字でも折り返しのタブとスペースの使い方も 決めてくれればそれに合わせますよなんだけど 低機能エディタ使ってる連中が自分の主張するタブ幅やタブスペースの 使い分けででなければ無いとダメだって揉めて 一方の派に合わせると他の派から文句が来る 面倒なので全部スペースになった
>>256 スペース派はエディタが全部整形してくれる
>>259 いや、高機能エディタが出る前から
みんな全部スペースだから。
それが標準かつ優れており
変える必要がないから
スペースなんだよ。
>>259 高機能エディタはいいけど、
それ以外はどうするのさ?
つまり、端末でcatやdiffしたときだよ。
タブじゃダメな理由が1つもないな
>>263 誰にもレスしてない時点で必死すぎなのがわかるよw
>>262 昔はexpandコマンド通してたな
Unixに昔からあるコマンド
確かに端末で読んだ時、スペースだったらどえらい読みにくいな なんでこんなナンセンスな習慣が広まったんだか 完全に悪貨だから困ったもんだよ
>>266 catやdiff使えるならexpandも無い?
GNU由来のものだとcatとexpandは同じパッケージに入ってる
タブは見えるようにしても便利だけどスペースじゃ煩わしいじゃん? そういう意味でも行頭を揃えるという意味をタブに持たせたほうが便利よ。
タブを使っちゃいけないのは俺様が貼り付けた
>>82 のリンクで結論で照る
そもそもタブは何のために誕生したのかということを理解してないな タブはインデントのために生まれてきたんだよ
一人で開発をして他に開発に関わることがない事が保証できるならタブを使ってもいいけど 人に見てもらうならスペースを使いましょう
>>269 オレの使ってるエディタだと、
行頭の桁揃えのスペースだけをタブで位置揃えしてるみたいに非スペースで表示してくれる
タブが出来たって、タイプライターの頃だろ? インデント? 意味わからん。 タイプライターの時代にインデントなんてねーぞ。
タブの代わりにスペースって、段落の代わりに改行2個みたいな感じがする
タイプライター時代のタブだと まさにスペースと同じ機能なんだよな。
タイプライターの話が本質に関係するのか? ただの煽り合いならやめろ。 というか結論なんて出るわけないからもうやめろ。 ここは質問者へ答えるスレであって、 解答者同士が不毛な議論をする場ではない。
>>278 「インデント」の文字すらないんだね。
ほんとに論破されちゃった。
不毛ではない使ってはいけないものは使ってはいけないと言っておるのだ
タブを使わせたいなら
>>139 を回避するための
タブとスペースの混ぜ方を徹底させる方法を考えろよ
タブ使う奴らが馬鹿だからスペースに統一せざるを得ない
>>278 ほうほうなるほど
> 英文タイプライターでは、キーを打つと印字の直後に用紙を左に送り、次の印字に備える。すなわち用紙を基準に見ると、
> 印字しようとする位置が右に1文字分ずれる。
> 同様にスペースキー(スペースバー)を押すと、印字せずに1文字分ずれる。
> しかしタブでは、あらかじめセットしてある位置まで、数文字分一度にずれる。
タブ使うバカの制で僕の環境ではぐちゃぐちゃで分からないあるよ
確かにどこのスレでもここまで揉めるってことは、どっちがいいかなんて結論は出てないんだよな 世間のjsファイル見ても、どっちも普通に存在するし
別に個人的に書く時はどっちでもいい チームでやる時は当然他のコーディングルールと一緒で統一した方がいいね 最近はタブ派が主流みたいだからどっちか迷ったらタブがオススメ
> 最近はタブ派が主流みたいだからどっちか迷ったらタブがオススメ わざとらしい嘘だなw
こういう場合はこっちの方がいいとか、、、 いやこうすれば良くなるとかさあ、、、 つまり使う人の好みでどっちでも良くなるってことじゃん?
あれ? そういえば 上のほうで、有名な規約で タブ使ってるのが有るといったまま 逃亡したやつ、どうなった?
ちなみにjQueryやDojoはタブ使ってるね
>>290 スペースの方が明確なメリットがあるんで、
この場合は好みの問題じゃないな。
コミットする時にスペースに変換されるから規約には書いてないことも多い
NodeとVertどちらがいいか位どうでも良い議論。
空気を読まずに質問です windowではなく要素のresizeイベントにハンドラを割りつけたいのですが var div = <div>要素; div.addEventListener('resize',function(){ /* こんなかんじで */ }); 出来ないようなので何とかしようと思い 今のところ定期的に大きさを測っているのですが もっと良いやり方はありますでしょうか?
>>295 prototype.jsやBackbone.jsはスペース2文字だった
jQueryはわりとその辺の管理がひどい
>>297 第三引数を省略しないで書く癖をつけろよカス
>>292 やはりjquery作者は分かってるな
>>298 prototypeがオワコンになった理由が分かった
>>300 空気を読まずに質問です
windowではなく要素のresizeイベントにハンドラを割りつけたいのですが
var div = <div>要素;
div.addEventListener('resize',function(){ /* こんなかんじで */ },false);
出来ないようなので何とかしようと思い
今のところ定期的に大きさを測っているのですが
もっと良いやり方はありますでしょうか?
プログラム板のキチガイがここに移民してきたのがよくわかった
なにをいまさら
>>304 無駄なもんわざわざ付けて再投稿してんじゃねえよ
>>304 (function(){
var o = document.createElement('div');
console.dir(o);
})();
空気読めないバカは自分で確認しろ
これ見て分からない奴は4ねよカス
とまあデファクトスタンダードはまだないんじゃないの というのが俺の見解
7日の23時に立てたスレだから実質1日でここまで消化したのかw
>>307 空気を読まずに質問です
windowではなく要素のresizeイベントにハンドラを割りつけたいのですが
var div = <div>要素;
div.addEventListener('resize',function(){ /* こんなかんじで */ });
出来ないようなので何とかしようと思い
今のところ定期的に大きさを測っているのですが
もっと良いやり方はありますでしょうか?
ここ2日暇だから1000レスまでは戯言に付き合ってもいいぜ 双方にバランスよく煽りレスするからw
diffとってpatchするときタブが混じってると迷惑なので至急スペースに切り替えろ
>>312 ここそういうスレじゃないからプログラム板に帰れ
>>307 空気を読まずに質問です
windowではなく要素のresizeイベントにハンドラを割りつけたいのですが
var div = $('<div>');
div.on('resize',function(){ /* こんなかんじで */ });
出来ないようなので何とかしようと思い
今のところ定期的に大きさを測っているのですが
もっと良いやり方はありますでしょうか?
要素にresizeイベントはない
>>316 それは知ってた
タイマーで大きさを見張っているのだけれど
それより良いやり方はあるのかな?という質問です
Pythonはスペースでインデントをするからタブは使わないし PEP8でスペースでインデントすることが推奨されてる
俺が最近考えた規約 「宣言と代入は一度にするな」 var a=10,b=20,c=30; ではなく var a,b,c; a = 10; b = 20; c = 30; とする まだクロックフォードも気付いてないことだが、合理的だから広めてくれよな
PEP8 ソースコードのレイアウト インデント - インデント1段にはスペース4文字を使う。 - とても古いソースコードを汚したくないなら、スペース 8 個幅のタブを使い続けてもよい。 つまりタブは古代語
4文字幅のタブとかは眼中にすらないのなw
>>322 関数型を知っていると、
それはわざと逆に書いたんだなって
気づくと思うよw
>>320 出来ないようなので何とかしようと思い
って書いたやん…
>>325 「関数型を知っていると」
きましたwあのキチガイがよく使う言葉です!
また荒らしてるのか?
>>322 必ずしもそれはない
なぜならES6だとこう書けるから
var [a,b,c]=[10,20,30];
たぶん
>>322 もキチガイ
自分で書いて自分で突っ込む得意技
そもそも要素がresizeされることってあるか? windowがresizeされたらresizeされるだろうが それならwindowのハンドラで検知したらいいし
>>330 いやそう書けるから何なの?
書いてみれば、このやり方はとても具合がいいと分かるよ
値は使う直前に代入した方が分かりやすいし、
「varで宣言するリストの中に入れるか入れないか」をいちいち判断する面倒がなくなる
まじでメリットしかない
一人芝居
>>333 中身が増えたり減ったり的な
じゃあそっちでやれ、と言えばそうなんだけど
中身を包含する要素側でなんとかできないものかと思い
>>322 の書き方だといいときもあるが
平均的には変数増やす場合にうまいこと追加するのが面倒
というデメリットに負ける
基本は使う時に宣言するのでいい
>>337 CSSでやることを無理やりJavaScriptでやろうとしてない?
無理 DOMやstyleメンバは全てProxyだからObserverでの検知もできない MutationObserverはそのようなサイズの変更には対応していない
>>339 どちらかと言うと
CSSのtransitionを使うためにheightの値を決めたいのだけど
決めちゃうとauto的な振る舞いが出来ないからJSで数値を変えてやろうかと
演出ならCanavasでやれば
>>342 見た目っちゃあ見た目の話なんだけど
Canvasで代替出来ることかっつーとそうでもなくて…
方向性の1つとして検討しますありがとう
論外なのは除くとしてこの2つのどちらがいいか悩ましい var a = 10, b = 20, c = 30; var [a, b, c] = [10, 20, 30]; 後者だとセミコロンフリー派には厳しいんだよなあ
細かい話は具体的なソースが無いとできない ただ1つ言えることはおそらく考え方を変えた方がいい
スペース派って言うけどスペースにも確か文字コードによって色んな幅が合ったよね?
>>345 そんな気もしますね
今の時点で困っているわけではなく
要素のresizeを拾えたらいいなあ、レベルなので
もうちっと考えますありがとう
標準でない限り自分で定期観測するしかないが 下手をするともの凄くパフォーマンス食うぞ
TextAreaとかならMutationObserverできるけどただのdivは無理っすね
拡大鏡のような機能を入れたいのですが 指定した範囲の画面を取得するにはどうすればいいでしょうか
Chromeしか出来ない
やだ
厳しい修行に耐えられるか?
絶えますから教えて下さい 回りくどいのは嫌いです
自分で調べてこい これが最初の修行だ
調べても分からなかったのでここにきてるんです
よしまず順を追って鍛えてやる まず300x300のcanvasをつくれ
はい
次に300x300=90000回お祈りをする
>>350 小さい画像の上にマウスを乗せたら
その周辺50px四方くらいが拡大された画像が別に表示される奴、じゃなくて?
あれだったら、そんなに厳しい修行はいらねんじゃね?
それは知っているのですが画像ではなくページの一部なので…… せっかく教えていただいてすみません
確実な方法はChromeにしか無い
>>362 あー、そうかすまんかった
厳しい修行に耐えてくれ
クローン作ってtransformで拡大! じゃダメか…
オリジン内ならSVG画像にする もしくはgetUserMediaのScreenSharingAPIを使うといいが 現在Chromeしか対応してない
>>365 transform+requestAnimationFrameで重いながらも上手くいきそうです。
もう一つ付け加えてこれを写真として取得することは出来ませんよね?
写真ってなんだよw
拡大鏡とは直接かぶらないのですが、 同じような機能として任意の範囲を記事メモリーとして取っておいたり、 最終的にはアップロードやダウンロードができると文句ないなと思ってます。
これは作るにしても当分後のことになると思うので、 今は簡単な見通しだけでも相談に乗っていただけたら助かります。
SVG化はMDNを参考にしてみたのですがダメでした。 もう一つのは検索しましたがちんぷんかんです。
分かるまで調べろ
chrome版tweetdeckみたいな細いスクロールバーってどうやれば実現できますか?
Chromeは開発版では細くなってる Firefoxも今度見栄えがガラッと変わる つまり待つだけでいい
でもデフォルトのままだとブラウザによって見た目がまちまちになりますよね
ブラウザに応じてなんだからそれでいい スマホやゲーム機やテレビのブラウザなんかじゃ細いと大変だろう?
スクロールバーの見た目を決めるのはブラウザー側の権利です そもそもスクロールバーいらん環境だってあるんだし
フォーム部品の見た目を変えるのと何が違うんですか スクロールバーの見た目をコントロールしてもいいはずです
ユーザーに許可を求めるんならいいよ そうじゃないのならテンプレの迷惑行為に該当するし そもそもCSSの話だからスレチ
CSSだけでスクロールバーの見た目を変えられるんですか?無理でしょ?
JS使って自分でスクロールバー作るとかマジでやめてくれ
JS使わずに細いスクロールバー作れないなら使うしかないでしょう
そのおまえのJSコードがほんとにすべてのブラウザで動くのか? スクロールできないページとか最悪だぞ
そのって、まだ一行も書いてませんよ どうやれば実現できるのかという話です
すべてのブラウザで問題なくスクロールできるスクロールバーのJSコードを書けるか? という話だ無理だからやめとけ
まずそのtweetdeckとやらを解析してみればいいんじゃないの
そもそもタブレットなんかはスクロールバー表示しないんだけどその場合はどうするの? おれおれルールで無理やり表示?
そんなにスタイル揃えたかったらフルCanvas真剣に検討してみては?
>>387 逆ならいいんじゃね?
基本はブラウザのUIに任せて、手を出せるやつだけ選んでやれば
手を出せる環境をコード書く側からは正確に判定できない
質問です。 JSONって、値として関数を持てませんよね。(セキュリティのため?) var jsonModoki = { foo: "Sample Text", boo: 100, func: function () { console.log("Hello World"); } } JSON.stringify(jsonModoki) とやっても、funcだけ無視されて文字列化されます。 まぁ、そういう仕様だというのは分かるんですが、でも関数を値として持てた方が便利な時もあると思うんです。 うまい具合に、こうしたJSONもどきをシリアライズ(文字列化)したり、 パースしてJSONもどきに戻したりする方法はないでしょうか? 自分でシリアライザやパーサーを書かないとダメなんでしょうか?
JSONはJavaScriptだけのものじゃない 関数だって何らしかのプロパティを持ってたり 時にはスコープが付加されてたりするんだから そんなに簡単な話じゃない 簡単な話なら文字列化で十分ということ
functionが文字列化されるようになる Function.prototype.toJSON = Function.prototype.toString パース時には適当なパーサーを噛ませろ JSON.parse(s, function(k,v){return k=='func' ? eval('('+v+')') : v})
>>394 ,395
ご助言ありがとうございます!
395様のやり方でうまくいきました。
こんなシンプルな方法で実現できるなんて……。もっと勉強しないと> <
ありがとうございました!
頼むからネットワーク経由のやり取りでそんなコード使わないでくれよ
chromeがよく使うサイトのサムネールを表示しますが これをJavaScriptでやるにはどうしたらいいですか
・サムネイルを表示したいだけなのか ・よく見るサイトを取得する方法も知りたいのか 質問がヘタクソ
お前の解釈で好きに答えろよ
JavaScriptで他のサイトのサムネール取得はさすがに無理ですよね 自分のページのサムネールの作成を考えています
ajaxで通信したときにイベントが発動するのないですか? microaddとかdoubleclickとかいわゆる広告系のサイトに俺の許可なしに勝手に通信されるのが迷惑なので ajaxで通信したときにurlを取得したいんです
>>402 広告貼らなければいいじゃない
逆に広告屋は表示されたログを自分のサーバに送らにゃならんし、しかたなかろう
もしそれを阻害できたとして、広告料減っちゃうよ?
はあ?誰も自分のサイトに広告張るとかいってねーし
おこなの? 人のサイトに貼られてる広告に グリモン的なものとか、機能拡張から割り込みたいって話?
とにかくajaxで通信するときに、通信先のurlを取得したいから 通信するときにイベントを発動させたいのだ urlをみて許可するかしないかを自分で決めるのだ ブックマークレットから実行するつもりなのだ
ブックマークレットじゃダメじゃね? イベントドリブンじゃないと
質問がまったく理解できないんだけど解説pls
Log XHR設定でコンソール開いておくか ネットワークタブでXHR選択すれば全部列挙されるよ
末尾のセミコロンは必ず付けたほうがいいと言う人と 必要な時だけでいいと言う人がいますが、 それぞれのメリットとデメリットを具体的に教えて下さい。
顔全部化粧するか必要な部分だけメイクするかの違いと同じ
>>410 必要な時だけつけていれば、結果として全ての文末につくことになるので
メリデメはないです
無かったらコーディングスタイルとしてわざわざ明記されないはず
見た目がスッキリするかカッチリするか
必要な時だけつける場合 var a = 1; // 文末だから必要 for(var i=0,l=100 ; i<l ; i++){ // 文末じゃないから不要 alert('hello work!'); // 文末だから必要 } // 文末じゃないから不要 いっしょやん!
つうか function xxx(){ } の括弧の後にセミコロンを書かない人、迷惑なのでやめてほしい var xxx = function(){ }; function xxx(){ };
>>416 var xxx = function(){};
これは必要だと思うが?
必要ではない 実行時に補われる function xxx(){ } の後には付けても無意味 それは空文を1つ増やしているだけでしかない
たとえ改行が崩れたとしても動くコードを書くべき ;を書かないやつはスペースインデント派同様馬鹿
文と式の違いをハッキリさせるためにも文末に余計に付ける必要はないし、 補完が狙えるところでは積極的に付けなくていいと思う。 付いてないほうが見通しが良くなるし
>>416 セミコロンはおまじないじゃねえんだ
ちゃんと効果を知って使え
セミコロンに関してはhint/lintの警告を聞いていればいいだけ
npmスタイルが最も邪念を捨てて合理性を追求したものだから 自分はそれに習って付けないでいる
改行が消えたら意味が変わるようなエラー耐性の低いコードを書くのは 合理的態度とは言えない
言語の機能を最大現活用するのが最も合理的というものでは?
>>425 うっかり抜けても動いてしまう限りそれはあえて書かないことのデメリットにはならないと思うな。
最初からそれが分かってるんならLint等が整備されたので厳密に書けばいいと思うし。
特殊なケースを挙げればきりがないと思うよ。
結局は好みと使い分けでしょ、それこそタブとスペースみたいに。
>>417 だからさ
var xxx = function(){
};
function xxx(){
};
こういうふうにセミコロンを付けとけば
付けなければならないときと、省略するときなど意識しないで済む
なので生産性があがるし無駄なシンタックスエラーなんて出さなくて済む
タブとスペースは好みの問題じゃない 一人で使うならいいが複数でコードいじるときにタブは迷惑
スペースインデントは可読性上げる為に使う タブだと伸びまくりんぐだから嫌だ ifで{}とか、変数でセミコロン省略されるのが滅茶苦茶困る 関数でセミコロンって必須なの?
もうこれ以上話しても無駄だろ どちらかがあーそうだねってなると思うか? 無駄無駄無駄無駄
>>428 抜けてたらlintが警告してくれるから問題ない
書かなくてもいいところに;が入ってる方が気持ち悪い
>>432 俺もそう思う。
このように。
いらんところに。
句点を入れられてる気分。
間違えた 読点か
つまりツールがコーディングスタイルを規定する 変数宣言を関数の頭に持ってくるスタイルも もしLint系ツールがなければ管理コストが高くなりすぎる
>>435 高くなりすぎるか?
コーダーのレベルをどこまで許容するかの問題な気がする
んで、終止符の使い方程度がわからないレベルだと
もっと他のところでクリティカルな問題が起きそうな気がする…
if (y < 0) { y = 0; } と y = (y<0)?0:y; どっちがいいですか
>>436 書いてるうちに使わなくなった変数が宣言されている状態を
いちいち目視でチェックするのは激しく面倒くさい
とはいえ、var xx = func(ryの場合はセミコロン付けないと一行に纏めた時にエラー吐くから書いて欲しいよ
>>437 後者のがスマートに思うよ
>>438 あ、ごめん
勘違いしていた
すまんこすまんこ
>>437 y = y >= 0 ? y : 0;
こっちの方がいい
理由は見た目的なとこもいろいろあるが、
機能的な面でも、yがもしNaNや数値型じゃない時でも0になってくれる安心感
()付けないと読み辛い気もする
なるほど ありがとうございました
付けるんならこうだな y = (y >= 0 ? y : 0);
y = y | 0;
俺ならこうする y = new Uint8ClampedArray([y])[0];
y &= ~(y >> 31);
2の階乗で割ったりかけたりする時はビット操作した方が速そうですが 何か問題ありますか?
インタプリタじゃないんだからwww
掛け算・割り算より優先度が低いから 1 + 10 / 2 と 1 + 10 >> 1 だと結果が変わってしまう
本当に仕様通りのインタプリタ実装だとしても
double*2 と ToDouble(ToInt32(double)<<1) はどちらが速いか
double/2 と ToDouble(ToInt32(double)
>>1 ) はどちらが速いか
という難解な質問
a = new Array(5); for (var i = 0; i < a.length; i++)a[i]=null; a = []; for (var i = 0; i < a.length; i++)a[i]=null; どっちが早くてメモリ小さいですか?
上
5なら下 通常少量〜数万要素なら上
まず配列にnullを入れる時点でそんなに早くない もしオブジェクトを格納したいのであれば 5つ変数用意することも考えるべき
50000行くらいのテキストファイルをJavaScriptで編集することは可能でしょうか?
1行に1京文字くらい入ってなければ可能です
でも一つの文字列に格納したらものすごく重くなって死にますよね 配列に一行ずつ入れるんですか?
http://www.hp-stylelink.com/news/2013/10/20131008.php ここに
>ユーザーの入力に悪意のあるスクリプトが混入していた場合、
>実行されてしまうおそれがあるので、
>ユーザーの文字列の入力に対して、
>evalを使用するのは避けてください
という文句がありましたが
ユーザーサイドで実行されるスクリプトが
ユーザーからの操作を気にしても仕方ないのではないでしょうか?
気にする必要があるのは
ユーザー以外が入力できる可能性のある文字列のパースではないですか?
また、deleteを使ってはならない理由もわかりません
>>459 数MBくらいの文字列でしにやせん
気になるのならBlobのまま扱う
でも10万文字目を削除するとかいう処理が 一つの文字列だと激重になるのでは JavaScriptに限らずですが
行単位で配列にしてもいいし Blobから見えてる範囲だけライブロードしてもいい あと思うじゃなくて実際に試してみな 両者こう思うの言い合いだけじゃ何も進展しないだろう
464 :
Name_Not_Found :2013/10/10(木) 02:06:56.74 ID:G8C8IiLu
ネットで話題の裏モード【ZEUSバージョン】ついに解禁!!
自動ネット収入システム『Auto WebMoney【ZEUS.Ver】The Final Ultimate Edition』
auto-webmoney.com
一度は終焉を迎えたAuto WebMoneyシリーズですが、熱狂的なユーザーにより裏モード[ZEUS]の存在が発覚!!
裏モード[ZEUS]は従来比 270%UPという超速モードを搭載、これによりネット収入が500%もアップ!!!!!
477 名前:ネコ 投稿日:2013/08/01(木) 11:15:22 HOST:p86ibp5yamaguchi.yamaguchi.ocn.ne.jp
>>336 ネ申 www15分でwww27万とか!!!wwwwww
775 名前:[] 投稿日: 2013/07/06 (土) 18:21:53.07 ID:???
>>773 うぎゃああああああ━━━━( ゚∀゚ )/またネ申キタ━━━━!!!!!米国潤いすぎ
798 名前:[sage] 投稿:2013/07/06 (土) 18:43.43 ID:???
おまえら内緒だぞwww15分で27万とかwww起動したままパチンコ遊んでくるwww
802 名前:たけし[] 投稿日:2013/ 07/06 (土) 18:47:21.23 ID:???
これはマジでやったもん勝ちwwwwww
嘘くさいだの言って購入しなかったアンチ涙目ざまああああ
解析班乙!
ソフト始動で米国サーバーに接続、複数あるサーバー間で金を経由、Torに類似。
ユーザーはこの金を経由する代わりに、サーバーに返還後、ユーザーに行く仕組み。
制作にはGoogleやAppleの元プログラマーなどが多く参加、日本専用裏コミュニティが盛ん。
購入時のuser IDを使い、英国サイトからコミュニティに接続する。
日本ソフトの修正パッチはまだなため、今のうちに稼ごう!
テキストフォームにfocusinした時に、全選択状態にするようにしました デバッガで追っていると確かに全選択されるのですが、 デバッガで止めずに動かすと選択が解除されるのです そこでsetTimeoutでfocusinから10ms後に選択するようにするようにしたら、 ちゃんと選択されるようになりました ですが、何が選択をキャンセルしているのか分からないのが気持ち悪いです どんな可能性がありますか?
chromeとIEで現象が出てfirefoxでは出ないようです
>何が ユーザーの操作が Chromeで試したが両方全選択にはならない こういう挙動に頼るのはやっちゃいけない
ありがとうございます ユーザーの操作とはどういうことでしょうか? ただフォーカスしただけなのにキャンセルされる意味が分かりません
フォーカスってクリックだろ? タブフォーカスなら両方安定にフォーカスされるよ
mousedownで選択範囲がリセット タイマー版はdown→select→upでその位置まで選択
タイムアウト版はすべてのイベントが終わった後にselectでは
そうなった場合は全体がセレクトされるが タイミングの問題でそうならないことが多いから中途半端にセレクトされてる
>>462 10万文字目って考えるから
重くなるって思うんじゃね?
100,000バイト目(UNICODEだとして300,000バイト目)
つまり100KB(300KB)
たったこれっぽっちのメモリコピーに
かかる時間はごくわずかでしょ?
new Array(x)ってちゃんとサイズを指定するほうが早いと思うんですが なぜ長巨大になると[]のほうが早くてメモリ節約になると言えるんですか?
>>476 new Array(x) ← この時点ではただ無駄にメモリを消費してるだけ
[] ← 空のArrayを宣言してるだけ。軽いしメモリを浪費していない
お前の例だとこういうこと。よく考えろ
サイズなんて入れるもののタイプで変わってくるから サイズ通りメモリを確保するわけじゃない
480 :
Name_Not_Found :2013/10/10(木) 14:22:28.59 ID:G8C8IiLu
ネットで話題の裏モード【ZEUSバージョン】ついに解禁!!
自動ネット収入システム『Auto WebMoney【ZEUS.Ver】The Final Ultimate Edition』
auto-webmoney.com
一度は終焉を迎えたAuto WebMoneyシリーズですが、熱狂的なユーザーにより裏モード[ZEUS]の存在が発覚!!
裏モード[ZEUS]は従来比 270%UPという超速モードを搭載、これによりネット収入が500%もアップ!!!!!
477 名前:ネコ 投稿日:2013/08/01(木) 11:15:22 HOST:p86ibp5yamaguchi.yamaguchi.ocn.ne.jp
>>336 ネ申 www15分でwww27万とか!!!wwwwww
775 名前:[] 投稿日: 2013/07/06 (土) 18:21:53.07 ID:???
>>773 うぎゃああああああ━━━━( ゚∀゚ )/またネ申キタ━━━━!!!!!米国潤いすぎ
798 名前:[sage] 投稿:2013/07/06 (土) 18:43.43 ID:???
おまえら内緒だぞwww15分で27万とかwww起動したままパチンコ遊んでくるwww
802 名前:たけし[] 投稿日:2013/ 07/06 (土) 18:47:21.23 ID:???
これはマジでやったもん勝ちwwwwww
嘘くさいだの言って購入しなかったアンチ涙目ざまああああ
解析班乙!
ソフト始動で米国サーバーに接続、複数あるサーバー間で金を経由、Torに類似。
ユーザーはこの金を経由する代わりに、サーバーに返還後、ユーザーに行く仕組み。
制作にはGoogleやAppleの元プログラマーなどが多く参加、日本専用裏コミュニティが盛ん。
購入時のuser IDを使い、英国サイトからコミュニティに接続する。
日本ソフトの修正パッチはまだなため、今のうちに稼ごう!
一度に巨大な領域を確保すると初期化コストがかかりすぎるってだけで トータルではサイズ指定した方が速いのでは
なぜ要素数指定の方がここまで遅くなる?
Chrome 32では指定した方が速くなってるな 結局「どちらが筋がいいか」が最適化の基準になるということだろう 筋の悪い最適化は所詮一時的なもので長期的には高い確率で逆転する
ほんとIEは素直だな
あごめん chrome32でもPA 100Kは遅いか
要素数を指定した方が遅くなる、っていうのは筋が悪いから いずれ逆転する可能性は高いと思う
要素数に応じて使われ方が違うだろうから 統計を参考にするV8は GCとかも考えてそれぞれにあった最適化してるんじゃないの?
>>488 他にも要素数が細かく決められていて面白い
new Arrayの引数に指定できる数値の最大値は?
ToInt32されるから2^32まで ただしES6で拡張されるとかされないとか
ToUint32だった
>>492 横レスで申し訳ないですが
> 2.オブジェクトメンバを常に同じ順序で初期化する
違う順序で初期化される場合ってどんなときですか?
function Klass(){ if(Math.random<0.5){ this.x=1 this.y=2 }else{ this.y=1 this.x=2 } }
「要素数指定しない場合と同じになる」なら分かるけど 遅くなるってのはアルゴリズムが悪いだろ 単に要素数が閾値を超えていたら指定しない場合と同じ処理すりゃいいんだから。 lengthだけは変わるけどここまで遅くなるのは道理が通らない 舐めてんのか
>>498 V8にアルゴリズムが悪いとか何様だよw
メモリを最初から確保しないだけで要素は空っぽの状態で実際に10万あるんだから
空のリストの宣言とはまるっきり違う
まるっきり違うって大して違わないだろ googleだからって思考停止して崇めるのはC級プログラマーだよ
じゃあパッチ投げろとまでは言わないからissues出して聞いてみろよ 口だけ偉そうにするんならだれでも出来る
いや、このスレにV8エンジンに対して口出すような技術の持ち主がいるとは到底思えないけどな
>>502 は自分自身がC級プログラマーと自覚しなさい
いや、このスレにV8エンジンに対して口出せるような技術の持ち主がいるとは到底思えないけどな
>>502 は自分自身がC級プログラマーだと自覚しなさい
>>504 >>502 じゃないけど
成否は別として、権威やブランドだけを根拠にそっちが正しい!
って言っちゃうのはどうかと思うぞ
別に誰も肩書で語ってないよ ここまで長年かけて作り上げてきた工夫を こうであるべきなはずなんだからおかしいって一蹴するのは どんな根拠があってのことかいってことだ
G級プログラマーだが、ここはいつから質問スレから議論スレになったんだ?
誰かが行なった実装ではなく、あるべき実装を語れよ 現在の実装はあるべき実装への過程にすぎない 要素数を指定すると遅くなるのはあるべき実装ではないので いつか必然的に否定される
なぜwindowにdocumentが含まれないのですか? トップオブジェクトはwindowとdocumentの二つってことになりますよね? じゃあよくみるこういう書き方 (function(global){
含まれるやろ
ChromeのDevToolsの影響でSHIFT+ENTERおしちゃったから途中で送信しちゃいました ーーーつづきーーーー })(window) だとdocumentは汚れますよね? windowだけじゃなくて (function(global, doc){ })(window, document) が正しいのではないでしょうか?
windowのなかにwindow.alertとかwindow.consoleとかあるじゃないですか documentだけwindowにないってことです
windowをglobalにするのは汎用性を持たすため documentをdocにするのは短くするためで 意味合いが全く違うし汚染とか関係ない
documentのフルネームはwindow.documentじゃん
>>514 console.log(window.document === document);
documentだけwindowにないってことです(キリッ
とにかくJavaScriptを書くときにあったほうがいいものを全部教えて JSHINTは持ってるからそれ以外で
hintやlintは重いから非推奨 色分け機能さえあれB何も要らない
>>506 > 成否は別として、権威やブランドだけを根拠にそっちが正しい!
Googleの場合は、権威やブランドじゃなくて
技術力だと思う。
jshintなかったらコード書けないわ
>>522 それが既に先入観に囚われてるんだよ
もちろん相当の技術力はあるが
超人的な人間離れした技術力があるわけではない
「googleだから」なんて何の理由にもならない
JSHINTで重いならPC買えばいいだけ
実行してみりゃ合ってるかわかるし 結局実行してみないと合ってるかわからない 実はLintは無いのに馴れたほうが効率が良い
それはないわ ツールがコーディングスタイルを規定するのだから ないならコーディングスタイルも退化するよ
>>524 Googleだからではなく、
V8エンジンを開発した技術力があるから。
>>526 合ってるって何の話してるの?
JSHINTは実行してもわからないことを
指摘するツールなんだけど?
lint系ツールには人力作業の代替以上の意味がある それがなければ達することのない境地に技術者を導く
複数行コメントで誤作動起こすからhintは使わない lintは無駄に厳しすぎてJSで書く意味なくなるから死んでも嫌
> 複数行コメントで誤作動起こすから 起こしません。 よってjshintを使わない理由はなくなった。
lintで厳しすぎるならhintを使えばいいじゃない 俺もlintは使ってないよ 何よりlintはスペース派だからね
>>537 でないね。
jshint a.js
a.js: line 1, col 1, 'const' is only available in JavaScript 1.7.
1 error
こんなふうに言われたから(想定内).jshintrcにこう書いただけで終わり。
{
"esnext": true
}
536 :
535 :2013/10/10(木) 22:27:48.44 ID:???
やっぱりどうやってもダメだわ
>>524 で、GoogleのV8を超えているオープンなエンジンはあるのか?
はやく挙げてみろよ
なければお前の言い分は通用しない
Node.js!!!!!!
>>538 意味不明
現在の実装=あるべき実装ではないと言っているんだよ
他にあろうがなかろうが何の関係もない
実装の知識がない人がケチを付けるって笑えるw
知識は単なる知識でしかない C級プログラマーには分からないんだな
キチガイお触り禁止
goodparts P128に if(obj.a===undefind) とありますが、undefindは予約語ではないため シングルウォーテーションまたはダルブクォーテーションで 囲んで、if(obj.a==="undefind")などとするのが正しいのではない でしょうか?教えてください。
undefindじゃなくundefinedでした、すいません。
undefindを生成すればいいじゃん
ゆるさない
そうだ。undefという変数に undefinedが入っていれば a === undef って短くかけるじゃないか!
undefined = 12; console.log(undefined); // undefined ですがなにか?
>>549 あぁ、最近のブラウザでは挙動が変わったんだよ。
jqueryのセレクタで質問です。 Aというdivに内包される、BとCというdivがそれぞれあったとき、BとC以外のAの範囲を指定するにはどの様にすればよいでしょうか。というか可能でしょうか。
notメソッドか、notセレクタ使えばいいんじゃね?
>>550 最近ってwwww
ES5が勧告されてもう何年立つと思ってるんだよw
大アホwwww
こいつ自分がアホな理由もわからないのか…(呆)
OperaはChromeと統合されたし、Chromeの齢が30の今 12のころがどうたら言われてもねえ その頃はまだスマホがイケてなかった時期か Webは3ヶ月で一回り変わるとから2年前となると大昔だな
今時ES3のブラウザなんてほとんどないだろ はい終わり
>>551 ハンドラ側でtargetがAかどうかを判定する
ドロップダウンメニューにmax-heightを指定し、 コンテンツが長くなりすぎた時はスクロールバーを表示します そしてその上でホイールを回すと、スクロールしますが、 スクロールしきれないと、 そのスクロールがドロップダウンメニューに吸収されずに、 後ろのウインドウ自体がスクロールしてしまいます この問題どう解決できますか
jsbinってemmetに対応してるんだね #hoge って打ってタブを押すと <div id="#hoge"></div> ってなる いけてますな〜(^O^)
現象はchromeとIEで確認できました キーボードイベントはみでる問題もありますね テキストフォームで処理しきれないカーソルキーのイベントがはみ出て ウインドウがスクロールしてしまう。 googleの検索窓でも起きるのであまり対処はされてないよう
それ当たり前 Frameでもスクロールしきったら今度は親がスクロールされるでしょ ソッチの方が利便性が高い
親をスクロールしたかったら親の上でホイーるでしょう 意図してないのに勢い余ってスクロールされるのは迷惑でしかないです
親の上じゃん そうじゃないのならbodyむき出しじゃない所はスクロール不可になってしまう どう考えてもChromeの挙動が自然
>>559 スクロールが末端まで行ったら
wheel イベントをブロックするとかすれば
できないこともない
状況に応じてブロックするしないの場合分けは
結構複雑になるかもしれないが
mouseenterとmouseleave使ってやればいいよ
ありがとうございます jquery-mousewheelというのがあったので、これで何とかできそうな感じです
そんな些細な事も全部ライブラリに頼ろうとするから力が付かない
>>568 お前毎回来るが結局ライブラリでどうこうしようとするのならライブラリスレに行け。
ここで質問されると方法を模索して勉強したいのかと勘違いして困るから。
何か勘違いしてるようですが jquery-mousewheelはブラウザごとのホイールイベントを抽象化するライブラリですよ ホイールイベント溢れ問題にこのライブラリで対処できるわけではありません そしてブラウザごとの違いを吸収するためのライブラリはむしろ積極的に使うべきです なぜならブラウザの実装の違いは単なる偶然であり、 その違いにいくら詳しくなったところでそれは時限的な知識でしかないのにも関わらず、 相当量の実証を必要とするからです
あ、まだバグあるみたいです すみません
どうもIEの場合には稀に突破してしまうので 基本的にpreventDefaultし スクロールの方を自前でやる方式にしました・・
querySelector('input[type=button]') みたいなselector apiは積極的に使っていいんですか? レガシー考慮して全部idつけてgetElementByIdを使うべきでしょうか? jQueryは・・・どうも好きになれないorz
MooToolsとprototype.jsがプログラマー脳にはよかったんだけど 3年更新ないとかもうオワットル
自分で改造したり誰かがしてくれてるんじゃないの?
大人しくjquery使うのが吉としか言えない
jQueryは余分なもの詰まってるし 泥臭くごちゃごちゃしててブラックボックス化してるからヤダ いつも自作のライブラリやスニペットを活用してる
jqueryはイベントも抽象化して ブラウザごとのフェーズの有無とか気にしなくて良くなるのがいい 抽象化は大勢に使われてるロバストなライブラリに任せて 真のドメインで創造的になるべき
本当にアニメーションとか抽象化したいときはまだいいけどさ ただリスナやセレクタを楽したい程度のことで入れるやついるじゃん 人の好みまでは批判しないけど、自分はそういうの大嫌いなんだよね
nの二乗を求めるとき Math.pow使うのとn*nどっちが早くてメモリにやさしいの?
2乗程度なら関数使う必要なし
チャットをjs+phpで作ってるんですがunload時(ブラウザ終了、ページ移動など)にlogout.phpを叩くという感じにして logoutを他のクライアントに検知出来るようにしようと思ってるのですが なんかunloadに抜け穴(logoutされずそのままいるように見えてしまう状態)がありますか?
当然です 常時接続型じゃないのならタイムアウトは基本 面倒ならWebSocketのコネクト状態をそのままログイン状態とするようなのが 一番スマート
>>586 ありがとうございます。
WebSocketは使えないのでセッション監視でもすることにします。
チャットにWebSocket使えないとか生きてる意味ないよそれ
ライブラリってデプロイする時には一つのファイルにまとめてminifyしますよね? その時やはりコピーライト表示は残しておかないといけないのですか?
WebSocketってルートないと使えませんよね? サーバ側でデーモン走らせないといけないんですよね?
Nodeとかアプリケーションサーバーたてろ
Node.jsもルートないとインストールできませんよね? まぁそんなサーバでチャットなんてやるなって話なんですが
593 :
1/2 :2013/10/11(金) 22:07:24.15 ID:HVKy/Fz2
594 :
2/2 :2013/10/11(金) 22:07:57.57 ID:HVKy/Fz2
$(document).ready(function() {
$("#search2").bind("change", function(){
alert( encodeURI($("#search2").val()));
$.ajax({
beforeSend: function(req) {
req.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
},
contentType :'application/x-www-form-urlencoded',
type : "POST",
url : '
http://jlp.yahooapis.jp/MAService/V1/parse ',
data : "appid="+encodeURI('dj0zaiZpPWFDOTJPS2FCeUwwRiZzPWNvbnN1bWVyc2VjcmV0Jng9MGU-')+'&'+
"sentence="+encodeURI($("#search2").val())+'&'+
"filter="+encodeURI('9'),
success: function(msg,xml){
alert( msg);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
alert( 'error'+textStatus );
} }) }); });
</script></head>
<body><form action="
http://jlp.yahooapis.jp/MAService/V1/parse " method="post">
<input type="text" name="appid" value="dj0zaiZpPWFDOTJPS2FCeUwwRiZzPWNvbnN1bWVyc2VjcmV0Jng9MGU-">
<input type="text" name="sentence" id="search2" value="12345">
<input type="text" name="filter" value="9">
<input type="submit" value="送信する"></form></body></html>
やっぱりjQueryは関数やらオブジェクトネストが深くなるから読みづらいなあ
このコード見ただけでjQueryアレルギーが出てきた うぅ・・・
俺はパフォーマンス的な意味で最初はjqueryに抵抗あったけど もはや環境の一部だわ
CoffeeScriptとかやっぱり覚えたほうがいいんですかね? a = (x) -> x * 2 って書いたら var a; a = function(x) { return x * 2; }; に変換してくれるのでタイピング量が減るのが良いとは思ったんですが 例えば a = function(x){ var y = x * 2; return x * y; } こういう風に書きたい場合はcoffeeはどうかいたらいいのか分かりません
こうだろ多分 a = (x) -> { var y = x * 2 return x * y } 今使うんなら->じゃなくて=>で慣れておいた方がいい
公式サイトのトップページに->使ったサンプルが書いてあったのでまねたのですが なぜ=>を使うんですか?
>>599 ERROR ON LINE 2: RESERVED WORD "VAR"
a = (x) -> [\s][\s]y = x * 2 [\s][\s] x + y
括弧もvarもなしで良かったんだったっけな
a = (x) ->
y = x * 2
return x * y
>>600 やっぱしいい
604 :
593-594 :2013/10/11(金) 22:58:57.64 ID:HVKy/Fz2
まず必要最低限のajaxコードとHTMLだけでやる
せやな
>>593 proxy書いたからもう1回phpスレにおいで
二重配列を単配列にするにはどうするのが一番手っ取り早いですか?
ID:HVKy/Fz2 解決したならここにも書いとけよ きづかづに回答する人がいたらどうすんの?
610 :
593-594 :2013/10/11(金) 23:47:10.60 ID:HVKy/Fz2
>>607 ありがとうございました。
元々の原因は、jsでは別ドメインのサイトにPOSTができないという制限(同一生成元ポリシー)があった事だったんですね。
ずっと忘れていました。
>>609 すいません、原因を調べていました。
611 :
Name_Not_Found :2013/10/11(金) 23:47:56.00 ID:HVKy/Fz2
違った、POSTできないんじゃなくてXMLの取得ができないのでした。
ひやぁ そんなことかよ!
>>608 こんなんでできるけど。
var a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var b = Array.prototype.concat.apply(a);
document.write(b.join(', '));
>>608 arr.reduce((a,b)=>a.concat(b),[])
最短厨はコードゴルフ場へとお帰りください
document.writeとかなんか懐かしくて涙が出てきた
>>608 同着1位貰った
eval("["+arr+"]")
そう言えば最近このスレでも
document.writeやalert見かけないな
と思ったら盛大にあったわ
>>594
alertは便利だからな コードが短いし
log = console.log.bind(console)
alertなんていちいち閉じるのが面倒じゃん
これからはdialog要素の時代 function dialog(message){ var dl = document.createElement('dialog') dl.innerHTML = '<pre>' + message + '</pre>' dl.addEventListener('close', dl.remove.bind(dl)) document.body.appendChild(dl) dl.showModal() } dialog('abc\ndef')
jQuery使うとすっきりするね。 便利すぎる。
>>624 書く人が書けばな
修正困難なソースがライブラリ多用してるものだった場合
自己流に書き治すのが面倒で結局その場しのぎの対処して
更にキチコードにすることで妥協してしまうことがあった
それがトラウマになってjQueryは触りたくない
DOM4で良くね
Web Animation APIとか策定進んでんのか?
>>628 >書く人が書けばな
お前はこの文字が読めなかったの?
>>629 もしかして、本当に言い訳しているだけなのか?
技術が低い奴が書くと
どんなものでも汚くなるという
意味でよかったのか。
そうだが?
ということは、 技術力が低くてjQueryが使えない。 それが恥ずかしくてトラウマになってる という話か。
そのとおりだ
jQueryは汚いから好かん
あと遅い
単純なことをするのならDOM.nextのポリフィルを使うべき jQueryはまるで標準化のように使われすぎ
どうせ使うんだから最初から使っておいた方がいい 速度が必要なところではそういう工夫をすればいい
(by麻薬依存者)
jQuery以外のプロジェクトはとことん壊滅しちゃったから 多くの人に支持されてるのはわかるんだけども jQueryはなんか気持ち悪い 生理的に受け付けない 多少遅くなってもjQueryのprototype.js風ラッパーが欲しい
640 :
Name_Not_Found :2013/10/12(土) 11:41:48.93 ID:K1dwmp6r
非同期通信でファイルを取得してるんですが url?x=+time()って20秒に1回程度ファイルを取得するゲームのようなものを作ってます しかし、ブラウザに取得したファイルのキャッシュがどんどんどんどん溜まってしまうんですが何か解決策無いでしょうか?
>>639 そんなに関数型言語風インターフェースが嫌いなの?
セレクタに適用するDOM郡に対して
一括でメソッド呼ぶのって
CSSの動き(セレクタ全部にスタイル反映)と近いわけで
ウェブとすごく相性がいいんだけど?
何がそんなに嫌なの?
単に難しいから嫌いなだけ?
>>636 ポリフィルとjQueryの役目は全く違うんだけど?
まあ、初期のjQueryはポリフィルの意味もあったけど
今はブラウザ間の互換性が高くなって、
最新ブラウザの範囲ではポリフィルとしての役目は終わった。
今はDOMを関数型言語風に操作するライブラリ。
DOMの範囲ではjQueryの機能の再発明をしない限り
複数のDOMに一度にイベントハンドラを設定することも出来ない。
ポリフィルとかぶるのはUnderscoreの方
(俺としては互換のlodashの方がオススメ。機能も増えている)
jQuery + lodash + requirejs が今の俺の使用パターン。
nodeだとjQueryとrequirejsは不要だけど。
>>642 そんな機能あったんですか!
難しく考えすぎてたみたいでした、超助かりましたありがとうございます
prototypeはもう使命終えたな jqueryの機能がJS本体に取り入れられた時にjqueryも使命を終える
あのDeNAが作ったarticle.js見たいな名前のゲームライブラリも更新されずに終わった
>>645 そもそもJavaScriptという言語にDOMの仕様は含まれていない。
DOMはブラウザの仕様だ。
だからJavaScriptにjQueryの機能が取り入れられることはない。
DOMも含めたブラウザ環境について言ってるに決まってるだろキモオタ
lodashの方ならJavaScriptに取り入れられることはあるかも知れない。
例えばreduceみたいにJavaScriptに取り入れられた機能がある。
でも果たしてこの量すべてが取り入れられるときは来るのか?
http://lodash.com/docs 取り入れられても全然構わないし嬉しいんだけど、
相当後だろうな。
jQueryの機能がJSに取り込まれたら、 もうjQueryが嫌いって言えなくなるなw JS=jQuery相当になるわけだから。 今のうちからjQueryを使っていたほうがいいよ。
型付配列とかWorkerとかPromiseとか標準に取り入れられてきてるし JSのエンジンでDOMをカバーする予定もあるよ
jQueryがデフォになったら$(".hoge")って書き方でも早くなるんだろうな んまーjQueryがデフォとかあったとしても、ブラウザ毎に仕様が違って本末転倒になるに100ペリカ
PHPが最初はPerlで書かれていたようにライブラリは言語の未来を先取りするから そのライブラリの中にどれくらい未来が混入しているかを使うか使わないかの基準にすればいい そういう意味でjqueryは間違いなく「使うべきライブラリ」だ
jQueryって言語としてみるとちょっと変わってるんだよな まぁ俺がJava系の言語に慣れてるせいなんだけど
将来JavaScriptにDOMは盛り込まれるよ 今話し合いがされてるところ だからjQueryがデフォになる事はあり得ない。むしろ廃れる技術 お前らならこれくらい当然知ってると思っただが・・・。
ん? DOM.nextはjQueryを踏襲してるじゃん それにESの十数人ばかしの主要メンバーにjQueryの人も入ってるから影響力は大きいでしょ
ブラウザ戦争終結しないと何も解決しないだろうな
戦争ってほどのはもう無いじゃん 多少の先走りはイノベーションに必要だし
CSS3使いてーのによー
>>655 >jQueryがデフォになる事はあり得ない。むしろ廃れる技術
わかってねーな
言語に取り込まれたならそれは既にデフォになってるんだよ
>>660 どこら辺がjQueryっぽいんだ?
例を出してみろよ
>>655 知ってて当然とか言う時は、
実はそれは世の中にはほとんど知られておらず
お前がそうなって欲しいってだけって時は
よく知られているw
ソース出せと言われたら困るでしょ?
>>662 jQueryが取り込まれるというのは
jQueryっぽいということだよ。
ライブラリの本質はライブラリ自体ではなく思想だから ライブラリが言語に取り込まれてライブラリという形ですらなくなるのは最高の進化と言える
お前らって先を見る目が無いんだなw
>>660 なにそれ?
DOM.nextなんて聞いたこともないし
(当たり前だが、ES.nextは知ってる)
標準でないものを持ってきて、
これが将来標準になるとか言っても説得力ない。
w3cとかMozillaとかGoogleとか有名ドコロが
語っているやつを持ってこい。
短めのメソッドやPromiseはjQuery参考です 常識
669 :
Name_Not_Found :2013/10/12(土) 16:56:28.05 ID:16l8OS6i
d=new Date("2000-1-1 0:0") Sat Jan 01 2000 00:00:00 GMT+0900 (東京 (標準時)) d=new Date("2000-01-01T00:00") Sat Jan 01 2000 09:00:00 GMT+0900 (東京 (標準時)) ほわい? inbut type="date" で取得した文字列からDataオブジェクトを生成すると 勝手にGMTになってしまい(2つめ)とても困ってます. chromeだけの問題でしょうか?
先を見る目があるから、 JavaScriptに関数言語風の DOMライブラリが取り込まれることはないって わかってるんだよw っていうか、役割分担をしっかり認識しろ。 JavaScriptとDOMは別物。 jQueryが取り込まれるとしたらDOMの方だし、 そのDOMには関数言語風のライブラリが作られるという話はない。 例えあったとしても、jQueryで関数言語風のコーディングに 慣れてる人だとすぐに使いこなせるわけで、 一歩リードしてるってことじゃん。
型付配列やPromiseなんかだってDOMの範疇だったがJSに入っただろ
673 :
Name_Not_Found :2013/10/12(土) 17:03:00.75 ID:16l8OS6i
>>671 ありがとうございます
inbut type="date" で取得した文字列はすべてのブラウザでISOStringであると期待してよろしいでしょうか?
またここから取得した文字列をローカルタイムとしてDateオブジェクトを生成するにはどうしたらいいでしょうか?
Tをスペースに置換すればいいとは思いますが・・・
jquery使わないって言ってる人はC言語が出てきた時に そんなもの邪道だって言ってずっとアセンブラにしがみついてた人と同じ 技術の進化の歴史の中で毎回繰り返される風景
>>673 こうする
2000-01-01T00:00+0900
必要がないだけ パズルを作るのが好きか、いじるのが好きかの違いさ
678 :
Name_Not_Found :2013/10/12(土) 17:07:38.66 ID:16l8OS6i
>>676 やはり方法があったんですね!
ありがとうございました
>>674 そりゃあそうだろ
jQueryが創りだしたとか言ってないが?
それと同じでDOM PromiseはjQueryなんかを参考にしてるんだよ
おまえその程度のことも頭回らないのな
もーやめてくれよー
deferredは昔からネイティブの世界であったんだが…… それを今の標準の形に最も近づけて採用されたのがjQueryのそれってだけでしょ……
CommonJSというのは、サーバーサイドJavaScriptの 規格でDOMとは無関係ですが? そこで提案されたPromiseも当然DOMとは無関係。 ほんと、JSとDOMの違いを認識できてないなw. たぶん本人はわかってるつもりで、 本当にわかってないだろw
>>679 なにが馬鹿にされてるのかわかってないの?
PromiseはDOMじゃないってことだよ。
jQueryはDOMライブラリ。
Promiseが入ったからjQueryも入るっていう
お前の主張は、PromiseがDOM由来であるという前提であり
それが否定された今、
jQueryがJavaScriptに取り込まれることはないってのは
正しいわけだよ。
WebAPIは全てBOMかDOMです 嘘を書かない
つまりWebAPIではない
結論: jQuery信者きめぇw
>>687 でも言ってることは正しいよな?
単にお前が反論できなくなったようにしか見えない・・・
正しくありません 散々論破されてるのに気付かないんだな
あら^〜 錯乱しちゃったかw
javascriptのファイルが読み込まれるまでの速度とかそういう最適化したいんですけど こういうときに使うツールをおしえて
つうかDOM Promiseって頭にDOMって付いてるのにDOMじゃないとか何事?
信者でもないんでもない そっちは袋小路だよ?って教えてあげてるだけ
jQuery信者ってjQueryしか使ったことなさそう それでいて学習能力が低いからなのか視野が狭いからなのか、 jQueryだけしか見ることが出来なくて他のライブラリはすべて拒絶反応起こしちゃってそう 頭の中がjQueryだけになってそう カルト宗教みたいで怖い・・・
じゃあ好きにしろよw 別に俺には関係ないし
俺は
>>625 ,636で
jQueryアンチの標準厨だが事実を書いたまでだぞ
便利なのが標準に入ってくれるのは喜ばしいからな
俺も
jQueryやっとけ ↑ こういうのって押し付けだよね アムウェイみたいなマルチ商法しかり、宗教勧誘しかり、どれも共通して言えることだわ
崖下に落ちそうになってる人に「そっちは気を付けた方がいいよ」って言うのも押付けなのか
>>699 将来jQueryの機能がJSに取り込まれるから、今のうちからjQueryを使っていたほうがいいよ
将来この商品は売れるから、今のうちからアウムェイやっておいたほうがいいよ
確かに共通してるなw
きもいw
jqueryオブジェクトをハッシュにキャッシュしたいと思います jqueryオブジェクトから、キーに出来るような一意性の高い文字列を得るにはどうしたらいいですか?
意味不
>>701 アムウェイは紹介した人に金が入る
つまり「あなたのため」というのは金もうけのための方便でしかない
jquery使っておけばとりあえず間違いないよと教えてあげたところで俺には一銭も入らない
したがって構造的に全く違う
はい論破
CoffeeScriptやっとけばES6の予習になるくらい微妙な話 結局慣れすぎちゃって細かい違いに躓くのがオチだと思う
なんも考えずにjQuery使ってたが、 ここの信者見て使うのやめる事を決めたわ 職場でも徐々に使わなくしていこう
702ですがセレクタの場合は文字列だからそれがキーになるのでいいです DOMの場合のキーが難しいです DOMから一意の文字列を作る方法は?
なんも考えずにjQuery使ってるレベルの奴が何言っても 言葉の重みがない件
常に使うべきとは言わんが、 JS使うならjqueryは使えるようにしといた方がいいだろ?
職場では使っとけ 他のヤツの為に
>>708 オブジェクトをキーにしたいってことだねWeakMapを使う手がある
>>712 ありがとうございます
見たところES6の機能のようで、今すぐに使っていいものではなさそうです
仕事で使うってウソだろ?w
>>692 > つうかDOM Promiseって頭にDOMって付いてるのにDOMじゃないとか何事?
いいところに目をつけたね。
DOMと頭についていればDOM
DOMと頭についていなければ、DOMではない。
716 :
691 :2013/10/12(土) 17:52:58.92 ID:???
質問スレで議論されるとぼくの質問が流れてしまいます
>>714 MSがVisual Studioで標準的にjqueryをサポートしてる時代に何を言ってるんだ
718 :
691 :2013/10/12(土) 17:55:14.30 ID:???
>>701 > 将来jQueryの機能がJSに取り込まれるから、今のうちからjQueryを使っていたほうがいいよ
> 将来この商品は売れるから、今のうちからアウムェイやっておいたほうがいいよ
> 確かに共通してるなw
共通している所と
共通してないところがある。
キモいのは「共通していない所」
似たような例として
カレーとウンコは色が似ている所が
臭いのは似ていない所であるのに、
共通しているから臭いんだ!という屁理屈が有る。
>>716 ID出して質問すればみんな対応してくれるよ
DOMからルート要素までのパスとchidrenのインデックスを辿っていけは一意文字列が作れそうですが やはりコストは高いですよね? キャッシュで稼げる速度よりも高そうです
DOM系のエラーを返す時点でDOMの一部として策定されてるってよく分かんだね
パーツ組み立てるだけの簡単なお仕事ですw
>>721 WeakMapがあればWeakMap、なければMapのポリフィルを使え
本当にわかってないのだろうか? JavaScriptに採用されたPromiseはDOMではなく DOMにサポートされるDOM Promiseとは だいたい同じだが、別物であることを。 馬鹿だよね。DOMと関係ないものが、 DOMに採用されたら、なぜかDOM由来に変わってしまう。 まるで、韓国と関係ないものが 韓国に採用されたら、韓国由来になるんですと 主張しているのを見ているかのようだ。
なんで韓国が出てくるんだ 馬鹿なやつは多かれ少なかれネトウヨだな
なんで韓国が出てくるんだよワロタ
いや、その前のウンコも突っ込むべきだろw
前から思ってたけどこのスレの奴らってツッコミスキル高いよね
jQueryの話してたらウンコの話や韓国の話になってた これゎもぅ。。。 jQuery=ウンコ=韓国ってこと。。。
>>724 Mapもまだ普通のブラウザのデフォルトでは有効になってないよ
>>725 最後はそう言い出すと思ってたよ
屁理屈乙
結論としては PromiseはDOMとは関係ないもので、 JavaScriptに採用されたのは、 DOMではないから。 そのDOMではないPromiseが DOMに採用されたからって、 PromiseはDOMにはならない。 という話。 反論が有るのなら聞くよ? 遠吠えなら聞き流すけど
なんだ jQueryはウンコで、韓国発祥だったのか
仕事でjquery持ち出されたら、さすがに引くわw 仕事といっても最底辺なんだろうな
>>731 ポリフィルって言ってんだが
WeakMapは無理だがMapはエミュレート可能
>>732 言い出すとあらかじめ予測していたのに、
対策は立てなかったんですか?
予想していたのなら、すぐに反論できそうなものですが?
>>737 返そうかとも思ったが
ここまでくるとアホ過ぎるのでもう付き合わなくていいやとおもった
負け犬の遠吠えだしねw
言わせておけ言わせておけww
仕事の現場でjQueryなんて使っているはずがない!
俺逆にライブラリやフレームワーク使ってない職場見たこと無いわ
744 :
691 :2013/10/12(土) 18:08:58.49 ID:0RLym5Lm
おい俺の質問流してるやつ4ねよ
>>742 680万です
自分が上位とは思ってないが、社会経験ない奴よりは上だと思ってるよ
つまりだ680万程度のやつの世界では jQueryが使われてるってことだ。 負け組だな。
世の中には昇給ってものがあってだな・・・。
日本のWebエンジニアなら高い方だろ それ以上の年収貰ってる立場なら自分でコードなんて弄らん
>>744 偉いなIDだしたな
まずは各ブラウザのデバッグツールに、
どういうタイミングで読み込まれて実行されたかを表示する機能がある
ChromeだったらF12おしてNetworkのタブだ
底辺の世界だと、 10年以上遅れてるから・・・。 jQueryも使えない仕事。 何を使ってる?と聞いたら 一部のブラウでしか採用されてないような それ仕事じゃないよね?って言われることを 無知だから言ってしまう。
モバゲーのエンジニアって年収良さそうだけど、モバゲー自体にjQuery使われてたよな? どうするの?
>>749 その立場で言わせてもらうと、jqueryプッって感じだぞ
>>749 俺はえらい立場だからな。
はっはっは。私の部下たちが
そんなライブラリを使っているはずがない。
すべて自分たちで作れるのだよ。
優秀だからな。はっはっは
どうでもいい 自分はライブラリに頼ると悔しいから使わん それだけ
>>753 理由を書いてない時点で、
お前さんが馬鹿にされるのに
十分なレスだな
> 自分はライブラリに頼ると悔しいから使わん 尊敬する人が、ライブラリを使っていたらどうする? それとも自分が一番凄い人だと思ってる?
社会経験無い奴や底辺がファビョり出したな
他人の成果を利用することを 悔しいと思ってる時点で、 人の上にはたてない人間だな。
760 :
691 :2013/10/12(土) 18:19:10.62 ID:0RLym5Lm
昔偉い人が言ってた フレームワークはお前の為に使うんじゃねぇ 仲間の為に使うんだ、と
javascript自体が開発において底辺の仕事だからな jqueryで組み立てようが大差はないよ
>>760 なんの機能がほしいのかを言わないと
まだ他に高い機能が存在するのか、
それともお前が単に機能が搭載されているのを
知らないだけかどうかわからないだろ。
ほらほら、こうやって どんどん荒らしは頭にのっていくんですよw そのうち、プログラマやIT業界だけじゃなく、 仕事してる事自体を馬鹿にするでしょうな。
767 :
691 :2013/10/12(土) 18:22:46.53 ID:0RLym5Lm
それじゃchromeでしかちぇっくできないのだ
>>767 だから何をチェックしたいのさ?w
全てのブラウザに搭載されてるだろ?
769 :
691 :2013/10/12(土) 18:23:38.88 ID:0RLym5Lm
特定ms以上かかったアクセスのリストアップ機能とか
770 :
691 :2013/10/12(土) 18:24:32.66 ID:0RLym5Lm
処理のどの部分に時間がかかったのか chromeとかfirefoxの標準ツールじゃそこまで調べてくれない
仕事は底辺がやるもの
こんなところでさぼってないで仕事しろ、底辺どもw
>>757 ライブラリの中身全て把握できるようなものなら使う
ブラックボックスや巨大なものは悔しいから使わん
もう何だよこのスレは
日本の底辺を眺めてニヤニヤするスレです
ニートっていうか無職の奴 居たら正直に言え、先生起こらないから
>>770 読み込みじゃなくて実行時のprofileとかかよ
それこそブラウザの機能でチェックしないとダメだろ
firefoxもchromeもprofile取れるだろ
778 :
691 :2013/10/12(土) 18:30:48.26 ID:0RLym5Lm
いちいちブラウザ立ち上げて確認するじかんもったいないだろ コマンドラインからチェックして時間をファイルとかに出力してくれたらチェックが楽じゃん
onloadまでの時間ならperformance.timing
悔しいから使わんとか馬鹿なのか 悔しいから使わんが許される職場ってどんなとこだよ
>>780 趣味で勉強してる身だから
理解できないまま気安くなんでもかんでも便利なものを利用したくない
Benchmark機能のあるFWでも使っておけ はい、次どうぞ
>>773 > ブラックボックスや巨大なものは悔しいから使わん
じゃあOSも使うなよ。
>>778 そんなのブラウザ側がサポートしてなきゃ無理だろ
ターゲットのブラウザが全部その機能をサポートしてるか確認してこいよ
圧縮アルゴリズムなんて 難しいから俺使わないもん。 電気の理屈も発電所がブラックボックスだから使わないもん
>>783 OSには興味が無い
JavaScriptが大好きで興味がある
だから趣味でやってる
787 :
691 :2013/10/12(土) 18:35:05.93 ID:0RLym5Lm
>>784 LiveReloadみたいにドライバーを入れればできることだってあるだろ
何十ものページをいちいち手作業とか生産性悪いよ
>>781 手を抜くな
両方勉強しろよ
便利なものを使う方法を使わない方法も
ブラックボックスや巨大なものは悔しいから使わん というセリフには矛盾あるからなぁ。 じゃあ今お前が使ってるものはなんなんだよ?と。
JavaScript自体が誰かが用意してくれた 巨大な言語だしな。 所詮何かの手のひらの上で生きてるにすぎないのに それを勘違いしているのは、ガキの証拠だね。
>>788 人の趣味にとやかく口を挟まないで欲しい
人がどう感じるかは人の勝手だろ
お前はお袋か
OSには興味が無い じゃあライブラリはどうだろうか? ライブラリにも興味が無いのなら 普通に使えばいいだけだ。
>>787 オートリロードに続けてプロファイルを出力できる
実ブラウザやダミーブラウザを探せ
なければ作れ
>>790 それでいい
俺はJavaScriptを書くことに興味がある
でも最近はV8の実装も気になってC++にも手を出そうかと考えてる
ともかくJavaScriptと共に死ねるなら俺は満足だ
他人のライブラリを使っていると 自分でライブラリが作れなくなる。 これは経験則だから正しい。 某ラーメン屋も、他の店のラーメンは 一切食わずに、独自のラーメンを作り上げた。 自分のライブラリを作るのであれば、 他人のライブラリは使わずに ライブラリの研究をするべきである。 by 馬鹿
797 :
691 :2013/10/12(土) 18:39:50.49 ID:0RLym5Lm
ないならないでよい、ひっこんでおれ
>>791 趣味に口を挟んで欲しくなければこんなとこに書くな
ここは口を挟んでもらうための場所だ
>>795 お前には無理だよ。
何も出来やしない。
>>793 今はお袋の面倒見てやってんの俺だろ……
俺のこと忘れちゃったの
さすが最底辺の言語だけあって、スレの雰囲気も殺伐としてるなw
このように、スレを荒らすのが目的だったわけです。
>>799 もう言われるのは馴れた
でも自分の趣味には誇りを持って行くぜ
最底辺言語だったJavaScriptをここまで使えるものにしてくれた Ajax技術と、V8エンジン開発したGoogleは凄いな 作り直した方が楽だったろうに
>>801 なるほど
Javascript=ハングルと思えば納得できる
>>803 あぁ、趣味なら気が楽だからな。
何も出来なくても、
趣味だからで逃げられるもんな。
JSだけじゃなくて昔はLLは皆遅くて玩具のような評価を受けていた 対等になったのは技術の進歩のおかげ
>>804 別に言語を変えたわけじゃないので、
あくまで使われ方と実装がだめだっただけで
言語としては優れていたってことじゃね?
作り直す必要がないぐらいに。
jQueryとの言い争いは終わったのかい? それともお互い底辺だから仲良くするのかなw
>>806 そうだね
好きなようにできるのが一番素晴らしい
>>805 それはちょい違うな
ハングルは無くなってもチョンしか困らんが
Javascriptは結構世界中で困る人が出る
言語その物は大きく変わってなくても jQueryなどのライブラリの存在が大きく変わったからな。 Googleがやるまで偏見が合ったが それ移行の進化のスピードは目を見張るものだったよ。 その間言語はほとんど変わっていない。
>>812 数が少し多いか少ないかの違いしか無い
普段話す言葉とプログラミング言語とは格が違う
>>814 チョン自体がむしろ「害」で不必要だから
だから韓国持ち込むなって 関係ないだろ
でもjQuery=韓国なんでしょ? さっき結論出てたよな
>>814 格が違うわりに100年前までその言葉を4%しか使えなかった民族w
>>815 おまえそれ俺の知り合いの親切な女子大学留学生にも言えんの?
ネトウヨって24時間韓国のこと考えてんのかよと
あ?親切な売春婦?
プログラミングも思想の一種だからなあ…
IE6でもグーグルマップとか動いちゃったからね IE6が世に出た当初はあの上であんなものが動くとは誰も予想もしてなかった 実装自体が十分に優秀なポテンシャル持っていたと言っていい
もうjquery使いはチョンでいいわ
>>818 うそを付くな
ハングルは100年前は品詞もおぼろげな言語とは呼べないもので
それを言語にしたのは日本人だろ
あれ?自称WEB業者のチョンはJSすら使えなくて悔しがってるみたいだけどww
ネトウヨ脅威の無職率
リロードしたらものすごく伸びててワロタ
ネトウヨが無職なのではない。無職がネトウヨになるのだ。
やっぱり、議論スレを隔離スレとして分離した方がよいんじゃない?
そろそろ朝鮮人による「JSは皆切ってるから」発言が出ます ↓
>>827 location.protocol+'//'+location.host+location.pathname
そのうちjqueryをさらに簡易化したjsimpleなるものが出てくるだろう 小学生でも簡単にプログラミングできちゃうような
>>831 JavaScriptスレ(主に実装)とECMAScriptスレ(主に仕様)がある
事実を扱う技術者なのにも関わらずネトウヨなのはすげー恥ずかしいことだから ナショナリズムなんて幻想にすぎないんだよ そんなものにしがみつくな
煽るなよw
ネトウヨは同族嫌悪だろ? 常に火病ってるみたいだし
>>839 それ在特会デモの中心で叫んできて
命は保証しない
ChongScriptでも開発しとけ 老いぼれ朝鮮人
人間としてのレベルが低すぎてワロタ ネトウヨはニュー速+から出てくんな
そこも技術的になにひとつ出来ない奴が荒らしてるだけじゃん 他のスレと全く一緒だからそいつ よく見たらわかるけど
Webプログラミング板代表PHPスレも忘れるな
ポップオーバーの各項目に関して付加情報を表示したい時って どういうインターフェイスでやればいいんですか? そういうことしてるサンプルないっすか?
ポップアップからさらにポップアップみたいなセンスのないことは止めろ
わからないなら、黙っててください
(func) =
多次元次元配列を作るスマートな方法はありますか? for文で回すしか無いのでしょうか? ライフゲームを作ろうとしています。 0で初期化された950x500の2次元配列を作りたいです。
そんなのforで回すしかないじゃん 変数に文字列を代入するのに=よりスマートな方法ありませんか?って言ってるようなもの
text-overflow: ellipsis によって文字列が省略されたかどうかを検出するにはどうしたらいいですか?
>>851 arr = new new ArrayType(new ArrayType(uint8, 950), 500)
検索窓によくアプリで見るように文字削除ボタンを付けたいと思います でもフォームの中にボタンを作るなんて どうしたらいいですか?
absolute
var str = "a"; str = str + str; str = str + str; str = str + str; みたいな形で配列を作る方法ありませんか?
>>858 それは配列ではありません。
例を書くなら、配列を使ってください。
初心者ほどスマートを理想にしたがるから困る
は?くそみたいなコード書いとけよwプゲラ
var str = []; str.push(1); str.push(2); str.push(3); console.log(str);
>>862 ありがとうございます
>>859 わからないのなら黙っててください
あなたより優秀な人に答えてもらえるので不要です
その例でいくとこうじゃね? var array = [1]; array = array.concat(array); array = array.concat(array); array = array.concat(array); ただしシャローコピーで使えない
なんで858から862なのか意味不明だ
多次元配列を複製するのはどうするのが一番スマート?
lodashのclone使ったら
ライブラリではなく自分でclone関数を実装するとしてです
スマートの意味が分からない 普通の作業なんだから普通にしたら
Array.clone = function(x) { return x instanceof Array ? x.map(Array.clone) : x; }
>>871 文字数は少ないですが構造がややこしいのでもっとスッキリにできませんか?
Array.clone = x => Array.isArray(x) ? x.map(Array.clone) : x
わかりにくいです
>>869 lodashのclone関数の実装を見たら?
自分で作るのなら、自分の力で作ればいいし(つまりここで聞くな)
実装を知りたいのなら、すでにあるもの(lodash等)の
実装を見ればいいだけだろう?
ライブラリのソースを勝手に盗むと怒られますが、 ここに書き込まれたソースは勝手に盗んでOKだからです
すいませんボタンをクリックすると配列datの中に決まった文字列が入るという処理は可能でしょうか? もし可能でしたらサンプルをお教えください 作っている処理を簡潔に書きますと @dat[i]という配列(iは0〜255まで)がある Aボタンが幾つかあり、それをクリックするとボタンに合わせた文字列(サンプル1、サンプル2など)が配列[i]に格納される。iが+1される B必要なボタンが押され終わると出力ボタンをクリックする C出力ボタンをクリックするとdat[i]に格納された文字列がそれぞれ順番に書き出される という形です
>>875 当然見てますがダサすぎて話になりませんでした
ですので皆さんのお力を借りに質問したまでです
>>876 > ライブラリのソースを勝手に盗むと怒られますが、
ん? lodashのライセンスはMITだよ。
分かりやすく言えば、盗んでも怒られない。
>>877 それ重複してもいいの?
普通だったら重複を許さない→チェックボックス か
許すけどソートしてカウントするみたいな処理がいるはずだけど
いろいろ仕様が変わってるね
>>878 あれをダサいというならば、
それは君の力が低いからだよ。
問題は君の技術力の低さにあるから
どうしようもないいよ。
>>881 わからないのなら答えなくていいです
あなたより優秀な人が答えてくれていますから不要です
あなたより優秀な人 = lodashの作者
こちらが何度も拒絶してるのにしつこいですね ストーカーはやめてほしいものです
>>865 この件ですが、relativeだとずらしたところでその領域は確保されるので
absoluteにした方がよかったです
ありがとうございました
>>879 自分のソースコードにコピペして、自分のものですって言ったら怒られません?
ミットライセンスってやつはコピーライト表示削除してもいいんですか? mifify的な意味で
質問に答えてもわからないのなら、 もう聞かなくていいです
分かるか分からないのかなんて聞かないと分からないのだから それはエスパーになれと言っているに等しいですよ
質問です。 JavaScriptのサンプルを見ていると、よく"引数"という言葉を目にします。 この"引数"は、「ひきすう」と「いんすう」どちらで呼べばいいのでしょうか?
>>876 ここに書き込まれたソースを流用すると著作権が2ちゃんにわたる
んで、あとで揉め事に発展することもあるかもしれない
だから大抵は外部サイトにコードを張るのが主流
そんな理由かよw
>>880 重複しても大丈夫です
飲食店のハンディ(メニューを取る機器)のシミュレーションのようなものです
ジェイクエリーでCSS要素を削除する時は''を書き込んでいますが このやり方で問題はないのでしょうか?
とにかくいまどきのES5での書き方をおしえて
まあ、頭の悪い荒らしなんだろうな。
>>897 それはあなたがそういう書き方がわからないからですよね?
昨日の無職君か
あるクラスにアタッチされた関数の一覧を見たいんだけど どうしたらいいかな
クラスっていうのは具体的に何だね? オブジェクト?コンストラクタ?
>>901 そのものズバリの関数が用意されている。
http://lodash.com/docs#functions _.functions(object)
Creates a sorted array of property names of all enumerable properties, own and inherited, of object that have function values.
_.functions(_);
// → ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', …]
それのどこがそのものズバリなんだ
なにが違うんだ? これではダメな点を言ってくれ。
クラスとオブジェクトは違うだろ
lodashロードしないと使えない機能の説明のしかたじゃないよな
908 :
Name_Not_Found :2013/10/13(日) 13:06:59.58 ID:hjdvYb7K
Array.prototype.remove = function(key,value){ this.some(function(v, i){ if (v[key]==value) this.splice(i,1); //name:helloの要素を全て削除 }); } a = [{a:1},{a:2},{a:1}] a.remove("a",1) TypeError: Object [object global] has no method 'splice' なんでこういうエラーが出るのでしょうか? よろしくおねがいします
function(v, i) の中ではthisは外側のthisとは違うものになってるから。 外側のfunction(key, value)のところで var that = this; とかして保存し、 内側ではthatを参照すればいいんでないの。
>>906 JavaScriptにおいては一緒。
A.a = 1; // A is not defined;
function A(){}
A.a = 1; // 問題なし
>>907 lodashのコード見ろって言ってんだよ。
それがやり方だ。
>>908 someに渡した関数は普通に関数呼び出しされるんじゃないかな?
普通に関数呼び出しされる関数の中でthisを使うとそれはグローバルオブジェクトになる
912 :
Name_Not_Found :2013/10/13(日) 13:15:58.89 ID:hjdvYb7K
>>910 > A.a = 1; // A is not defined;
> function A(){}
> A.a = 1; // 問題なし
これ別に上も下もエラーにならんけど?
あと、これがクラスとオブジェクトが一緒という説明になる意味が解らない
関数オブジェクトのプロパティ設定してるだけでしょ?
>>902 attachEventされたのの一覧見たいです
>>910 臭いよ君
まじめに回答しないキツネ君は消えてくれ
>>914 恐ろしく斜め上だわw
クラスに登録してるわけじゃなくて、クラスで選んだイベントターゲットに登録してるんだよね?
Array.prototype.remove = function (key, value) { this.some(function (v, i) { if (v[key] == value) this.splice(i,1); //name:helloの要素を全て削除 }, this); } もしくは Array.prototype.remove = function (key, value) { this.some(function (v, i, a) { if (v[key] == value) a.splice(i,1); //name:helloの要素を全て削除 }); }
(HTMLDivElement)クラス(のインスタンス要素)という意味かもしれないだろうが
prototype汚染きめえ
withとforinを配列に使わなければいいだけのこと
withはプロトタイプだけの問題じゃないし関係ない
prototypeいじるなら列挙フラグ落としとけよ一応
× for (var i in obj) ○ for (var i of Object.keys(obj))
>>916 はい、そうです。
detachEventやremoveEventListenerをしたいんだけど
誰がイベントをくっつけてるのかデバッグも兼ねて確認
したいのですが、なんか方法が見当たらなくて。
>>923 __proto__も含めて回したい場合もあるんだぜ?
>>925 とりあえず確認したいだけなら、ブラウザの開発ツールで見るのじゃダメなのかね?
コンソールのElementタブから確認するか コマンドラインAPIのgetEventListenersをエクスポートして利用してください
"true"や"false"といった文字列をBool型に変換するのはどうしたらよいでしょうか? "true" => true "false" => false "1" => true "0" => false "100" => false "aaa" => false このような結果になる動作を行いたいです Boolean(str) では"false"もtrueとなってしまうため困っています。。。
>>927-928 ありがとうございます
firefoxなのですが、firebugインストールするのいやだったんですが
年貢の納め時ということでインストールします
function(x) {return x=="true" || x=="1";}
bool = str == '1' || str == 'true'
getEventListenersがあるのはChromeだろ
934 :
929 :2013/10/13(日) 15:10:35.12 ID:???
array instanceof Array では配列かどうかを見分けるためには不十分だと聞いたのですが、 一体どういうことなのでしょうか。
a =[1,2,3]; b = a.join(""); if (a === b) {
それだとプロトタイプを持たない純粋配列や 配列のそれっぽいjoinメソッドをもつオブジェクトに対して無力
>>935 w = document.createElement('iframe')
document.body.appendChild(w)
array = new w.contentWindow.Array
array instanceof Array //false
w とかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ネーミングが三流
はい馬鹿が一匹釣れたー^^v
Object.prototype.toString.call(obj) == "[object Array]"
>>940 バカじゃねえのwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
そんな変数名よく使えるなwwwwwwwwwwwwwwwwwwwwwwwwww
wとかまったく意味わかんねえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
もっとさマシな名前つけろよwwwwwwwwwwwwwwwwwww
おまえってさwwwひょっとしてa1とかa2みたいな意味不明な変数名ばっかり使ってるだろwwwwwwwwwwwwwww
釣れたとかいってるがお前恥ずかしすぎwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>>941 ありがとうございます。
よりパフォーマンスがいい方法はありますか?
同一人物の可能性が高いってことだ
ああ、馬鹿相手にはいちいちそこまで言わんと通じないってことか
Array.isArray使った方が
せやな
>>948 最低IE8、できたらIE5.5でつかえる方法はありませんか?
lodash使えばいいだけだろ
>>951 それはいいのですぐ試せるソースコードを教えて下さい
ページに動きをつけたいときにはjQuery Javascriptってなんのためにある? PHPでなるべくユーザーのPC使わせて処理させたいのがJavascriptってことで良いの jQueryもjavascriptってのは分かってる でも、Javascriptでアニメーションさせるとき Ie6の事を考えたり IEと他ブラウザでイベントの書き方は違ったり 俺どうしたら良いのか分からなくなって来た Web系の会社に就職するんだけど 就職する前にPHPとかjavascriptでネットアプリケーション作ったりしてえ でも Javascriptで要素を動かすのがこんなに大変だとは思わなかった 俺どうすればいいかな 仕事ではJqueryなんて使わねえかな・・・
var isArray = nativeIsArray || function(value) { return value && typeof value == 'object' && typeof value.length == 'number' && toString.call(value) == arrayClass || false; };
>>955 よっぽど過去の遺産に苦しめられているような所以外では
jQueryを使ってるよ。
違うのはDOMなんかのAPIであってJavaScriptは関係ないだろう
>nativeIsArray
>>955 色々やばそうだが新卒ならなんとかなるから安心しろ
中途なら白い目で見られるかも知れないがなんとか順応しろ
どこかのフレームワークからコピペしてきたのが丸わかりだなw
純粋に言語からの視点だと直接DOMAPIを触るか間にライブラリが挟まってるかなんて そんなに深刻に悩むほどの違いじゃないと思うけどな DOMとその実装が残念だってのは否定しないけど JSはスクリプト言語だから変幻自在だろうよ
ロダッシュロダッシュうるせえよ!宣伝するな!
>>941 の方法じゃ抜けがあるからArray.isArray使わないとダメよ
せやな
Arrayってさ window.Arrayないよね
aruyo
Array.isArray以外の方法推してたやつざまあwww
>>969 Array.isArray以外の方法を聞いてるんですが?
2013/10/13 21:38:51 ↑ これの 30分後 20秒後 24時間後 の時刻にする方法をおしえてください
isArrayがあればisArrayを
なければ
>>941 の方法を使う
この両方を守れば問題ない
つまりこうだな Array.isArray = Array.isArray || function (x) { return Object.prototype.toString.call(x) == "[object Array]" }
たとえばさbackboneとかangular.jsとかあるじゃないですか んで、こういうののルーティングのテストってどうやるんでしょうか?
よく分からんがライブラリやフレームワークの部分を とばしてデバッグしたいってこと?
>>971 var time = new Date('2013/10/13 21:38:51').getTime();
var after30min = 1000*60*30;
console.log( new Date(time + after30min) );
後は同じ要領で計算しろ
>>977 面倒です
もっとマシな方法ありません?
面倒なら作るのやめろ
new Date('2013/10/13 21:38:51') Sun Oct 13 2013 21:38:51 GMT+0900 (東京 (標準時)) new Date('2013/10/13 21:38:51'+'+0830') Sun Oct 13 2013 22:08:51 GMT+0900 (東京 (標準時)) //30分後
>>980 そんなん手動でも適当なページにアクセスしてみればいいじゃん
>>978 new Date('2013/10/13 22:08:51');
new Date('2013/10/13 21:39:11');
new Date('2013/10/14 21:39:11');
はい、どうぞ。
これが一番単純でシンプルです。
わかったらさっさと消えてね^^
>>981 ,983
汎用性のない方法は求めていません
消えてください
>>981 はまだ何とか使えそうですがやや不格好です
986 :
985 :2013/10/13(日) 22:31:21.56 ID:???
987 :
985 :2013/10/13(日) 22:31:59.80 ID:???
>>982 何十ページもある場合とか、何度も修正してテストするときにいちいち手動でやるとか時間の無駄ですよ
ん? URLが分かってるなら楽じゃん
>>984 もっといい方法知ってるが、お前には教えん
>>900 わからないのなら黙っててください
あなたより優秀な人に答えてもらえるので不要です
誰もお前には教えんと思うよ
>>902 わからないのなら黙っててください
あなたより優秀な人に答えてもらえるので不要です
次スレから質問者はID強制ね
俺もてめえみたいなカスに教える気はしないな
わからないのなら黙っててください 不要です
わかります。けど教えません
教えるつもりがないのなら黙っててください あなたより優秀な人に答えてもらえるので不要です ただのスレ汚しは皆の迷惑です消えてください
既に解答は出てる。お前が消えろ
皆の迷惑です消えてください
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。