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

このエントリーをはてなブックマークに追加
1Name_Not_Found
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/
2Name_Not_Found:2013/10/14(月) 00:34:05.15 ID:???
■前スレ
+ JavaScript の質問用スレッド vol.110 +
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/
3Name_Not_Found:2013/10/14(月) 00:35:08.31 ID:???
■主要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 中でやるとか
4Name_Not_Found:2013/10/14(月) 00:56:06.29 ID:???
5Name_Not_Found:2013/10/14(月) 00:57:51.36 ID:???
前スレの最後の方の質問者はただの荒らしだろ
スレを無駄に消費せず荒らしを見分けろ
6Name_Not_Found:2013/10/14(月) 01:03:30.92 ID:???
一回目のクリックイベント

二回目のクリックイベント

判定するには
クリックイベントのあと

一回目か二回目のクリックイベントかを判定する関数をよんで
そのあと一回目と二回目の処理に分けたいんだけど
(その後はループで一回目と二回目がいれかわってほしい)
その処理の最後にflagというグローバル変数を1ずつ足して
if(数%2==0){二回目の時の処理}else{一回目の時の処理}
という感じで処理を別々に分けたのですが
しっくりきません
グローバル変数を使わずにしたいのですがどう考えれば良いでしょうか?
7Name_Not_Found:2013/10/14(月) 01:35:17.03 ID:???
textフォームに対して、enterキーが押されたのと同じイベントを起こさせるにはどうしたらいいですか?
8Name_Not_Found:2013/10/14(月) 01:41:14.38 ID:???
>>6
jQueryにはまさにそういうことをする
関数があったんだけど、削除されちゃったね。
http://api.jquery.com/toggle-event/

面倒なんでjQuery使って書くけどこんな感じでどう?

$(・・・).on('click', (function() {

 function odd() {
  ・・・
 }

 function even() {
  ・・・
 }

 var flag = 1;
 return function () {
  flag % 2 ? odd() : even();
 };
})());
9Name_Not_Found:2013/10/14(月) 01:51:44.33 ID:???
ああ、flagを更新する処理を入れ忘れたw
まあ、動かしてないから他にもミスあるだろうけ
あとは頑張ってw
10Name_Not_Found:2013/10/14(月) 02:23:36.89 ID:???
イベントハンドラの中からtriggerしても問題ないですか?
何となく気持ち悪かったので、setTimeoutすることにしましたが
11Name_Not_Found:2013/10/14(月) 02:51:41.83 ID:???
循環参照を持つオブジェクトを文字列化&パースする方法はありませんでしょうか?
12Name_Not_Found:2013/10/14(月) 05:47:19.77 ID:???
前スレで気になってたんですけど
結局
Object.prototype.toString.call(obj) == "[object Array]"
じゃダメな理由ってなんですか?
13Name_Not_Found:2013/10/14(月) 06:11:53.88 ID:???
美しくない
14Name_Not_Found:2013/10/14(月) 06:17:39.15 ID:???
むしろどうしてそれで絶対安心と思えるのか
配列がすり抜ける可能性があるだろ
15Name_Not_Found:2013/10/14(月) 06:58:00.53 ID:???
let ってtscript ype=で1.7以降を指定しないと動かないんだな
小一時間悩んだ
16Name_Not_Found:2013/10/14(月) 07:23:00.24 ID:???
全角スペースって日本以外でも同じ文字コードなんですか?
17Name_Not_Found:2013/10/14(月) 07:23:35.64 ID:???
それってfirefox限定の話じゃないの?
1817:2013/10/14(月) 07:24:58.22 ID:???
ごめん>>15
19Name_Not_Found:2013/10/14(月) 07:38:24.11 ID:???
>>16
アスキーコードには全角スペースなんて無いよ
20Name_Not_Found:2013/10/14(月) 07:41:19.16 ID:???
全角なんて考え方が無い文字が多い
21Name_Not_Found:2013/10/14(月) 08:09:46.44 ID:???
質問者のID出しは強制にしないか?
じゃないとまた荒されて無駄に消費してしまう。
ID出してない質問は無視する方向で。
22Name_Not_Found:2013/10/14(月) 08:25:27.97 ID:???
>>21
そういう提案するのにもID出してもらえれば多少説得力がある
2321:2013/10/14(月) 08:28:56.06 ID:9VCWPPzH
これでいいか?
24Name_Not_Found:2013/10/14(月) 08:30:15.41 ID:???
>>23
おうがんばりたまえ
2521:2013/10/14(月) 08:33:48.22 ID:9VCWPPzH
では、質問者のID出し強制という事で。
26Name_Not_Found:2013/10/14(月) 09:24:06.44 ID:???
JavaScriptの下らねぇ質問はID出して書き込みやがれ vol.112
27>>1:2013/10/14(月) 09:37:54.40 ID:A5mYqsEP
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/
28>>2:2013/10/14(月) 09:38:29.73 ID:A5mYqsEP
■前スレ
+ JavaScript の質問用スレッド vol.110 +
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/25/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/
【WHATWG】HTML5 Part4【W3C HTML WG】
http://toro.2ch.net/test/read.cgi/hp/1329529892/
Webサイト制作初心者用質問スレ part237
http://toro.2ch.net/test/read.cgi/hp/1380819516/
CSS初心者スレッド=12th=
http://toro.2ch.net/test/read.cgi/hp/1343429848/
Canvasについて語ろう
http://toro.2ch.net/test/read.cgi/hp/1305093769/
29>>3:2013/10/14(月) 09:39:02.26 ID:A5mYqsEP
■主要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 中でやるとか。
30>>4:2013/10/14(月) 09:39:34.51 ID:A5mYqsEP
■各種仕様 ( http://fiddle.jshell.net/vSqKr/33/show/#Link も参照 )
◆ Standard ECMA-262
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://people.mozilla.org/~jorendorff/es6-draft.html (ECMAScript 6 有志HTML版)
http://kangax.github.io/es5-compat-table/ (ECMAScript 5 compatibility table)
http://kangax.github.io/es5-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 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
◆ MSDN Library
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
31Name_Not_Found:2013/10/14(月) 09:39:43.02 ID:???
クソスレ化オメデトウ
民度が低くなった証拠だな
32Name_Not_Found:2013/10/14(月) 09:47:45.71 ID:???
あらしは回答も自演するからねえ
CSS質問スレがあらしに潰されたときの流れとかぶる
33Name_Not_Found:2013/10/14(月) 10:04:40.59 ID:???
このスレはROMってるだけでも勉強になるから潰したくない
最新の仕様情報やトリビア的な知識、果てはトリッキーなコードなどとと、意外と為になるから勿体無い
34Name_Not_Found:2013/10/14(月) 10:08:02.36 ID:???
トリッキーなコードはいらんだろw
35Name_Not_Found:2013/10/14(月) 10:12:10.83 ID:???
いやいや、割と参考になるってw
今までにもへ〜こういうやり方もあるのかって思った事が何度かあったぜw
36Name_Not_Found:2013/10/14(月) 10:58:41.59 ID:???
>>111霧版
37Name_Not_Found:2013/10/14(月) 10:59:04.37 ID:???
露骨な荒らし以外にもしょうもない言い争いでスレ浪費したりするし
質問スレを肴に雑談するスレとかあってもいいんでね
38Name_Not_Found:2013/10/14(月) 11:35:24.94 ID:???
荒れるうちが華っていう見方もあるぞ
枯れた技術のスレほど寂しいもんはない
39Name_Not_Found:2013/10/14(月) 13:07:35.30 ID:???
URLのトップレベルドメインを取り出し、Whoisデータベースなどで情報を取得することは可能ですか?
jpなら日本というようにです
40Name_Not_Found:2013/10/14(月) 13:09:56.21 ID:???
ブラウザのJSだけでは無理ですね
41Name_Not_Found:2013/10/14(月) 14:51:24.24 ID:???
荒らしとIDは何の関係もないだろw
前スレの最後の方の質問者はあきらかに同一人物だったんだから
基本的に全く同じことを何回も言うやつは荒らしと心得よ
42Name_Not_Found:2013/10/14(月) 16:27:52.97 ID:???
jasmine使ってテストが書かれていてgithubに公開しているのオープンソースを何でもいいので教えてください
43Name_Not_Found:2013/10/14(月) 16:29:41.94 ID:???
で、>>12がいけない場合を具体的に教えてくれる奴はおらんのか
44Name_Not_Found:2013/10/14(月) 16:43:09.07 ID:???
lodashに「これ何に使うんだ?」っていうような関数が結構ありますが
それを説明してるサイトとかないですか?
45Name_Not_Found:2013/10/14(月) 16:53:20.42 ID:???
ライブラリの質問はライブラリスレで
46Name_Not_Found:2013/10/14(月) 16:59:33.66 ID:???
47Name_Not_Found:2013/10/14(月) 17:00:46.62 ID:???
JavaScriptスレはJavaScriptのライブラリの話題を包含しているので問題はありませんよ
JavaScriptライブラリスレでライブラリ以外の話をするのはスレ違いですが
48Name_Not_Found:2013/10/14(月) 17:01:54.11 ID:???
存在意義がなくなるので素直に移っていただけませんか?
49Name_Not_Found:2013/10/14(月) 17:02:22.63 ID:???
クズが駐在してるから本当に答えて欲しい人はID出してね
50Name_Not_Found:2013/10/14(月) 17:04:39.53 ID:???
ID出してない質問とそれに対する解答は自作自演だと思え
51Name_Not_Found:2013/10/14(月) 17:05:03.63 ID:???
存在意義がないなら落ちればいいだけでしょう
スレを分けている合理的なありません
むしろ一括して話した方が有益だと思いますよ
52Name_Not_Found:2013/10/14(月) 17:06:08.82 ID:???
別に自作自演だろうが何だろうが関係ない
解答者同士が議論するようなことにならなければいいだけ
53Name_Not_Found:2013/10/14(月) 17:06:40.76 ID:???
IDを出したい人はIDを出して質問するスレを作ってそこに常駐すればいいんです
そいういう自由をあなたは有していますよ
54Name_Not_Found:2013/10/14(月) 17:07:56.98 ID:???
>>51
ささ、こちらへどうぞ
http://toro.2ch.net/test/read.cgi/hp/1369444026
あなたのお越しをお待ちしております
55Name_Not_Found:2013/10/14(月) 17:10:27.11 ID:???
質問者がきちんと意図を伝えられるのならスレを分ける必要なんて無いんだよ
今はそういう合理的な理由でスレが分かれてるんだから秩序を乱すな
5642:2013/10/14(月) 17:11:01.14 ID:???
急いでるからはやく!
57Name_Not_Found:2013/10/14(月) 17:11:06.97 ID:???
>>55
意味が分かりません
あなたの発言は合理的ではありません
5842:2013/10/14(月) 17:11:45.15 ID:???
自己解決しました。
もう答えなくて結構です。
59Name_Not_Found:2013/10/14(月) 17:13:01.15 ID:???
ライブラリスレは半分隔離スレみたいなもの
あとは分かるな?
6044:2013/10/14(月) 17:15:14.28 ID:???
自己解決しました。
もう答えなくて結構です。
61Name_Not_Found:2013/10/14(月) 17:16:21.34 ID:???
>>58 >>60
これ系の書き込みが荒らしです
あとは言わなくても分かりますよね
そう、無視すべきです
62Name_Not_Found:2013/10/14(月) 17:18:06.37 ID:???
プログラム板のGitスレ荒らしてるのもこの屑だったのか・・・
6344:2013/10/14(月) 17:19:37.02 ID:???
なるほど
>>42=>>44=>>61
ってことか
危険人物のあぶり出しご苦労様
>>58,>>60
64Name_Not_Found:2013/10/14(月) 17:19:57.46 ID:???
>>62
見に行ったらガチだった
これは2ch運営に報告しておくわ
悪質な場合警告くるから覚悟しておけよ?
65Name_Not_Found:2013/10/14(月) 17:20:44.84 ID:???
荒らしは基本的にあまり知的資質に恵まれていないので
手法はきわめて単調で、
それを見分けることは難しくはありません
66Name_Not_Found:2013/10/14(月) 17:21:42.00 ID:???
せやなw
証拠もバラバラ落とすしww
67Name_Not_Found:2013/10/14(月) 17:23:50.11 ID:???
>>65
よくわかるw
68Name_Not_Found:2013/10/14(月) 17:27:19.05 ID:???
自分語り乙
6942:2013/10/14(月) 18:34:21.62 ID:???
>>56, >>58, >>63
勝手に人を認定したり騙らないでください
70Name_Not_Found:2013/10/14(月) 18:36:18.78 ID:???
>>17-18
Chromeはokなのかーいいのぉ
71Name_Not_Found:2013/10/14(月) 18:42:56.97 ID:???
>>70
Chromeはchrome://flags/とかで設定代えないとダメなんじゃないか?
72Name_Not_Found:2013/10/14(月) 18:51:43.32 ID:???
言語構造のforを書き換えることはできませんか?
for = window.alert
for(1)でアラートが表示するみたいな
73Name_Not_Found:2013/10/14(月) 18:53:11.85 ID:???
>>71
strict mode

>>72
window.for = alert
window.for(1)
74Name_Not_Found:2013/10/14(月) 19:01:42.38 ID:???
それは言語構造ではありません
75Name_Not_Found:2013/10/14(月) 19:04:09.44 ID:???
いいえ言語構造です
76Name_Not_Found:2013/10/14(月) 19:06:06.96 ID:???
言語構造ってphperが使う言葉ですね
77Name_Not_Found:2013/10/14(月) 19:15:03.64 ID:???
>>73
strict mode だけじゃ let 使えんぞ
78Name_Not_Found:2013/10/14(月) 19:32:20.91 ID:???
>>11
を作ってみたのですが、自分で用意したオブジェクトや
ネイティブオブジェクトの概ねではうまくいくのですが
肝心の目標のdocumentやwindowを、今回作ったもので循環参照のない形に変換して
JSON.stringifyに通すと循環参照エラーが出てしまいます
しかし、stringifyに通すオブジェクトに循環参照が無いことを確認するテストは通ります
少しソースを見てもらうことはできますか?
79Name_Not_Found:2013/10/14(月) 20:06:00.46 ID:???
ライブラリのコントロールから外れたやり方でポップオーバーメニューを表示する場合
閉じるコントロールもやらないといけないですね
クリックを検知して自分じゃなかったら閉じるみたいな
そういうのを簡単にやるにはどうしたらいいですか?
80Name_Not_Found:2013/10/14(月) 20:08:06.40 ID:???
クリックを検知して自分じゃなかったら閉じればいい
81Name_Not_Found:2013/10/14(月) 20:09:55.86 ID:???
それが面倒くさいんですが
82Name_Not_Found:2013/10/14(月) 20:12:10.31 ID:???
洒落たことはせずにHTML5要素とデフォルトコントロールで片付けろ
83Name_Not_Found:2013/10/14(月) 20:12:23.22 ID:???
ジェイクエリーオブジェクトを引数にして呼び出したら
閉じる用のクリックハンドラをセットして勝手に後処理もしてくれるような
そんな関数を作ったらいいのでしょうか
84Name_Not_Found:2013/10/14(月) 20:20:16.42 ID:???
>>79
ぐぐっても出てこないのですが、ポップオーバーメニューとは何でしょう?
85Name_Not_Found:2013/10/14(月) 20:22:08.91 ID:???
>>72
できません。
86Name_Not_Found:2013/10/14(月) 20:41:12.09 ID:???
ポップダウンメニューでした
87Name_Not_Found:2013/10/14(月) 20:41:46.37 ID:???
違った
ドロップダウンメニューでした
88Name_Not_Found:2013/10/14(月) 21:02:24.90 ID:???
>>78
を再度色んな環境で試してみたところ
Chrome以外(NodeやFirefox)のグローバルオブジェクトでは成功しましたが
Chromeではどうもうまく行きません
89Name_Not_Found:2013/10/14(月) 21:08:45.99 ID:???
> (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
90Name_Not_Found:2013/10/14(月) 21:08:56.57 ID:???
循環参照ではないはずなのに
Converting circular structure to JSON
エラーが出てしまいます
91Name_Not_Found:2013/10/14(月) 21:10:10.29 ID:gEeDrXf6
IDを出しておきます
>>11,78,88,90
92Name_Not_Found:2013/10/14(月) 21:17:54.98 ID:???
> (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
>   ※必ず「問題の事象が再現されること」を確認してください。
>    必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
93Name_Not_Found:2013/10/14(月) 21:33:37.22 ID:gEeDrXf6
コードを貼らせていただきます
http://ideone.com/wk0Pim
ideoneの表記では多少アレですが実機ではそれっぽく動いてくれると思います
94Name_Not_Found:2013/10/14(月) 21:50:20.32 ID:???
>>93
それ以前にエラーが多量に出てくるようですが…。GCで確認。
http://jsfiddle.net/LbDzE/
95Name_Not_Found:2013/10/14(月) 21:56:24.40 ID:gEeDrXf6
>>94
test1、適当な循環参照を持つオブジェクト
test2、ネイティブMathオブジェクト
までは成功して、Chromeでは
test3、グローバルオブジェクト
でエラーになると思うのですがどうですか?

NodeやFirefoxではtest3も通過してくれるかと
96Name_Not_Found:2013/10/14(月) 22:06:37.93 ID:???
>>93
'use strict' なのに eval() を使用している時点でおかしい気がする。
97Name_Not_Found:2013/10/14(月) 22:14:50.78 ID:gEeDrXf6
>>96
use strict中でもevalは使うことができます
あとparserとreplacerの部分は関数をより良く処理するためのものですので
無視されたり取り除かれたりしてもて結構です
同様に配列の扱いなど、性能動作に中途半端な点があると思いますが
「循環参照」に絞ってご指摘いただけたらと思います

>>93で言いますと
91行目で循環参照エラーが出てしまうということです
その前の85行目で一応そのチェックはしているつもりなのです
98Name_Not_Found:2013/10/14(月) 22:15:39.55 ID:???
>>95
"SecurityError: Blocked a frame with origin"
セキュリティ的な理由で異なるドメインのframeは参照できません。
99Name_Not_Found:2013/10/14(月) 22:22:59.90 ID:???
>>98
言うまでもなくそれはjsfiddleのスクリプトエラーであって
今回提示したものではないことはお分かりになると思います
10099:2013/10/14(月) 22:23:48.31 ID:gEeDrXf6
IDを出していませんでした
101Name_Not_Found:2013/10/14(月) 22:25:25.97 ID:???
>>99
現象が再現できる形でコードを掲示してください。
ideoneは違う、jsfiddleは違う、あれもこれも違うでは現象を再現できません。
102Name_Not_Found:2013/10/14(月) 22:33:42.51 ID:???
確かにグローバルオブジェクトを渡すのだから、グローバルオブジェクトが特定できる形にしないと意味がないな。
HTMLがない条件ではグローバルオブジェクトは如何様にも変化する。
103Name_Not_Found:2013/10/14(月) 22:42:26.62 ID:???
>>99
> 言うまでもなくそれはjsfiddleのスクリプトエラーであって
あなたが掲示したコード上でエラーになっていますが、エラー箇所を読んでますか?
104Name_Not_Found:2013/10/14(月) 22:44:34.52 ID:gEeDrXf6
再現してもらいやすいようにHTMLファイルにして書き直しました
http://ideone.com/CQA3e3
105Name_Not_Found:2013/10/14(月) 22:48:44.00 ID:???
>>103
なるほど
多分グローバルオブジェクトとフレームが繋がっていて
走査中に跨ごうとしてしまったんだと思います
ローカルの何もないHTML上で確認していたので気づきませんでした
ご指摘ありがとうございます
106Name_Not_Found:2013/10/14(月) 23:01:40.54 ID:???
>>105
なるほどじゃねえよ糞野郎
107Name_Not_Found:2013/10/14(月) 23:07:06.48 ID:???
>>104
ざっとしか読んでませんが、気がついた点がいくつか。
・isObject でObject型を完全に判定できていません。typeof obj === 'hoge' や typeof obj === 'function' もObject型です。
・JSONは function を許容しませんので function だった場合に文字列化する処理が必要です。
・byXJSON(xjson, nativeFunc) の nativeFuncの処理がありません。そもそも、"netive code" なfunctionに限定する意味は何でしょう?
108Name_Not_Found:2013/10/14(月) 23:13:00.71 ID:???
>>105
window にパスするように作るなら当然、frameも考慮する必要がありますが、そこは考慮しなくて良いのでしょうか。
そもそも、どこまで機能するものを求めているのか、要求仕様が見えてきません。
frameを考慮しなくて良いなら、window 以外の引数をサンプルにすべきだと思いますが。
109Name_Not_Found:2013/10/14(月) 23:13:47.16 ID:gEeDrXf6
jsfiddleで書きました
今度こそ確認していただけると思います
http://jsfiddle.net/5MBRh/1/

>>107
その3問全て>>93を見て貰えればわかると思います
>>96なんかの意見も出たので
惑わせないように本当に最低限のコードに絞りました
>>93を見ていただいた上でまだ何かありましたらお答えします
今回はとにかく、JSON.stringifyで循環参照エラーが出る謎を究明したいです
110Name_Not_Found:2013/10/14(月) 23:20:01.51 ID:gEeDrXf6
>>108
実際にはwindowを文字列化する予定はありませんが、
それに近い巨大で複雑なものが対象になると思うので
気持ち悪い現象を潰したいなあと思いまして
循環参照チェックをしてるのにエラーが出るってことは
ひょっとして文字列化する数が多いか、何かのパターンだと
エラーが出るのかもしれないと思ってまして
そうであっても何であっても、エラーが出ないように修正したいので
まずなぜエラーが起きているのかを知りたいです
111Name_Not_Found:2013/10/15(火) 00:13:04.02 ID:???
>>109
> その3問全て>>93を見て貰えればわかると思います
>>93でも Object.isObject でObject型を判定できていないように読めます。
横着せずに自分の言葉で説明してください。

それからなぜ、>>104では>>93にあったコードが削られているのでしょう?
たぶん、これでいいだろうと適当にコードを書いて再現性テストを省略してませんか?
>>109のコードがあなたの期待する結果になっているのかすら怪しく思えてきます。

> val.match(/^function [\s\S]+?}$/))
typeof演算子で判定する方がよっぽどスマートだと思います。

正直、後出し情報が多すぎて読む気が失せます。
あまりに長引くようなら適当なところで降りさせて頂きます。
112Name_Not_Found:2013/10/15(火) 00:19:58.34 ID:???
JSON.stringifyがエラーになる条件を知りたいなら
JSON.stringifyに渡してエラーになるオブジェクトを作るだけのコードを提示したらよいのでは?
113Name_Not_Found:2013/10/15(火) 00:20:04.62 ID:???
>>109には>>93にあった function 判定がないですね。
いずれにしても、
Object.isObject = Object.isObject || function () {};
こういう書き方をしている時点で isObject で判定しないといろいろとまずいと思いますが。

ところで、Object.isObject は ES6 で入るとい噂がありましたが、
http://people.mozilla.org/~jorendorff/es6-draft.html
には掲載されてませんね。
現在は仕様から抜けているのでしょうか。
114Name_Not_Found:2013/10/15(火) 00:29:00.91 ID:???
>>111
横からだけど、

> それからなぜ、>>104では>>93にあったコードが削られているのでしょう?
> たぶん、これでいいだろうと適当にコードを書いて再現性テストを省略してませんか?
> >>109のコードがあなたの期待する結果になっているのかすら怪しく思えてきます。
原因は下記じゃない?

> >>96なんかの意見も出たので
> 惑わせないように本当に最低限のコードに絞りました

必要なコード(functionの判定)まで削っちゃってる時点で本末転倒な気はするけど。

というか、事情があってコードを削っているなら始めからそう書けばいいのに、何も書かずにやって後出しするから更に怒られるんだよな。
無断で独断専行する人とコミュニケーションをとる場合は、逐一こちらがリードしてやらないといけないから大変だよ。
115Name_Not_Found:2013/10/15(火) 00:29:06.95 ID:???
空白文字で区切られた文字列を配列にしようと思います

var s = "hoge moge koge";
var r = s.match(/([^\s]+)/g);
console.dir(r);

こうしたところ、\sに全角スペースもヒットしました
望ましい動作ですが、これはJavaScriptの仕様でしょうか?
116Name_Not_Found:2013/10/15(火) 00:30:24.88 ID:LiehKfIj
>>111
>Object型を判定できていない
それは関数の場合でしょうか?
関数から伸びるメンバを追うとこのモデルでは根本的に破綻してしまうので
関数は他の値と同等なただの値として文字列化しています
このような慣用的なモデルでは関数から伸びるメンバが保有できなかったり
配列がオブジェクトに化けたりする問題を抱えますが、一先ずこう、まとめたところで、
関数をオブジェクトと見なしてないのは意図的なものです
本気でやるのなら、ディスクリプタベースのモデル+αにしないとはいけないと感じています
とりあえずこれは意図的なものです

>あなたの期待する結果
最終的にはNodeとChromeAppで互いのAPIを叩き会える機構を作ろうと思ってまして、
これはその計画の一部なので、どれも望んでいるものとは遠いとも言えますが、
限定的な機能は有していますし、何よりもローカルで試していただけると、
どれでもstringify問題が再現していただけると思います
そこは適当ではなくちゃんと確認してあげています
117Name_Not_Found:2013/10/15(火) 00:31:12.62 ID:LiehKfIj
>>111

>typeof演算子
関数は文字列化して格納してありますので、
JSON.parseのparserでは文字列状の関数を判断する必要があり、typeofは使えません

>後出し情報が多すぎ
この1点だけお願いします

JSON.stringifyで循環参照を含んで文字列化出来ないエラーが
Chromeで確認した時におきるのはどうしてでしょうか
stringifyに渡すオブジェクトのチェック(chkCir)も置きましたが
それにも引っかからず謎です
118Name_Not_Found:2013/10/15(火) 00:35:15.84 ID:LiehKfIj
>>111,113
isObjectという名前とその作り方には問題がありますね
すみません

>>112
検討します

>>114
functionを明示的に文字列化する機構を除いても
ネイティブJSON.stringifyの仕様で除外されるようになるだけなので
特に本質には関係ないと思い説明を省いてしまいました
申し訳ありません
119Name_Not_Found:2013/10/15(火) 00:38:36.89 ID:???
>>115
> 望ましい動作ですが、これはJavaScriptの仕様でしょうか?
"JavaScript" という仕様はありません。
"ECMAScript" の仕様に準拠しています。
ただし、古いIEは ECMAScript に完全準拠していないため、全角スペースを \s で認識しません。
http://www.tagindex.com/kakolog/q4bbs/2301/2684.html
120Name_Not_Found:2013/10/15(火) 00:41:54.42 ID:???
>>119
空白文字に全角空白も加えました
ありがとうございました
121Name_Not_Found:2013/10/15(火) 00:43:16.62 ID:???
>>113
> ところで、Object.isObject は ES6 で入るとい噂がありましたが、
"May TC39 Review" で Object.isObject は ES.next 仕様から削除されているみたいだね。
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#current_working_draft
122Name_Not_Found:2013/10/15(火) 00:50:48.19 ID:LiehKfIj
原因がわかったかもしれません
123Name_Not_Found:2013/10/15(火) 01:01:41.70 ID:LiehKfIj
わかりました
原因はHTMLAllCollectionでした
こいつは特定の問題解決のために

typeof document.all //"undefined"
Object.keys(document.all) //["0", "1", "2", "3", "4", "5", "length"]
みたいな特別な挙動をするのを失念しておりました

Nodeで問題ないのは当たり前、Firefoxで問題ないのはこれが無いからでした
どうもお騒がせしました
124Name_Not_Found:2013/10/15(火) 01:08:06.75 ID:???
まあいいってことよ。
俺のアドバイスが役に立ったようだな。
125Name_Not_Found:2013/10/15(火) 01:08:33.24 ID:???
ここまで全部自演
126Name_Not_Found:2013/10/15(火) 01:09:08.29 ID:???
自演とジエンドって似てるよな。
127Name_Not_Found:2013/10/15(火) 01:11:52.19 ID:???
>>116
> それは関数の場合でしょうか?
function もありますが、"Implementation-defined." も考慮しています。(>>107でも書きました)
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-typeof-operator-runtime-semantics-evaluation

Object.isObject が元々、存在するなら ES.next で入る予定だった Object 型判定を期待している可能性があります。
その場合、元々の Object.isObject とあなたが定義した Object.isObject で実装に違いが出てきてしまいます。
Object.isObject を拡張するなら厳密に Object 型を判定すべきだと思います。
標準にこだわりがなく、手前実装したいなら関数スコープの中で function isObject でも定義すべきではないかと。
128Name_Not_Found:2013/10/15(火) 01:12:58.03 ID:???
>>127
うん。俺もそう言おうと思っていた。
129Name_Not_Found:2013/10/15(火) 01:18:12.34 ID:tLPWT4cK
>>127,128
それは思いまして
>>118
で遅れて謝りました
130Name_Not_Found:2013/10/15(火) 01:28:46.85 ID:tLPWT4cK
皆さんのアドバイスのおかけで5倍くらい早く解決出来ました
本当にいろいろとどうもありがとうございました
131Name_Not_Found:2013/10/15(火) 01:29:09.12 ID:???
結局いつものパターンかよ
132Name_Not_Found:2013/10/15(火) 01:31:06.29 ID:???
ずっと俺のパターン
133Name_Not_Found:2013/10/15(火) 01:35:33.53 ID:???
>>127
オブジェクトかどうかを確実に確認できる方法ってある?
134Name_Not_Found:2013/10/15(火) 01:42:29.89 ID:???
随分必死だな
135Name_Not_Found:2013/10/15(火) 01:44:12.03 ID:???
>>133
function isObject(x){
return ["undefined", "boolean", "number", "symbol", "string"].indexOf(typeof x) === -1 && x !== null
}
136Name_Not_Found:2013/10/15(火) 01:44:16.26 ID:???
>>133
対象が「Undefined型」「Null型」「Boolean型」「Number型」「String型」「Symbol型」のいずれでもない場合に「Object型」となります。
泥臭いですが、現状ではこれしか思いつきません。
もっとスマートな方法が ECMAScript 6 で用意されていればいいんですが、どなたかご存知ですか。
137Name_Not_Found:2013/10/15(火) 01:45:01.05 ID:???
>>136無い
138Name_Not_Found:2013/10/15(火) 01:47:19.17 ID:???
こういうのはlodashのコードを見ればいいよ。

function isObject(value) {
// check if the value is the ECMAScript language type of Object
// http://es5.github.io/#x8
// and avoid a V8 bug
// http://code.google.com/p/v8/issues/detail?id=2291
return !!(value && objectTypes[typeof value]);
}

var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
};
139Name_Not_Found:2013/10/15(火) 01:50:35.96 ID:???
document.allを忘れてた
function isObject(x){
return ["undefined", "boolean", "number", "symbol", "string"].indexOf(typeof x) === -1 && x !== null || x === document.all
}
140Name_Not_Found:2013/10/15(火) 01:52:55.23 ID:???
>>139
関数はtrue?
141Name_Not_Found:2013/10/15(火) 01:55:24.07 ID:???
>>137
そうですか。残念です…。

>>138
"Implementation-defined" が考慮されてませんね。
typeof value === 'foo' だったり、typeof value === 'length' だった場合に期待通りの結果を返さないバグが存在します。
142Name_Not_Found:2013/10/15(火) 01:59:02.15 ID:???
>>139
document.all は undefined を返す仕様だから>>135でいいような。
>>135を使用してミスするならその人の実装が悪いと思う。
143Name_Not_Found:2013/10/15(火) 01:59:11.76 ID:???
>>140
YES
144Name_Not_Found:2013/10/15(火) 02:01:54.05 ID:???
>>142
でもそれじゃ標準っぽくないよね
標準のArray.isArrayの完璧さと比べたら残念
145Name_Not_Found:2013/10/15(火) 02:03:03.96 ID:???
>>139やっぱりこれダメだわ
document.allがundefinedのケースを忘れてた
146Name_Not_Found:2013/10/15(火) 02:05:52.42 ID:???
>>141
逆に"undefined"を返すオブジェクトだって現にあるわけだし……
147Name_Not_Found:2013/10/15(火) 02:07:29.37 ID:???
>>144
「document.all は意図的に ECMAScript に違反している」と HTML 5 仕様にあるから、むしろ ECMAScript に違反する結果を返す実装が正しいと思う。
ECMAScript に違反する実装が標準化されてしまっているんだから。
まあ、二律違反だし、どちらが正しいとも言い切れないんだろうけどね。

Firefox の RegExp (今は直ってるんだっけ?)でも意図的に仕様違反している実装があったと思うけど、そこまで対応して要ったらキリがない気がする。
148Name_Not_Found:2013/10/15(火) 02:10:11.47 ID:???
もっと短いの思いついた
document.allはダメだけど

function isObject(x){
return x === Object(x)
}
149Name_Not_Found:2013/10/15(火) 02:12:44.38 ID:???
>>146
document.all は意図的名違反なので、"Implementation-defined" とは別問題ではないかと。
"Implementation-defined" ははじめから決定されている仕様です。
typeof 演算子が規定にない文字列を返す時にも、対象を「Object型」と判定しなければなりません。
150Name_Not_Found:2013/10/15(火) 02:16:25.16 ID:???
それは単なる拡張であってESには関係ないし
付き合いきれませんねえ
それを考えるんなら将来のtypeof評価なんかの
オーバーロードを考えたほうがまだ価値がある
151149:2013/10/15(火) 02:26:26.94 ID:9MJsyGKD
>>150
私の誤読なら申し訳ないのですが、ESはその拡張を許しているように読めました。
"Object (non-standard exotic and does not implement [[Call]])" を tyoeof 演算子で判定する場合、どのような文字列を返すとお考えでしょうか。
152Name_Not_Found:2013/10/15(火) 02:28:29.58 ID:???
ESはあらゆる拡張を認めています
終わり
153Name_Not_Found:2013/10/15(火) 02:29:15.09 ID:???
>>138
流石lodashはダサいね
154Name_Not_Found:2013/10/15(火) 02:46:30.74 ID:???
>>148
その意義があるかどうかは別として document.all を判定するなら Object.prototype.toString を使うとか
155Name_Not_Found:2013/10/15(火) 02:49:20.20 ID:???
少なくともES6の間はそれが最善だろうね
156Name_Not_Found:2013/10/15(火) 03:03:53.50 ID:???
いいえ、Object.prototype.toString神話が通用するのはES5の間だけです
157Name_Not_Found:2013/10/15(火) 03:17:01.39 ID:???
ES6じゃなにか問題があんの?
158Name_Not_Found:2013/10/15(火) 03:48:09.93 ID:???
ある
159Name_Not_Found:2013/10/15(火) 04:00:59.39 ID:???
JavaScriptにsetter,getterは必要ですか?
160Name_Not_Found:2013/10/15(火) 04:04:06.57 ID:???
はい
161Name_Not_Found:2013/10/15(火) 04:13:43.01 ID:???
ありがとうございました
162Name_Not_Found:2013/10/15(火) 04:16:40.24 ID:???
「数値もしくは数値を表わした文字列」を検出する関数はlodashにもないのでしょうか?
isNumberでも駄目でした
163Name_Not_Found:2013/10/15(火) 04:26:06.91 ID:???
function isNumberString(x){
return x == Number(x)
}
164Name_Not_Found:2013/10/15(火) 04:57:39.85 ID:???
ありがとうございます
それだと
console.log(isNumberString(''));
これでもtrueになってしまいます
165Name_Not_Found:2013/10/15(火) 05:02:08.05 ID:???
そのくらい自分で調整しろや
166Name_Not_Found:2013/10/15(火) 05:06:47.20 ID:???
function isNumberString(x){
return x === String(Number(x));
}

これでどうですか?
167Name_Not_Found:2013/10/15(火) 05:09:42.53 ID:???
168Name_Not_Found:2013/10/15(火) 05:16:49.23 ID:???
素直に型で場合分けすれば問題なし
function isNumberString(x) {
return [false,true,x === +x+''][1+['number','string'].indexOf(typeof x)]
}
169Name_Not_Found:2013/10/15(火) 05:26:32.10 ID:???
ありがとうございます
こんな方法あるんですね
+x+''
の最初の+にはどういう意味があるのでしょうか?
170Name_Not_Found:2013/10/15(火) 05:30:05.73 ID:???
x = "123"
-x //-123
+x //123
171Name_Not_Found:2013/10/15(火) 05:46:11.20 ID:???
なるほど
String(Number(x))
と同じ意味だったのですね
ありがとうございました
172Name_Not_Found:2013/10/15(火) 06:20:23.58 ID:kEe+JSOQ
どなたか>>12これお願いします
173Name_Not_Found:2013/10/15(火) 07:12:49.96 ID:???
Array.prototype[Symbol.toStringTag] = "Baka"
Object.prototype.toString.call([]) //"[object Baka]"
174Name_Not_Found:2013/10/15(火) 10:05:27.27 ID:???
175Name_Not_Found:2013/10/15(火) 15:00:04.87 ID:???
条件文のかわりに配列と論理式を使うやり方はパフォーマンス的にはどうなのでしょうか?
配列をキャッシュしたら相当速くなりそうですが
176Name_Not_Found:2013/10/15(火) 15:20:53.44 ID:???
http://jsperf.com/jokenbun

パフォーマンス的には条件文の方がかなりいいですね
キャッシュさせてもあまりパフォーマンスはでませんでした
昔はif文は遅いなどと言われていたものですが・・
177Name_Not_Found:2013/10/15(火) 16:23:16.52 ID:???
昔?
IE8でも条件分のほうがいいけど?
178Name_Not_Found:2013/10/15(火) 16:30:28.85 ID:???
jsperfの結果を見ると大体firefoxの方がchromeより速いんだけど何で?
V8ってもう時代おくれなの?
179Name_Not_Found:2013/10/15(火) 16:36:03.71 ID:???
いつからchromeのほうが早いと思っていた
180Name_Not_Found:2013/10/15(火) 16:37:59.59 ID:???
V8が速いからnode.jsが作られたんだろ?
node.jsのエンジンを今のfirefoxのエンジンにしたら激速になるな
181Name_Not_Found:2013/10/15(火) 16:39:32.91 ID:???
そうでもない
http://arewefastyet.com/
182Name_Not_Found:2013/10/15(火) 16:40:46.55 ID:???
>>180
早いからだけではなくJS-C++バインディングが素晴らしかったから
183Name_Not_Found:2013/10/15(火) 16:41:45.25 ID:???
>>181
それグラフが上の方が速いの?
それならsafariだけ飛び抜けて速くないか
184Name_Not_Found:2013/10/15(火) 16:44:23.81 ID:???
どんどん下がってるんだから下の方が速いのか
分かりにくいグラフだな
185Name_Not_Found:2013/10/15(火) 16:57:44.98 ID:???
ベンチの結果なんて毎日変わりうる
例えばこれは全部同じマシンだ
http://jsperf.com/array-intersection-filter-vs-for-loop/4

調子の悪い時や停滞期もある
https://www.dartlang.org/performance/
186Name_Not_Found:2013/10/15(火) 17:07:18.01 ID:???
(function(global){
187Name_Not_Found:2013/10/15(火) 17:08:05.03 ID:???
(function(global){

})(window);

これをjqueryで書く場合は動書くんですか?
188Name_Not_Found:2013/10/15(火) 17:14:05.59 ID:???
var element = document.create
element.setAttribute

element.style


みたいにずらずら書くものをもっと短くしたいと思い

function newElement (tagname, attr, style) {
 var e = document.createElement(tagname);
 for (var i in attr) {
  e.setAttribute(i, attr[i]);
 }
 for (var i in style) {
  e.style[i] = style[i];
 }
 return e;
}

var element = newElement('div', { id: "foo", "class": "bar" }, { top: "0px", left: "0px" });

みたいなことをしているのですが、こういう関数を使うのは普通でしょうか
189Name_Not_Found:2013/10/15(火) 17:14:08.42 ID:???
(function(global,$){

})(window,jQuery);
190Name_Not_Found:2013/10/15(火) 17:16:16.79 ID:???
>>188
一番に考えるのはそういう動的な大量の要素の追加をしなくて良くならないかというところだと思う
関数を作るのは第二策
191Name_Not_Found:2013/10/15(火) 17:16:33.82 ID:???
その書き方ははじめてみました
$とjQueryのはみかけたことはありましたが
windowとjQueryは別物と考えるのでしょうか?
192Name_Not_Found:2013/10/15(火) 17:21:37.89 ID:???
使いやすいか、どう使うかの問題
193Name_Not_Found:2013/10/15(火) 18:26:24.95 ID:???
関数の外の変数のことを何と言いますか?
グローバル変数は一番外側の変数ですが、そこまで外側ではない変数のことです
194Name_Not_Found:2013/10/15(火) 18:46:32.01 ID:???
そのスコープのローカル変数
195Name_Not_Found:2013/10/15(火) 18:53:15.39 ID:???
chromeのデバッガでは、closureという項目に分類されてますよね
グローバル変数、ローカル変数から類推するとクロージャ変数でしょうか?
196Name_Not_Found:2013/10/15(火) 19:29:52.92 ID:???
そんな呼び方はありません
その関数からみるとたまたまクロージャに属する変数というだけで
ただのローカル変数です
197Name_Not_Found:2013/10/15(火) 19:41:52.58 ID:???
>>173,174
日本語で解説pls
198Name_Not_Found:2013/10/15(火) 19:42:47.17 ID:???
http://stackoverflow.com/questions/17387487/closure-variable-is-not-assigned
Closure Variableと固有名詞的に使われているようですが
199Name_Not_Found:2013/10/15(火) 19:47:27.07 ID:???
そう思うんなら好き勝手にオレオレ用語使えばいいじゃん
聞いた人は何だこいつって思うけどな
人の忠告は屁理屈こねずに素直に聞いたほうがいいぞ
200Name_Not_Found:2013/10/15(火) 19:52:16.62 ID:???
単に事実を語っているだけですが?
201Name_Not_Found:2013/10/15(火) 19:55:44.30 ID:???
http://stackoverflow.com/search?q=%22Closure+Variable%22

これを見てもそれなりに市民権を持った言葉だと思いますが
オレオレ用語と認定している人の根拠は何でしょうか?
202Name_Not_Found:2013/10/15(火) 19:56:09.06 ID:???
アスペだったか…
203Name_Not_Found:2013/10/15(火) 19:57:41.10 ID:???
意味不明の人格攻撃に逃げたということは
「根拠などあるはずもないが、おのれの幼児性故にそういうことにしておきたかった」
という認識でよろしいでしょうか?
204Name_Not_Found:2013/10/15(火) 19:57:51.87 ID:???
Chrome 32.0.1668 → 32.0.1671 でベンチだいぶ変わった
http://jsperf.com/jokenbun
http://jsperf.com/array-intersection-filter-vs-for-loop/4
205Name_Not_Found:2013/10/15(火) 19:58:45.47 ID:???
Javscriptでtableのtdは除いたcolspanで出来た枠の部分を指定するのってどうやったらできるんでしょうか?
206Name_Not_Found:2013/10/15(火) 19:59:23.28 ID:???
>>203荒らしは帰って、どうぞ。
207Name_Not_Found:2013/10/15(火) 20:07:14.37 ID:???
>>206
荒らしでないことは書き込みを見れば明らかですが?
208Name_Not_Found:2013/10/15(火) 20:30:55.43 ID:???
荒らしかどうかを決めるのはお前でなくて周りのやつだ
俺は荒らしだと思うから去ってくれ
↓以下、弁解や汚い自演h要らないからそのまま去れな
209Name_Not_Found:2013/10/15(火) 20:50:47.63 ID:???
>>203
別に人格批判はしてないよ
ただ普通とは違う人なら対応もかえないとね
210Name_Not_Found:2013/10/15(火) 20:55:16.04 ID:???
事実を示しているのだから事実を示して下さいね
あなたの主観の開陳が示しうるのはあなたの個人的な気持ちだけであって
外的な事実ではないのです
211Name_Not_Found:2013/10/15(火) 21:14:09.93 ID:???
俺達はお前のオカンじゃないんだわww
おんぶにだっこは簡便な
212Name_Not_Found:2013/10/15(火) 21:27:04.21 ID:???
>>211
随分ととんちんかんな解釈ですね
あなた自身を他人に投影し
鏡に向かって批判しているようにしか見えませんよ
213Name_Not_Found:2013/10/15(火) 21:28:27.20 ID:???
お前が質問してるんだろうが
頭大丈夫か?
214Name_Not_Found:2013/10/15(火) 22:50:09.75 ID:???
> (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
215Name_Not_Found:2013/10/15(火) 23:56:43.47 ID:???
こいつってずっと前から居付いてるけど
JavaScriptについて学びたいのか仕事で上手くいかなくてイライラしてるのか?
俺には理解できないんだが
216Name_Not_Found:2013/10/16(水) 00:00:02.55 ID:???
きっと難しくて理解出来ないんだよ
217Name_Not_Found:2013/10/16(水) 02:25:41.69 ID:???
マウスドラッグによる移動がchromeではキュンキュンなのですが、
firefoxではぎこちないです
fpsがあからさまに低い感じです
これはどうしようもないのでしょうか?
218Name_Not_Found:2013/10/16(水) 02:43:26.19 ID:???
日本語でOK
219Name_Not_Found:2013/10/16(水) 02:55:27.95 ID:???
fpsはframes per secondの略です
オブジェクトを横に移動すると
上から下に描画していく様が確認できるほどガビガビ感あるんですが・・
220Name_Not_Found:2013/10/16(水) 02:58:00.93 ID:???
当然AnimationFrameを使ってるんだよな?
221Name_Not_Found:2013/10/16(水) 03:01:44.94 ID:???
普通にabsoluteなdivに
マウス座標をオフセットを便宜加えた座標を書き込んでるだけです
初耳なので調べてみます
ありがとうございました
222Name_Not_Found:2013/10/16(水) 05:49:29.05 ID:???
304 Name_Not_Found[sage] 2013/08/06(火) 17:10:15.89 ID:???
要素の削除ボタンをクリックすると、その要素が削除されます
デスクトップ(body)をダブルクリックすると、要素が作成できます
削除ボタンで削除した直後にbodyをクリックすると、ダブルクリックになってしまいます
クリックイベント内でpreventDefaultとstopPropagationはしていますが、
違った種類のイベントには効き目はないですよね
意図しないダブルクリックが発生しないようにするにはどうすればいいですか?

という質問を以前にしたものですが、解決法を見つけました
bodyでダブルクリックが発生する前にはbodyで二度シングルクリックが発生しているので、
最後二つのシングルクリックを調べることでbodyがダブルクリックされたかどうかが分かります
時間はかかりましたがこのスレのおかげで解決できました
ありがとうございました
223Name_Not_Found:2013/10/16(水) 07:03:54.56 ID:???
http://jsbin.com/IheKoye/1
(ソース)http://jsbin.com/IheKoye/1/edit

absoluteな要素を、画面からはみ出るほど右の方に配置します
jqueryでbodyにハンドラをセットし、クリックすると座標をアラートするようにします
右の方にスクロールし、最初には表示されていなかったあたりをクリックしても、
イベントが起きません。
背景色的にbodyが広がっているように思うのですが、
「最初に表示されていた部分の外」はbodyではないのでしょうか?
224Name_Not_Found:2013/10/16(水) 07:09:25.94 ID:???
225Name_Not_Found:2013/10/16(水) 07:29:50.23 ID:???
縦はokなんだよね
うんうん
body {
height: 3000px;
background-color: #aaf;
}
226Name_Not_Found:2013/10/16(水) 11:17:38.16 ID:???
>>223
body要素はコンテンツのある領域が対象となります。(background-colorは例外と思って下さい)
absoluteな要素はbodyの高さと認識されないため、このままでは高さが 0 です。border を指定すればよくわかります。
http://jsbin.com/IheKoye/2/
何らかのコンテンツを入れれば、コンテンツ部分がbody要素となります。
http://jsbin.com/IheKoye/3/
上位要素であるhtml要素を含めて height: 100%; を指定すればご希望の動作になります。
http://jsbin.com/IheKoye/4/

ただ、この場合は素直に document にイベントを定義するのがいいと思います。
body要素の margin を考慮した領域にイベント定義したいなら現コードが望ましいと思いますが…。
227Name_Not_Found:2013/10/16(水) 11:22:38.88 ID:???
>>223
あと、各要素の領域は Google Developer Tools や Firebug 等で確認できるので活用して下さい。
開発者ツールについてはテンプレに入れる案がありましたが、
まだ入ってないので。何か文章を考えたほうがいいかもしれませんね…。
228Name_Not_Found:2013/10/16(水) 11:27:05.35 ID:???
>>225
頼むからmilestoneを作ってくれ
http://jsbin.com/IheKoye/1 を上書きしたら最悪元のコードがわからん(今回は予想つくが)
229Name_Not_Found:2013/10/16(水) 11:45:40.25 ID:???
>>198
stackoverflowに書かれている用語が正式な用語である保障はありません。
少なくとも、ECMAScript 5 には Closure Variable という用語はありません。
そもそも Closure という用語さえもありません。Closure は ECMAScript 5 において正式な用語ではありません。

正式な用語を知りたいなら仕様書を参照して下さい。
フォーラムに書かれている記述は全く当てになりませんし、そもそもあなたがここに書かれた情報を信用していないようです。
ご自身で解読されることをお勧めします。英語を読めないなら翻訳ツールを使えばいいでしょう。
http://es5.github.io/
230Name_Not_Found:2013/10/16(水) 12:18:46.51 ID:???
>>229
わからないのなら答えなくていいです
231Name_Not_Found:2013/10/16(水) 12:50:05.86 ID:???
ガキの喧嘩はスレの無駄づかいなのでやめて欲しい。
だいたい脳内オレオレ用語はテンプレでやめろと書いてあるんだから
そう言えば済むでしょ。それで納得しない奴を説得とか普通無理だし。
そこでどつき合い始めたら自分もガキのレベルということになるだけ。
232Name_Not_Found:2013/10/16(水) 12:57:27.50 ID:???
せやの
233Name_Not_Found:2013/10/16(水) 13:34:05.34 ID:???
要素.click(); とすると要素のonclickイベントが動かないのですが
イベントを発生させるにはdispatchEventを使うしかないのでしょうか
234Name_Not_Found:2013/10/16(水) 13:46:14.42 ID:???
まともなモダンブラウザならどんな要素でも可能なはずです
235233:2013/10/16(水) 14:01:25.17 ID:???
>>234
レスありがとうございます
試しにonclickに登録した関数を簡素なものに変えたら動きました
実クリックでしか動かないのは登録した関数の方に問題があるようなので
そっちを見直してみることにします
236Name_Not_Found:2013/10/16(水) 17:30:36.19 ID:???
>>226
よく分かりました
ありがとうございました
237Name_Not_Found:2013/10/16(水) 17:33:17.75 ID:???
JavaScriptで二つの文字列のdiffを取る方法を教えてください
238Name_Not_Found:2013/10/16(水) 17:52:09.12 ID:???
>>229
ESの仕様書の中にはないのですね
知りたいのは正式名称ではなく妥当な言葉です
なぜそれを知りたかったのかというと、呼ぶ言葉があった方が便利だからです
もしなければ作るべきだし、あるのなら使う方が公利にかなっていると思います
英語を母語とする一定数の技術者の間で実際に使われている言葉なので変ではないと個人的には思いますが
日本の技術者には通りのいい言葉ではないということは分かりました
ありがとうございました
239Name_Not_Found:2013/10/16(水) 18:00:31.51 ID:???
>>237
俺も前に調べたけどdiffのアルゴリズムがそもそも簡単じゃないし色んな方法があるね
そういうライブラリ使うか自分で実装するかしかないと思う
240Name_Not_Found:2013/10/16(水) 18:38:59.22 ID:???
>>237
「diffを取る」の定義をはっきりさせてみなよ。最低限で何箇所
挿入・削除・置換すればいいかを数えるのなら動的計画法で。
function dist(s1, s2) {
var a = new Array(s1.length+1), i, j;
for(i = 0; i <= s1.length; ++i) a[i] = new Array(s2.length+1);
for(i = 0; i <= s1.length; ++i) a[i][0] = i;
for(j = 0; j <= s2.length; ++j) a[0][j] = j;
for(i = 1; i <= s1.length; ++i)
for(j = 1; j <= s2.length; ++j) {
var x = a[i-1][j-1] + ((s1[i-1] == s2[j-1])?0:1);
var y = a[i][j-1] + ((s1[i] == s2[j-1])?0:1);
var z = a[i-1][j] + ((s1[i-1] == s2[j])?0:1);
a[i][j] = Math.min(x, Math.min(y, z));
}
return a[s1.length][s2.length];
}
241Name_Not_Found:2013/10/16(水) 18:44:34.36 ID:???
>>238
別に用語は作らなくても「クロージャに捕獲されてる変数」でいいんでは。
242Name_Not_Found:2013/10/16(水) 19:06:03.30 ID:???
>>241
よく使われる概念や事柄に名前を付けることにはほとんどメリットしかないと思いますが・・。
名称の選択には議論の余地があるかと思いますが
名前を付けるべきではないという意見は全く理解が出来ません
243Name_Not_Found:2013/10/16(水) 20:33:06.64 ID:???
>>228
これはもともとこういうコードでした
jsbinはクッキーか何かで管理していて
他の人が変更すると自動的にリビジョンを作成するようになっているようです
244Name_Not_Found:2013/10/16(水) 22:02:37.18 ID:???
document.bodyはbody要素以下を取得しますが
html文書全体を取得する方法を教えてください
245Name_Not_Found:2013/10/16(水) 22:03:14.74 ID:???
やりたいのはhtml文書全体を取得して、innerHTMLで1から書き換えたいんです
246Name_Not_Found:2013/10/16(水) 22:05:03.21 ID:???
>>242
目的は人に正しく伝える事ですよね。
ならば、用語を作る事でその用語を知らない人に伝わらないリスクがあるのでは?
正式な用語は唯一の意味を持ちますが、独自の用語は読み手によって違った解釈をされる可能性があります。
あなたが用語を作り出してそれをすべての人に説明するのなら構いませんが、毎回用語の説明から入るのは効率が悪いのではないですか。
少なくとも、万人向けではありません。
247Name_Not_Found:2013/10/16(水) 22:06:49.63 ID:???
>>244-245
XHRで取得出来ますが、innerHTMLでは書き換え出来ません。
248Name_Not_Found:2013/10/16(水) 22:20:03.16 ID:???
>>246
広まるまでは伝わらないリスクはありますが、それが人口に膾炙することで解消するでしょう
個人的には相手に分からない言葉を使う気はありません
何が万人にとっての利益となるかという問題です
ここですべてを解決しようというのではなく、あくまで問題提起です
長期的にそうなっていけばいいかと
249Name_Not_Found:2013/10/16(水) 23:03:01.97 ID:???
var o = {};
Object.defineProperty(o, 'test',
{
value: [1,3,5,7,9],
enumerable: false,
configurable: false,
writable: false
});
o.test[2] = 1000;
console.log(o.test);

配列の一部を書き換えられないようにしたいんですが
書き換えられてしまいます
writableがfalseなのになぜですか?
250Name_Not_Found:2013/10/16(水) 23:11:58.79 ID:???
>>249
それは単に「o.test = なんとか」が禁止されるだけでしょ。あなたがやってる
のは「var a = o.test; a[2] = 1000;」と同じだから書き込んではいないよね。
251Name_Not_Found:2013/10/16(水) 23:14:26.23 ID:???
自分が正しいと思う日本語でも米国で喋ったら誰も聞いてくれないでしょ。
言語というのは相対的なものだと認識しなはれ。他人に俺様用語の布教したいなら
質問スレでやるのは迷惑なのでどっかよそでやってくれ。皆様、以後スルーで。
252Name_Not_Found:2013/10/16(水) 23:51:45.83 ID:???
>>250
definePropertyは変数の書き換えはできないのですか?
253Name_Not_Found:2013/10/17(木) 01:55:08.29 ID:???
書き換え禁止なのはプロパティであってプロパティがもつ値ではない
値がプリミティブ型なら同時に変数も書き換え不可となるが
リファレンス型の場合はオブジェクト本体は他所に合って
プロパティの値としてはそれへの参照を持っているだけ
だからオブジェクト自体は書き換えできる
オブジェクトの方に書き換え禁止フラグを建てるには
Object.freezeを使う
254Name_Not_Found:2013/10/17(木) 14:49:19.16 ID:???
jQueryのAjax使ってjsonなどを取得する時
url〜&callback=jQueryの&callback=jQueryの部分をなんとかして出さない方法無いんでしょうか?
255Name_Not_Found:2013/10/17(木) 17:17:41.45 ID:???
ネットで読めるES5のセオリーとかこう書けとかそういうのおしえて
256Name_Not_Found:2013/10/17(木) 19:36:14.27 ID:???
サイズ変更操作時にカーソルを変えますが
カーソル直下の要素のcursorを変えても、動かしている途中でマウスカーソルがはみ出ます
やはりカーソル変更用の透明レイヤーを作成するのが定石なのでしょうか?
257Name_Not_Found:2013/10/17(木) 21:51:07.31 ID:???
258Name_Not_Found:2013/10/18(金) 00:20:31.33 ID:???
ここのスレから荒らしが来てたことが発覚して静かになったな
http://toro.2ch.net/test/read.cgi/tech/1380987002/
259Name_Not_Found:2013/10/18(金) 01:04:52.16 ID:???
>>258
生産性を向上させる具体的なアイデアがまったくないな
なんて不毛なスレなんだ
260Name_Not_Found:2013/10/18(金) 01:40:01.28 ID:???
>>254
そんなのがついた記憶が無いんだけど、
なんか間違ってんじゃねーの?
最小限のコードで試してみろ
261Name_Not_Found:2013/10/18(金) 02:30:49.95 ID:???
jqueryがvisibilityを切り替えるメソッドを用意してないのは何故ですか?
262Name_Not_Found:2013/10/18(金) 02:42:47.59 ID:???
「表示非表示を切り替える」とか悪い設計
「表示する」か「非表示にする」か
263Name_Not_Found:2013/10/18(金) 02:56:53.09 ID:???
非表示のままサイズを計測する時はdisplay:noneでは不可能ですよね?
そういう時のためにvisibility操作用メソッドがあってもいいと思うのですが
264Name_Not_Found:2013/10/18(金) 03:07:05.03 ID:???
>>261
書くまでもないってだけじゃね

更に先読みしますとだな
document.getElementById('id').style.display=(document.getElementById('id').style.display=='none')?'inline':'none';
265Name_Not_Found:2013/10/18(金) 03:13:56.24 ID:???
>>263
おいおい
visibilityはstyle.visibilityってのがあってstyle.displayとは別物
前者は見えなくなるだけだから計測には問題ない
用語は適切に使ってくれ
266Name_Not_Found:2013/10/18(金) 03:53:24.05 ID:???
重くなる上に可読性下がるからJQueryは使って欲しくないよー
visibilityよりCSS弄った方が軽い気がする
267Name_Not_Found:2013/10/18(金) 06:04:06.29 ID:???
>>265
だから計測するためにはdisplay:noneではなくvisibility:hiddenを使わないといけないってことだろ
268Name_Not_Found:2013/10/18(金) 06:13:09.35 ID:???
jQueryのfade系メソッドってちゃんと最初のopacityも考慮するんだね
opacityを下げた要素をfadeInしても最初のopacityを超えることがない
気が利いてるな
269Name_Not_Found:2013/10/18(金) 07:02:24.02 ID:???
>>267
おまえは>>263を読んでもまだそれが言えるのか?
270Name_Not_Found:2013/10/18(金) 07:02:55.00 ID:???
keydownイベントをdocument以外で受けることは出来ますか?
一時的に追加するDOMにハンドラをセットする場合、$dom.off()で一括削除できるので
keydownイベントもdocumentではなくその要素に付けたいです
271Name_Not_Found:2013/10/18(金) 07:07:08.62 ID:???
>>269
誤読してるのはあなたですよ
現にあなた以外の人には伝わっているのですから
「もしかして自分が間違っているのか?」と自問してから書き込んで下さいね
272Name_Not_Found:2013/10/18(金) 07:15:15.82 ID:???
駄目だこいつ
273Name_Not_Found:2013/10/18(金) 07:35:00.12 ID:???
知的強度の足りない人ほど他人を自分より馬鹿だと思いたがるから困ったものです
健康な知性とは自分の判断を疑うことのできる知性です
特に他人に対して批判的な書き込みをする場合はまず自問してから書き込んで下さいね
274Name_Not_Found:2013/10/18(金) 07:49:06.27 ID:???
いいからここでやるなよ
275Name_Not_Found:2013/10/18(金) 08:09:52.94 ID:???
そうやって触るから居着いちゃったんだろうに
276Name_Not_Found:2013/10/18(金) 08:32:43.23 ID:???
スルーで。
277Name_Not_Found:2013/10/18(金) 12:47:14.97 ID:???
もしかして質問してるの全部同じ人なの?
ここんとこ質問⇒回答⇒回答に対して噛み付く
って流れしか見ない気がするんだが

ここって実は3〜4人で回ってるのか
278Name_Not_Found:2013/10/18(金) 13:00:23.82 ID:???
ID出さないで質問してるのはみんな同じ人です
279Name_Not_Found:2013/10/18(金) 13:08:50.84 ID:???
>275とか>>277とか>>278とか他のスレでも見るけどこういう連中が一番の荒しな件
280Name_Not_Found:2013/10/18(金) 13:20:06.64 ID:???
281Name_Not_Found:2013/10/18(金) 14:04:28.12 ID:???
マウスから大量の雪を降らせるようなスクリプトを作っています
座標データを雪の数だけ大量に保持し、一番下まできたら消える
(落下速度はまちまちで先に生成されたものから消えるとは限らない)
ということをしたいのですが
配列のデータを削除する Array.splice(i,1) の処理が遅いらしく重いです
このような処理をする場合にもっとパフォーマンス的によい設計はないでしょうか?
282Name_Not_Found:2013/10/18(金) 14:06:13.48 ID:???
削除せずに再利用したらどうかな
283Name_Not_Found:2013/10/18(金) 16:04:10.26 ID:???
大量って数万個とか降らすわけではあるまい
そこは重くないはずだよ
それともプロファイリングした結果かい?
284Name_Not_Found:2013/10/18(金) 16:22:13.22 ID:???
>>279
同意
てかこれ全部同じやつだと思う
285Name_Not_Found:2013/10/18(金) 16:25:42.16 ID:???
>>282,>>283
曖昧な回答ではなく確実なものを教えて下さい
286Name_Not_Found:2013/10/18(金) 16:28:54.45 ID:???
雪が消えるたびにarrayを詰めるのはいかにもパフォーマンス悪そう
オブジェクトにしてみたら?
287Name_Not_Found:2013/10/18(金) 16:29:25.92 ID:???
288Name_Not_Found:2013/10/18(金) 16:30:12.00 ID:???
>>287
答えはNO
289Name_Not_Found:2013/10/18(金) 16:33:27.72 ID:???
>>287
ふざけないで
290Name_Not_Found:2013/10/18(金) 16:38:03.34 ID:???
>>284=285=288=289
291Name_Not_Found:2013/10/18(金) 16:40:16.69 ID:???
完全に病気です
292Name_Not_Found:2013/10/18(金) 16:41:39.53 ID:???
eval(>>291);
293Name_Not_Found:2013/10/18(金) 16:46:24.97 ID:???
3分差は基本的に自演と思っていい
294Name_Not_Found:2013/10/18(金) 16:57:58.58 ID:???
>>290=291=292=293
295Name_Not_Found:2013/10/18(金) 17:00:33.79 ID:???
>>282
データの数とループ数を固定して、削除済みのindexを別の配列に保持し
先頭の削除済みindexから順番に再使用していく感じでしょうか
確かにこの方が実用的かもしれません

>>283
見た目で判断していました
指摘され、同時に計算式を整数のみから小数を扱うものに変えていたことを思い出し
計算式を整数に戻したら軽くなったので確かにspliceはパフォーマンスに影響は少ないようです

>>286
そんな気がします
296Name_Not_Found:2013/10/18(金) 17:06:15.54 ID:???
documentに付けたkeydownハンドラでESCキー押下を検知したら
カスタムイベントを発火して、他のDOMに伝播させようと思いました
しかしカスタムイベントはdocumentまでしか到達しません
バブルダウンはしないようです?
他のDOMにもイベントを伝えるにはどうしたらいいのでしょうか?
297Name_Not_Found:2013/10/18(金) 17:12:04.97 ID:???
いや処理的にDOMの末端から上に浮かび上がってほしいので、バブルダウンはしなくていいです
DOMの末端でイベント起こすにはどうしたら?
298Name_Not_Found:2013/10/18(金) 17:32:13.80 ID:???
やっぱり分かりません
$.event.triggerってグローバルに伝播するんじゃないのでしょうか?
http://jsbin.com/aziZEkE/1/edit
output上でescキーを押しても、documentまでしか到達しないことが確認できます
299Name_Not_Found:2013/10/18(金) 17:37:15.21 ID:???
しないよ
300Name_Not_Found:2013/10/18(金) 17:51:20.97 ID:???
jQueryのtriggerはあくまで擬似的なもの
イベントを起こしているわけではない
301Name_Not_Found:2013/10/18(金) 18:25:28.30 ID:???
585 自分:Name_Not_Found[sage] 投稿日:2013/08/19(月) 01:15:39.72 ID:???
ハンドラを外す時のために参照を保持しておくのが面倒くさいです
キー名で外せたらいいと思うのですが、そういうjqueryプラグイン的なものないですか?

付ける時
$div.on('mousemove',func,'hoge');

外す時
$div.off('mousemove','hoge');

こんなイメージです

という質問を以前した者ですが、今jQueryイベントについて調べていて
$div.on('mousemove.hoge',func);
$div.on('click.hoge',func);
などと名前空間を付加しておけば
$div.off('.hoge');
で一括削除できるということを知りました〜
削除のために参照を保持しておく必要なんてなかったのでした
ありがとうございました
302Name_Not_Found:2013/10/18(金) 20:43:08.71 ID:???
モーダルウインドウ表示中は通常のキーハンドラは止まっていて欲しいのですが、
documentに後から付けたキーハンドラは通常のキーハンドラより後から呼びだされるため
stopPropagationしても時既に遅しです
後から追加したハンドラを先に呼び出されるようにする方法はないでしょうか?
303Name_Not_Found:2013/10/18(金) 20:44:46.89 ID:???
キャプチャーフェーズをリスンしろ
304Name_Not_Found:2013/10/18(金) 20:49:02.83 ID:???
ありがとうございます
たしかにそれならうまく逆にできそうです
jqueryでできるのかな
305Name_Not_Found:2013/10/18(金) 21:39:00.31 ID:1NCYwNka
すごく初歩的なことで申し訳ないのですが、location.hrefは.hrefを省いてlocationとしても良いのですか?
現在のページを「:タイトル - URL」という形式でツイートするブックマークレットを作ったのですが、これでどんなページでも正しく動作するのか(正しくエンコードできるか)不安です

javascript:location='https://twitter.com/intent/tweet?status='+encodeURIComponent('%EF%BC%9A'+document.title)+'%20-%20'+encodeURIComponent(location);
306Name_Not_Found:2013/10/18(金) 22:06:11.11 ID:???
locationはglobalProxyだからOKです
307Name_Not_Found:2013/10/18(金) 23:15:58.13 ID:???
jqueryでキャプチャリングフェーズを指定することはできなそうです
世のモーダルウインドウはどうやってイベントを止めてるんだろ
フラグ管理すれば簡単ですが、何かキレイじゃない感じがするんですよね〜
上に被さるものを下が管理する感じが
308Name_Not_Found:2013/10/18(金) 23:19:33.13 ID:???
標準のdialog要素使えば何も気にしないで出来るよ
http://demo.agektmr.com/dialog/
309Name_Not_Found:2013/10/18(金) 23:25:36.46 ID:???
ありがとうございます
それがよきにはからうのは表示部分だけで、ハンドラ関係は変更しないのでは?
表示部分は既に出来ているので変更する気はありません
310Name_Not_Found:2013/10/18(金) 23:40:43.33 ID:???
あれも嫌これも駄目じゃ話が進まんね
そんなに思い通りがいいなら自分でリスナ管理して
0から作りなおせばいいのに
311Name_Not_Found:2013/10/18(金) 23:46:29.54 ID:???
同種のハンドラを外す→優先させたいハンドラを付ける→ハンドラを付け直す
という方法を考えました
うまくいくか分かりませんが〜
312Name_Not_Found:2013/10/18(金) 23:53:37.63 ID:???
マジキチ
1つのハンドラ内でコントロールしろよ
313Name_Not_Found:2013/10/19(土) 00:05:42.73 ID:???
たしかにマジキチかもしれません
しかし本来はjquery自体が提供すべきメソッドなのです
それがないためにブラックジャッグのようなことをするはめになったのです
314Name_Not_Found:2013/10/19(土) 00:12:54.17 ID:???
次の方どうぞー
315Name_Not_Found:2013/10/19(土) 03:38:06.75 ID:???
これはプラグインあるぞと思ったらありましたー
http://plugins.jquery.com/bind-first/
ばっちり希望通り動作しました
ありがとうございました
316Name_Not_Found:2013/10/19(土) 04:12:11.74 ID:???
しね
317Name_Not_Found:2013/10/19(土) 06:41:39.24 ID:???
テキストフォームで受けきれなくなったキーが外に溢れて画面をスクロールさせる問題は
どう解決すればいいでしょうか?
tweetdeckはちゃんとガードしています
やはりよく出来たアプリは細かいところまで気がきいていますね
318Name_Not_Found:2013/10/19(土) 06:56:07.29 ID:???
そんなことはありませんし、解決の方法もありません
319Name_Not_Found:2013/10/19(土) 07:08:23.62 ID:???
解決の方法はありますよ。
あるべき、しかし難しい方法は、イベントをこぼす側つまりフォームコントロール側で止める
美しさに欠ける、しかし簡単な方法は、こぼれたイベントを受け取る側でフォーカスされているエレメントを判断して分岐する、
だと思います
ここはやはりあるべき方法を目指したいところです
320Name_Not_Found:2013/10/19(土) 07:12:59.75 ID:???
そんなことはありませんし、解決の方法もありません
321Name_Not_Found:2013/10/19(土) 07:27:20.59 ID:???
>>319
解決法があるならコードを示して下さい。
322Name_Not_Found:2013/10/19(土) 12:08:52.40 ID:???
>>261
> jqueryがvisibilityを切り替えるメソッドを用意してないのは何故ですか?

表示に関する処理はCSSが担当だからです。
jQueryはDOM操作をするものです。

アニメーションはCSSだけでやるには機能が少ないためにやってるだけで
本来はデザインに関するものはCSSの担当です。
323Name_Not_Found:2013/10/19(土) 12:27:47.95 ID:???
>>321
あると考えることと方法が分かることは別です
324Name_Not_Found:2013/10/19(土) 12:31:55.26 ID:???
カーソルが左端にある時に左に移動しようとしたらpreventDefault
右端にある時に右に移動しようとしても同様
で防げそうです
325Name_Not_Found:2013/10/19(土) 12:48:33.95 ID:???
>>323
方法がわからないのなら、解決法があるとは限らないという事です。
326325:2013/10/19(土) 12:55:30.61 ID:6xzVOmWZ
firefoxでのブックマークレットに関する質問なのですが、

javascript:
document.body.innerHTML = 'AAA';

というブックマークレットを実行したところ、firefoxのみページ遷移が発生し、
アドレスバーが
javascript: document.body.innerHTML = 'AAA';
となってしまいます。(他ブラウザでは元ページのままちゃんとbody内HTMLが変更されます)

また、即時関数を用いて、
javascript:
(function(){document.body.innerHTML = 'AAA';})();

としたところ、他のブラウザと同様に正常に動作いたしました。

firefoxだけこのような挙動を示すのはなぜかお分かりになる方はいらっしゃいますか。
firefoxではこの例以外にもブックマークレットからappendChildなどで要素を追加した場合にも
ページ遷移が発生し、アドレスがブックマークレットのスクリプトになる現象を確認しています。

firefoxのブラウザの仕様にお詳しい方いらっしゃいましたら是非ともご教授お願いいたします。
(>_________<)
327Name_Not_Found:2013/10/19(土) 13:04:57.28 ID:???
>>325
「出来ることは分かるが、どうするかはまだ分からない」
ということに向って行くのがものを作るということです
328326:2013/10/19(土) 13:07:10.99 ID:6xzVOmWZ
あ、名前間違えてましたw
325じゃなくて326です
329Name_Not_Found:2013/10/19(土) 13:09:14.98 ID:???
330Name_Not_Found:2013/10/19(土) 13:55:20.84 ID:???
http://jsbin.com/ImIvAco/1/edit

キャレットの位置を知りたくてselectionStartを確認するコードを書いてみたのですが
挙動が不可解です
一文字入力すると0
それを削除すると1
になります
そこから更にbackspaceすると0に戻ります
chromeでもfirefoxでも同じです
キャレットの位置を正確に表わしていないように思えますが何故このような動作になるのでしょうか?
331Name_Not_Found:2013/10/19(土) 13:57:54.89 ID:???
あっ(察し
keydownだから移動する前を位置を取得してるだけでした
お騒がせしました
332Name_Not_Found:2013/10/19(土) 14:05:41.42 ID:???
>>326 要するにバグなんじゃね?
333Name_Not_Found:2013/10/19(土) 14:28:00.40 ID:???
chromeで、
テキストフォームからアンフォーカスした時、一瞬だけマウスカーソル形状がpointerになります
ある特定の場所をクリックしてのアンフォーカスをした時だけです
どうも非表示のポップダウンメニューのcursor指定に反応しているっぽいです
ためしにbodyにcursor:defaultを設定してみたら直りました
やはりバグでしょうか?
bodyにはcursor:defaultを指定すべきなのでしょうか
334Name_Not_Found:2013/10/19(土) 15:13:24.75 ID:???
>>317の件ですが、キャレット位置を判定してpreventDefaultする方法で問題なく出来ました
ありがとうございました
335Name_Not_Found:2013/10/19(土) 17:04:04.14 ID:???
要素の座標を動かす場合にCSSの値を変更する以外の方法ってありますか?
336Name_Not_Found:2013/10/19(土) 17:20:42.31 ID:???
windowの位置を動かしてください
337Name_Not_Found:2013/10/19(土) 19:41:52.92 ID:bEFQ9cM2
URLをエンコードしたいのですが、探してみると以下の3つの関数がありました

escape
encodeURI
encodeURIComponent

これらの違いはなんでしょうか?
また、どれを使えばいいのでしょうか?
338Name_Not_Found:2013/10/19(土) 19:54:00.38 ID:???
URLをエンコードするのならescape
URLの為にエンコードするのならそのURLの仕様に従って残りの2つ
339Name_Not_Found:2013/10/20(日) 03:47:57.44 ID:???
+function ($) { "use strict";

bootstrapでこういう表記を見たのですが
最初の+の意味は何ですか?
340Name_Not_Found:2013/10/20(日) 04:00:25.71 ID:???
関数文ではなく関数式ってこと
341Name_Not_Found:2013/10/20(日) 04:11:41.77 ID:OsVF/bFW
Javascriptを用いてスマートフォンのWeb上でパノラマ写真を表示し、
初期は画像の中心でドラッグで画像の視点を動かしたいと考えています。
どのように作っていけばいいでしょうか?
342Name_Not_Found:2013/10/20(日) 04:25:23.92 ID:???
ありがとうございます
何にも代入してない関数式?って思ったらこれで即時関数なんですね
343Name_Not_Found:2013/10/20(日) 04:27:11.72 ID:???
即時関数が関数式なことを示していてよさそうって思ったけど
JShintでエラー出るな・・
344Name_Not_Found:2013/10/20(日) 04:32:02.57 ID:???
hintはこんな所気をつけたらいいのねと分かったら外すのが吉
345Name_Not_Found:2013/10/20(日) 04:33:11.59 ID:???
気をつけてもミスをするのが人間。
人間のことをよく知りましょう。
346Name_Not_Found:2013/10/20(日) 04:35:32.91 ID:???
潜在的なエラーも見つけてくれるから常時使う方が吉だと思うけど
347Name_Not_Found:2013/10/20(日) 04:43:24.81 ID:???
エラーなんて実行すれば分かるがな
348Name_Not_Found:2013/10/20(日) 04:44:24.48 ID:???
bootstrapのコードは行末セミコロンもないしifを{}なしで書くし、読みにくいですね
行末セミコロンがないと次の行に続いているのか続いていないかを
いちいち次の行を見て判断しないといけないので特に読みにくいです
twitterともあろうものが何故こんなくそコードを書いているのでしょうか
クロックフォードに叱ってほしいものです
349Name_Not_Found:2013/10/20(日) 05:00:58.33 ID:???
荒らしたいのは分かるけどさ
もういいよその話は
この前クロックなんちゃらは時代遅れ、NPMスタイルが至高ってので決着付いたろ
350Name_Not_Found:2013/10/20(日) 05:17:57.54 ID:???
荒らす気なんてないですよ
やはりlint/hintのメリットは大きいと再確認しただけです
確実にコードのクオリティが上がりますので
351Name_Not_Found:2013/10/20(日) 05:25:47.95 ID:???
実行してもわからないエラー(問題点)を
指摘するのがjshintなのに。
まったくわかってないなぁ。
352Name_Not_Found:2013/10/20(日) 05:28:36.33 ID:???
>>351
同意
「気付かなかった、アブネー」っていうことがたびたびあるからもう手放せない
353Name_Not_Found:2013/10/20(日) 05:45:51.74 ID:???
馬鹿なエラー出すし重いし役に立たないから俺は速攻やめたな
使うにしてもいっぱい機能無効にしないと糞だし悪品だわ
354Name_Not_Found:2013/10/20(日) 05:51:52.51 ID:???
たしかに少し待つけどそんなにしょっちゅう使うものでもないじゃん
一段落ついたら実行くらいの頻度だよ
355Name_Not_Found:2013/10/20(日) 06:01:02.91 ID:???
jshintでエラーなんて聞いたことないし、
役に立つし、いっぱい機能無効にしないとって
それお前が書くコードに問題がありすぎってことじゃねーかw
356Name_Not_Found:2013/10/20(日) 06:02:12.70 ID:???
353「俺のコードは問題があるとたくさんエラーが出る。エラーを無視するように設定しないと使い物にならない」
357Name_Not_Found:2013/10/20(日) 06:10:45.47 ID:???
構文エラー以外でも警告が出てうざいってことでしょ
分かるよ
358Name_Not_Found:2013/10/20(日) 08:21:38.17 ID:???
智恵子は東京に空がないという
くそコードだから警告出してくれてるのにそれをうざいという
359Name_Not_Found:2013/10/20(日) 08:33:36.68 ID:???
必要だが表示したくない要素を見えなくしたい時、
よく座標をマイナスにしますが
この値の大きさはパフォーマンスに影響を与えるのでしょうか?
360Name_Not_Found:2013/10/20(日) 09:43:28.11 ID:???
bootstrapのgraphiconってどういう仕組みなんですか?
361Name_Not_Found:2013/10/20(日) 11:02:11.26 ID:???
ぐらひ婚ですか?
なんでしょうね。
グラファイ婚かもしれません。
362Name_Not_Found:2013/10/20(日) 11:56:52.64 ID:???
なんでアウトラインフォントみたいなことが出来るのか分かりません
HTML5の機能?
363Name_Not_Found:2013/10/20(日) 12:08:59.76 ID:???
最初の文字を入力したら自動的に候補が出る機能ってJSでどうやって実装したらいいんですか?
一文字入力するごとに逐次検索してたら場合によっては激重になるだろうから
インデックス化とかするんだと思うのですが
そういうライブラリとかあるんですか?
364Name_Not_Found:2013/10/20(日) 13:51:52.81 ID:???
外部JSの読み込みに、

<script src="..." charset="UTF-8" ....
          ~~~~~~~~~

と、charset属性が指定されてることがありますが、これは付けた方がいいのでしょうか?
読み込み、解釈が速くなるのかも知りたいです
365Name_Not_Found:2013/10/20(日) 17:33:41.11 ID:???
>>363
JSで実装すべきことじゃない
HTML5のautocompleteとdatalist要素を使う

>>364
同じ文字コードなら不要
早くなるとかそういうものではない
パフォーマンス厨消えろ
366Name_Not_Found:2013/10/20(日) 17:35:47.90 ID:???
>>364
該当JavaScriptファイルにContent-Typeヘッダが出力されていれば不要です。
367Name_Not_Found:2013/10/20(日) 19:33:45.42 ID:???
パフォーマンスは重要な要素だろ
アホなのか?
368Name_Not_Found:2013/10/20(日) 19:39:10.66 ID:???
charsetがどうのこうのでパフォーマンスがどう変わるかなんて
とても複雑な問題だし効果も数値として出るかどうかってレベル
つまり気にしても無駄
もっと他に気にするべきことがあるはず
パレートの法則を知れ
369Name_Not_Found:2013/10/20(日) 19:52:25.30 ID:???
低レベルな奴ほど 気にしても無駄(キリッ とか言っちゃうよな
370Name_Not_Found:2013/10/20(日) 19:58:46.38 ID:???
お前の為を思って言ってやってんだよ
371Name_Not_Found:2013/10/20(日) 20:11:19.42 ID:???
思わなくて結構です^^;
372Name_Not_Found:2013/10/20(日) 20:12:33.92 ID:???
気になるなら自分で計測すればいい。

content-typeでやっている処理を考えれば、
そんなもので差がでないのは誰でも当然だと思う話。
もし違えば、驚きだからそういうデータを示せば良い。

ヒーローになれるとおもうよ。
プロならやらなくてもわかる常識を
覆すことになるわけだから。
373Name_Not_Found:2013/10/20(日) 20:13:40.65 ID:???
>お前の為を思って言ってやってんだよ

きもい
374Name_Not_Found:2013/10/20(日) 20:15:32.37 ID:???
まーたマルチ商法・カルト宗教信者が沸いてんのか
押し付けがましいったらありゃしないな
375Name_Not_Found:2013/10/20(日) 20:40:55.14 ID:???
>>365
ありがとうございます
動的にdatalistタグを設定すればいいんですね
ただ数十ワード程度ならいいですが、
ワードが数千くらいになったらDOMの操作が重くなりすぎるのではないでしょうか
376Name_Not_Found:2013/10/20(日) 20:47:16.83 ID:???
ワードが数千になってから言え
無用な心配ばかりしていては先に進まん
細かいことまで想定してるのならはっきり事前に全部言え
377Name_Not_Found:2013/10/20(日) 21:22:26.63 ID:???
IEで画面をクリックしたらたまにウインドウが最小化するという謎の現象が出ています
考えられる原因は何でしょうか
378Name_Not_Found:2013/10/20(日) 21:24:48.07 ID:???
最小化ではなく非アクティブ化でした
379366:2013/10/20(日) 21:40:59.05 ID:???
>>364
あえてパフォーマンスに言及するなら、文字コード判別は始めにContent-Typeヘッダで行うので、Content-Typeで文字コードを指定すべきです。
380Name_Not_Found:2013/10/20(日) 21:52:22.34 ID:???
ブラウザがContent-Typeヘッダを信用するとは限らないんだが
それぞれのブラウザでいろんな工夫をしてるからな
381Name_Not_Found:2013/10/20(日) 22:24:57.37 ID:???
てか今は全部UTF-8だから何も気にすることはないだろ
382Name_Not_Found:2013/10/20(日) 22:32:06.28 ID:???
>>376
より汎用的な方法を探っているだけです
否定することで話が進むんですよ
それが弁証法です
383Name_Not_Found:2013/10/20(日) 23:17:04.93 ID:???
アルゴリズム、方法ってのは向き不向きがあるんだが……
汎用的でパフォーマンスもいい銀の弾丸なんてありません
384Name_Not_Found:2013/10/20(日) 23:28:05.46 ID:???
datalist使うのはアルゴリズムじゃなくてソリューションですよ
JavaScriptはプログラム言語なんだからアルゴリズムで解決できます
385Name_Not_Found:2013/10/21(月) 00:31:31.62 ID:???
こいつ知恵袋で散々舐めた質問と受け答えして嫌われた初心者に似てるな
386Name_Not_Found:2013/10/21(月) 00:38:04.45 ID:???
>>382
ではデータが数億個になったらどうしますか?
量によって最適なやり方は変わってくるんですよ?
それぐらい知ってますよね?
387Name_Not_Found:2013/10/21(月) 01:08:44.13 ID:???
388Name_Not_Found:2013/10/21(月) 01:24:11.17 ID:???
>>375,382,386
まず、あなた自身で試してから問題提起して下さい。
実験もせずにこうなるんじゃないか、ああなるんじゃないか、と不安になるのは時間の無駄です。
弁証法は哲学で通用する論理であってプログラミングならより実証的であるべきです。
389Name_Not_Found:2013/10/21(月) 01:51:21.82 ID:???
>>388
試した結果だ。はい論破。
390Name_Not_Found:2013/10/21(月) 02:04:00.40 ID:???
>>389
なら実証コードを示せよ
391Name_Not_Found:2013/10/21(月) 02:07:47.73 ID:???
はい論破()
392Name_Not_Found:2013/10/21(月) 02:33:02.74 ID:???
>>390
ほしい?w
393390:2013/10/21(月) 02:35:26.06 ID:???
欲しいです
私の敗北を認めますのでください
どうかお願いします。モニターの前で土下座してますのでお願いします
394Name_Not_Found:2013/10/21(月) 02:37:57.72 ID:???
あげない♪
395Name_Not_Found:2013/10/21(月) 02:40:20.20 ID:???
また完全勝利してしまった・・・
敗北を知りたい
396Name_Not_Found:2013/10/21(月) 02:53:28.65 ID:???
精神年齢が小学生並みだねぇ
397Name_Not_Found:2013/10/21(月) 03:05:33.37 ID:???
>>387
MUSTの助詞でそれを守るように規定されてんの?
もっと言えばタグsrcを見る→ヘッダのTypeを見る→無効な時だけタグのTypeを見る
みたいになってないとロジック上差が出るとは言えないでしょ
398Name_Not_Found:2013/10/21(月) 03:11:33.11 ID:???
例えコストが高いことでも並列化やマルチスレッド化で実行時間に現れるとは限らないし……
399Name_Not_Found:2013/10/21(月) 03:17:38.78 ID:???
>>397
原文読めよ
MUSTになってるだろうが
400Name_Not_Found:2013/10/21(月) 03:27:21.87 ID:???
英文読むまでもなく「次の 優先順位を守らねばならない」とあるんだがな
MUST知ってる奴が原文詠まずに非難するとか意味わからん
こいつに限らんが、無根拠に非難する奴が多すぎ
ソースは示されてるんだからその文面に沿って反論しろよ
401Name_Not_Found:2013/10/21(月) 03:50:28.80 ID:???
順位は重要じゃないでしょ
大事なのは処理をスキップするように決められているかどうか
402Name_Not_Found:2013/10/21(月) 04:16:33.59 ID:???
スクリプト要素のエンコーディングは外部ファイルの場合
ヘッダのContent-Typeから取れなければタグのcharasetを見る
それも無ければmeta→ページと同じ
つまりは単純な理屈の上ではContent-Typeやらなんやら結局全て文字コードが同じ場合は
charsetを付けるのはサーバーがContent-Typeを送るのなら無駄な分だけ低パフォーマンス
送らないのなら付けたほうが早いと思われる
403Name_Not_Found:2013/10/21(月) 04:56:28.91 ID:???
headerのcharsetと実際の中身が違ったらどうなるの?
文字化けしちゃうよね
だからscriptで指定する方が強いと思うんだけど
404Name_Not_Found:2013/10/21(月) 04:58:14.01 ID:???
>>403
>>387のリンク先を読んでからいったら?
405Name_Not_Found:2013/10/21(月) 04:59:07.23 ID:???
そうなると、scriptタグでcharsetの指定があればheaderをいちいち解析する必要もないから
指定した方がはやそうなんだけど
406Name_Not_Found:2013/10/21(月) 05:03:57.38 ID:???
>>404
HTML文章の話ではありません
HTMLの話はHTMLのスレでしてくださいね?
407Name_Not_Found:2013/10/21(月) 05:12:57.16 ID:???
>>333
この件ですが、ポップオーバーが消えている時にも、
textフォームからfocusoutした時にはfadeToでふんわり消す、を実行していたため
消えている要素が一瞬アクティブ的になって(このあたり不明)それがカーソルを反応させているのでした
displayがnoneになっているのだからマウスが反応するのも変な気がしますが
ともかくもともと非表示の時にfadeToしないようにしたところ、現象が消えました
ありがとうございました
408Name_Not_Found:2013/10/21(月) 05:18:42.05 ID:???
>>406
HTML4.01ではHTTPヘッダにも言及されています。
思い込みで発言せずにちゃんと読みましょうね。
409Name_Not_Found:2013/10/21(月) 05:22:37.67 ID:???
消す速度をものすごくゆっくりにしたところ、
カーソルが変わるだけでなくリンクも有効で
クリックするとジャンプしました
displayがnoneでもfadeToしている間は表示されるのかな〜?
410Name_Not_Found:2013/10/21(月) 05:23:17.88 ID:???
>>408
答えになっていません
逃げずにちゃんと答えてください
411Name_Not_Found:2013/10/21(月) 05:26:17.13 ID:???
>>403
「「charasetが」」headerから送られてくるものと必ず一致してないといけないというルール
http://www.w3.org/TR/html5/scripting-1.html#the-script-element
それに基いてheaderがあればcharasetは見られない
412Name_Not_Found:2013/10/21(月) 05:27:12.14 ID:???
HTTPヘッダが全てに優先するに決まってる
原理的に考えてもそうだし、試さずに適当な事言うやつどうにかしてくれ
413Name_Not_Found:2013/10/21(月) 05:28:25.97 ID:???
>>411
だから、それが違っていたらどうなるかって話をしてるんですけど?
414Name_Not_Found:2013/10/21(月) 05:32:51.45 ID:???
違ってたらも何もheaderからContent-Typeが送られれば
100%Content-Typeに基いてエンコーディングが判断される
charsetはなんの効果も出さない、無いのと同じ、それだけ
415Name_Not_Found:2013/10/21(月) 05:42:26.93 ID:???
http://jsbin.com/adoquco/2/edit

再現コードが書けました\(^o^)/
openをクリックすると黒いボックスが出ます
closeをクリックすると閉じます
close with fadeをクリックすると、ボックスは消えますが、領域は生きていて、マウスも反応します
その後は別にエラーもでていないのに、openをクリックしても何も起きなくなります
何故こんな挙動になるのでしょうか?
416Name_Not_Found:2013/10/21(月) 05:48:00.33 ID:???
chromeだけかと思ったらfirefoxでも起きますね
417Name_Not_Found:2013/10/21(月) 09:29:59.36 ID:???
Chromeでyieldを使いたいのですがどうすればよいですか?
V8 3.20.17.15です
418Name_Not_Found:2013/10/21(月) 09:42:14.21 ID:???
>>414

なお、data:text/plain;charset=sjis,あいう
だと文字化けし、
data:text/plain;charset=utf8,あいう
だと文字化けしない模様
419Name_Not_Found:2013/10/21(月) 10:37:27.17 ID:???
>>413に触るな
他のスレでも質問しまくってる
ただの愉快犯のゴミカスだから
420Name_Not_Found:2013/10/21(月) 11:03:32.01 ID:???
正規表現エスケープはどうするのが一番いいですか?
421Name_Not_Found:2013/10/21(月) 11:06:12.82 ID:???
こういうのはlodashが実装していて欲しいのですがないみたいですね
422Name_Not_Found:2013/10/21(月) 13:24:00.43 ID:???
lodashはおんぶにだっこツールではありませんw
423Name_Not_Found:2013/10/21(月) 14:21:14.79 ID:???
>>420
UnicodeEscapeSequenceに変換する
424Name_Not_Found:2013/10/21(月) 14:40:04.95 ID:???
正規表現で使われる特殊文字のみエスケープしたいってことでしょ?
425Name_Not_Found:2013/10/21(月) 15:25:20.64 ID:???
http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex

これでいーじゃん
string.replace(/\W/g, '\\$&')
426Name_Not_Found:2013/10/21(月) 16:04:38.44 ID:???
それでは関係ない文字までエスケープされてしまいます
427Name_Not_Found:2013/10/21(月) 17:06:13.91 ID:???
具体的にどうしたいの?
たとえば /[入力文字列]/ の場合だと
[]内は多くがエスケープ不要だから違ってくる
428Name_Not_Found:2013/10/21(月) 18:21:06.15 ID:???
ここに載っているようなことです
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions

function escapeRegExp(string) {
return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
}

コピペすれば出来ますが、こんなものはライブラリで実装していて欲しいのです
429Name_Not_Found:2013/10/21(月) 18:59:36.60 ID:???
必要だと思うなら自分でライブラリに追加したらいいじゃん?
430Name_Not_Found:2013/10/21(月) 19:15:59.87 ID:???
ライブラリの作成者が追加すれば一人分の作業コストですみますが
利用者がおのおの追加したら作業コストは膨れあがります
だから源流で修正するのがベストなのです
431Name_Not_Found:2013/10/21(月) 19:22:32.33 ID:???
>>428
「ようなこと」じゃわからないんだけど、具体的には
432Name_Not_Found:2013/10/21(月) 19:33:05.10 ID:???
なんだ解決方法を探ってるんじゃなくて
自分の案を入れて欲しいってだけなのね
pullrequest投げてしね
433Name_Not_Found:2013/10/21(月) 19:36:31.35 ID:???
> (4) 常に自発的に調べる心構えを持ってください。
>   具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
>   わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
434Name_Not_Found:2013/10/21(月) 19:41:04.08 ID:???
ECMAScriptで実装して紅の
435Name_Not_Found:2013/10/21(月) 20:21:09.10 ID:???
お前しか使わんものを実装しても仕方がない
436Name_Not_Found:2013/10/21(月) 20:58:28.04 ID:???
いくつかのブロックが並んでいまして左右に巡回スクロールできるとします
12345
例えばこの内4つ見えるとしたら
|1234|←
|2345|←
|3451|→
|2345|→
|1234|→
|5123|
というイメージです
ここまではいいのですが、例えば7つ見える時に
|1234512|→
|5123451|←
|1234512|←
|2345123|
のようにしたいのです
ここで問題なのですが、
例えば
|1234512|
の状態で左の1に起きたことをそのまま右の1にも起こしたいといいますか、
1つのものをなんとかオブジェクトの参照コピーのように複製して配置できないでしょうか
437Name_Not_Found:2013/10/21(月) 21:02:02.31 ID:???
>>432
最初から「一番いい方法は何ですか」と言っていますが?
438Name_Not_Found:2013/10/21(月) 21:03:37.13 ID:???
>>435
正規表現のエスケープなんてごく一般的な処理の一つです
439Name_Not_Found:2013/10/21(月) 21:04:31.00 ID:???
いろいろ方法教えてもお前受け入れる気ないじゃんw
440Name_Not_Found:2013/10/21(月) 21:06:18.63 ID:???
いい方法は受け入れますよ
当たり前のことです
441Name_Not_Found:2013/10/21(月) 21:07:03.15 ID:???
回答者の回答にちゃんと駄目だしするのも質問者の使命ではないですか?
俺はそう考えています
442Name_Not_Found:2013/10/21(月) 21:08:44.82 ID:???
却下されることが不快なら最初から答えないことです
そんな人の意見は大抵たいしたことはないので
443Name_Not_Found:2013/10/21(月) 21:12:31.62 ID:???
要件を出せない質問に答える必要はないね
以後スルーで
444Name_Not_Found:2013/10/21(月) 23:44:26.71 ID:???
>>436
それって DOM の話?
なら現状 cloneNode とかするしかないような
SVG なら use 要素使えるけど
445Name_Not_Found:2013/10/22(火) 00:42:17.92 ID:???
例えば片方のリンクにフォーカスがあたったとしたら
もう片方も同じ表示にしたいんです
SVGなら可能ということですがforeignObjectはどうなのでしょうか
446Name_Not_Found:2013/10/22(火) 01:17:22.40 ID:0ptdTFsS
かなりサイズの大きな画像を表示させようと考えています。
スマートフォンで見た場合縮小されて表示されるのですが、
これを縮小せずに表示させることは可能ですか?
447Name_Not_Found:2013/10/22(火) 01:29:43.37 ID:???
WebアプリってC#アプリ作るより10倍くらい工数かかるのに1/10の単価だよね。ITドカタってバカなの?
http://engawa.2ch.net/test/read.cgi/poverty/1382369202/

質問です。
JavaScript使いの皆さんが馬鹿にされてますが、どうしてでしょうか?
448Name_Not_Found:2013/10/22(火) 02:05:14.03 ID:???
JSerは覚えることが多いので充実してるし周りの評判なんて気になりません
449Name_Not_Found:2013/10/22(火) 03:06:23.67 ID:???
初心者向けとされる言語は馬鹿にされがちだけど
実際には初心者向け言語を馬鹿にする奴ほどC級なんだよね
しかもJSは実際には全然初心者向けじゃないという
450Name_Not_Found:2013/10/22(火) 04:36:34.50 ID:???
documentオブジェクトは"document"という自分を表わす文字列を持っていますか?
451Name_Not_Found:2013/10/22(火) 04:48:52.80 ID:???
NO
452Name_Not_Found:2013/10/22(火) 05:23:08.24 ID:???
そうですか
ありがとうございました
453Name_Not_Found:2013/10/22(火) 05:28:56.28 ID:???
配列の存在しないインデックスが叩かれた時
undefinedではなく0を返してほしいのですが
どのように組んだらいいのか検討もつきません
どうか教えてください
454Name_Not_Found:2013/10/22(火) 06:24:17.52 ID:???
ラッパーをかます
455Name_Not_Found:2013/10/22(火) 06:36:32.99 ID:???
Array.prototype.__proto__ = Proxy.create({ get: function () { return 0 } })

arr = [10, 11, 12]
arr[1] // 11
arr[62566615] //0
456Name_Not_Found:2013/10/22(火) 07:35:15.79 ID:???
面白いなこれ

Number.prototype.__proto__ = Proxy.create({
get: function(target, name){
var func = Math[name];
return func.length === 1 ? func(target) : func.bind(Math,target);
}
});

x = 123;
x.sqrt.floor.pow(2); //121
457Name_Not_Found:2013/10/22(火) 07:53:01.43 ID:???
プロトタイプ汚染すんな
458Name_Not_Found:2013/10/22(火) 08:08:49.50 ID:???
Proxyは汚染にはならないよ
ただしこれはOldProxyだから列挙等をしようとするとこのままではエラーになってしまう
適切に転送するか、本当ならDirectProxyを使えば問題0
459Name_Not_Found:2013/10/22(火) 08:45:41.34 ID:???
こういうのが一番上品?

class XArray extends Array {
constructor(...arg) {
super(...arg)
return new Proxy(this, { get: (target, name) => this[name] ? this[name] : 0 })
}
}

arr = XArray(10, 11, 12)
arr[1] //11
arr[663682] //0
460Name_Not_Found:2013/10/22(火) 08:48:13.13 ID:???
swith文で、任意のcaseから希望のcaseにジャンプさせることって出来ますか?
461Name_Not_Found:2013/10/22(火) 08:50:44.37 ID:???
NO
462Name_Not_Found:2013/10/22(火) 09:01:26.24 ID:???
そうですか・・・・
ありがとうございました
463Name_Not_Found:2013/10/22(火) 09:04:25.54 ID:???
case文ってちょっと原始的すぎるのでは?
改良の余地がありますよね
464Name_Not_Found:2013/10/22(火) 13:49:38.84 ID:???
>>463
シンプルな程、効率化しやすい
任意の位置にジャンプはgoto文的で良くない気がする
下手をすれば無限ループになる
465Name_Not_Found:2013/10/22(火) 17:28:13.86 ID:???
switch部を関数に分離して
好きなように再帰すればいいと思うよ
466Name_Not_Found:2013/10/22(火) 18:51:35.56 ID:ZYsKF+Eg
HTML5/WebアプリってVBアプリの工数10倍かかるのにの人月1/2だよね。見積書いてる奴バカなの?
http://hayabusa3.2ch.net/test/read.cgi/news/1382432343/
467Name_Not_Found:2013/10/22(火) 18:58:33.53 ID:???
ベストアンサー

6 : アルゼンチンバックブリーカー(SB-iPhone):2013/10/22(火) 18:05:22.05 ID:CPH4lEqci
>>1
それは営業がクソ。
10行ぐらいのスクリプトでも4万ぐらいぼれる
468Name_Not_Found:2013/10/22(火) 22:42:01.61 ID:???
'hoge.fuge.poge'
という文字列を使って
data['hoge']['fuga']['poge']
という多重インデックスを作るライブラリありませんか?
469Name_Not_Found:2013/10/22(火) 23:05:50.27 ID:???
undefinedを上書きできるってES3まででしたっけ?
ES5ブラウザを対象とする場合は気にしなくていいですね?
470Name_Not_Found:2013/10/22(火) 23:56:36.09 ID:???
>>468
もっと具体的に

>>469
その通りだし、そもそもうっかり上書きすることなんてないから気にする必要ない
471Name_Not_Found:2013/10/23(水) 00:13:00.84 ID:???
ありがとうございました
472Name_Not_Found:2013/10/23(水) 03:19:09.47 ID:???
OSXが無料化→linux死亡→JavaScript死亡

こうですか?
473Name_Not_Found:2013/10/23(水) 05:45:03.79 ID:???
検索窓のプレースホルダーを英語にしたら長くなりすぎてフォームからはみ出ました
こういう時はどういう処理をするのが定石ですか
474Name_Not_Found:2013/10/23(水) 10:59:35.90 ID:YuBCZP20
ほっとく
475Name_Not_Found:2013/10/23(水) 20:27:21.62 ID:uuVkPahp
WebGLを始めたいのですが、多くのチュートリアルで
最低限必要な大量の初期化設定コードの意味に触れすらしないで
チュートリアルを進めたり、
せっかく生の3Dプログラミングをするのに
行列演算等で外部ライブラリを使ったりしていて
私の性格上非常に気持ちが悪くて覚えにくいです

私に合いそうなWebチュートリアルをご存知のかたがいらっしゃいましたら
どうか教えてくれませんでしょうか?
476Name_Not_Found:2013/10/24(木) 01:31:05.55 ID:Vcvey8Fb
ちょっと質問させてください。
Win8でIE10です。先代のPCがWin7のIE9だったと記憶していますが、
その先代PCで動いていたこちらのサンプルが動きません。
http://www.openspc2.org/reibun/javascript/image/016/
別のサンプルで普通にCSSのところにclip:rect(略);…と書く分にはちゃんと動作しています。
切り取る範囲を変化させたいのでJavaScriptを使いたいのですが
サンプルの
document.myIMG.style.clip = "rect(0 "+cx+" "+cy+" 0)";
の代わりに使えそうな書き方とかはないでしょうか?
477Name_Not_Found:2013/10/24(木) 06:40:46.39 ID:???
同一のボタンに、「クリック」と「長押し」を実装するにはどうしたらいいですか?
478Name_Not_Found:2013/10/24(木) 07:06:51.74 ID:???
思いつきの質問に答えてあげるほど暇ではありません
ちゃんと自分でどの方向性をどこまでやったか報告してください
479Name_Not_Found:2013/10/24(木) 07:31:31.81 ID:???
思いつきではありませんが?
今はボタンをクリックするところまで実装してます
長押ししたらメニューが出るようにしたいです
480Name_Not_Found:2013/10/24(木) 08:05:23.32 ID:???
> (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
>   ※必ず「問題の事象が再現されること」を確認してください。
>    必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
481Name_Not_Found:2013/10/24(木) 08:49:24.51 ID:xt8ka4sP
ヒント:(思いつきだけどね)
onclickが押して、離した時発生するのに対し、
onmousedownは、ボタンを押した瞬間に発生します。
482Name_Not_Found:2013/10/24(木) 08:57:16.20 ID:???
>>476
px付けてもダメ?
俺のxpのie8では再現出来ないけど
483Name_Not_Found:2013/10/24(木) 09:15:28.60 ID:???
>>415
ボタンで言うと
close with fadeはフェードアウトなので
closeの処理を入れてはだめ
いれるならopenボタンの処理

fadeToのopacity(透過)が有効なようなので
open処理でopacityを戻してあげる
484Name_Not_Found:2013/10/24(木) 16:39:11.37 ID:???
>>481
mousedownでクリック開始時間をセットしたらクリックで長押しもあっさり判定できそうですね
ありがとうございました
485Name_Not_Found:2013/10/24(木) 16:40:44.05 ID:???
長押しはマウスアップしなくても発生しないといけないので違いました
486Name_Not_Found:2013/10/24(木) 16:47:03.86 ID:???
マウスオーバーで領域アウトしたかを判定するようにして
タイムアウトでチェックで出来そうではあります
キレイにまとめるのが少し大変そうですが
487Name_Not_Found:2013/10/24(木) 17:48:42.90 ID:fpQxDEPv
onmousedown
 setTimeoutで1秒後にメニュー処理
onclick
 メニュー未処理
  clearTimeout
 
onmouseup(カーソル外した時用)
 メニュー未処理
  clearTimeout
488Name_Not_Found:2013/10/24(木) 19:30:23.93 ID:???
カーソルを外したらmouseupが発生するのですか?
489Name_Not_Found:2013/10/24(木) 19:32:01.41 ID:???
そのくらい試せ
490Name_Not_Found:2013/10/24(木) 19:38:23.27 ID:???
だってマウスボタンを上げてないのに発生したら変じゃないですか?
491Name_Not_Found:2013/10/24(木) 19:40:29.59 ID:???
クラス名とID名を同じにしたら問題あるでしょうか?
modalというクラスがあり
idをmodalにしたら、何か動作がおかしいです
でもaModalに変えたら直りました
クラス名とID名は別物だから、おかしくなる方がおかしいと思うんですが・・・
492Name_Not_Found:2013/10/24(木) 20:11:36.70 ID:???
どこかのうんこなセレクタライブラリ使ってないのなら問題ない
493Name_Not_Found:2013/10/24(木) 20:22:11.16 ID:???
自分で以前に#modalをCSS定義してたのを忘れてただけでした (>_<)
失礼しました
494476:2013/10/24(木) 21:45:13.04 ID:Vcvey8Fb
>>482
pxをつけたところ動作しました!
ありがとうございました!
495Name_Not_Found:2013/10/25(金) 00:03:48.65 ID:???
>>488
カーソルを外したらmouseoutが発生すると思うからそれを取れば。
496Name_Not_Found:2013/10/25(金) 00:55:09.40 ID:???
IE10の場合に強制的に互換モードで表示させるJavascriptって、書けないかね。
下記みたいに、meta要素を挿入してみるのは出来たが、表示には効果無かった。
<script type="text/javascript">
<!--
var targetEle = document.getElementsByTagName("meta")[1];
var newEle = document.createElement("meta");
newEle.setAttribute("http-equiv","X-UA-Compatible");
newEle.setAttribute("content","IE=emulate8;");
targetEle.parentNode.insertBefore(newEle,targetEle);
// -->
</script>
497496:2013/10/25(金) 01:05:40.94 ID:???
F12 開発者ツールでHTMLを見ると
<meta http-equiv="X-UA-Compatible" content="IE=emulate8"/>
がhead内に書き出しされてあるのだが、
確認のためにbody内に置いておいた下記スクリプトの結果を見ると――
<p>document.documentMode:<strong><script>document.write(document.documentMode)</script></p>
ドキュメント・モードは変更されずに
document.documentMode:10
のままだった。
498Name_Not_Found:2013/10/25(金) 01:07:10.66 ID:???
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。

IEの逆行化は全世界の人々に迷惑をかけるテロ的行為なのわかってんのか??
間違っても開発者に相談するな、ころされるぞ
499Name_Not_Found:2013/10/25(金) 01:13:44.92 ID:???
互換モードはIE10で半分廃止、11で完全に廃止のはず
諦めろ
500496:2013/10/25(金) 01:16:31.53 ID:???
だって、折角のIE8での達成をふいにするバグを増やしたIE9・IE10が悪いよ。

しかしマアそんなことより、純技術的にJavascriptでは不可能なのかどうかを知りたい。
501Name_Not_Found:2013/10/25(金) 01:21:39.88 ID:???
不可能じゃない
フルCanvasのオレオレレンダラ作ればいいだけ
ちょっとしたCSSやJSでなんとかなるとか甘いこと考えずに
プログラマなら根本から修正しろ
502Name_Not_Found:2013/10/25(金) 01:28:36.36 ID:???
Canvasもメソッドに頼ると誤差が出る可能性があるから
ImageDataで更新しないといけないな
503Name_Not_Found:2013/10/25(金) 01:55:59.17 ID:???
LinuxEmulatorの上でChromium動かせばいいんじゃないの
504Name_Not_Found:2013/10/25(金) 02:33:21.61 ID:???
IEよりかも問題なのは
FirefoxやChromeだよ。
互換モードそのものがない。
もう互換モードは諦めたほうがいいのではないか?
505Name_Not_Found:2013/10/25(金) 03:03:38.84 ID:???
バグが有るのならホッとけばいいのに
取り繕うから修正されないんだろ
黙って報告しておけ
506Name_Not_Found:2013/10/25(金) 04:40:30.98 ID:???
CSS/DHTMLバグ辞典スレッド【第5版】
http://toro.2ch.net/test/read.cgi/hp/1144494359/l50
507Name_Not_Found:2013/10/25(金) 05:17:34.16 ID:???
いい加減特に理由もないのにXHTML指定してくるの止めてもらえませんかね
XHTML5で書いて返しても何も言われないし
508Name_Not_Found:2013/10/25(金) 05:36:00.54 ID:???
要素を作成する前にハンドラをセットすることは出来ますか?
509Name_Not_Found:2013/10/25(金) 07:28:00.15 ID:???
createElementを上書きすることで可能になります
510Name_Not_Found:2013/10/25(金) 09:54:44.04 ID:3li5tcH1
果たして万引きっていけない事なのかなぁ?
盗られるほうがあほ!
511Name_Not_Found:2013/10/25(金) 13:39:17.07 ID:???
よう朝鮮人
512Name_Not_Found:2013/10/25(金) 14:40:38.38 ID:???
おれはJavaScriptをぶっころす。文句があるやつは今のうちに言っとけ
513Name_Not_Found:2013/10/25(金) 14:43:24.79 ID:???
口先短小チンポには何もできない
514Name_Not_Found:2013/10/25(金) 14:52:05.85 ID:???
せいぜいF5連打くらいのもんだろwww
515Name_Not_Found:2013/10/25(金) 15:21:42.80 ID:???
>>512
ガチで通報したわ
IP開示されて警官やってくるからな
516Name_Not_Found:2013/10/25(金) 19:57:04.42 ID:???
編集中のソースからCSSの色が確認できるsublimeプラグインないですか?
#eeeなどの文字列を拾って色に変換するものです
517Name_Not_Found:2013/10/25(金) 19:58:27.50 ID:???
JavaScriptってJQueryとかのライブラリ使わないと
サイト制作では、正直あんまり使いどころないな。
518Name_Not_Found:2013/10/25(金) 20:01:17.21 ID:???
HTMLと混同してね?
519Name_Not_Found:2013/10/25(金) 20:09:43.17 ID:???
https://github.com/selahssea/livecss

ありました\(^o^)/
しかしパッケージインストール出来ず、手動インストールしたらエラー出まくり
更新が2年前なので動かないようです・・
520Name_Not_Found:2013/10/25(金) 20:10:27.40 ID:???
>>517
そりゃ素人考え
jQueryでできることは全てJavaScriptで出来る
なぜならjQueryはJavaScriptのラッパーだからである
521Name_Not_Found:2013/10/25(金) 20:13:07.76 ID:???
単に静的なサイトなだけだろ
使い所ないの意味が分からん
522Name_Not_Found:2013/10/25(金) 20:26:28.87 ID:???
JQuery等のライブラリなかったころ
みんな時計とか、マーキーとか
カウンター作ってキリ番ゲットとか
マウスオーバーで色が変わる
リンクバナー作ってたのは分かるけど、
正直あの当時使い所がほかにあんまり
思いつかなかった
523Name_Not_Found:2013/10/25(金) 21:59:07.77 ID:???
黒歴史
524Name_Not_Found:2013/10/25(金) 22:17:03.94 ID:???
オブジェクトの定義の中で、
自身プロパティを呼び出して格納したいのですが可能でしょうか?
var
 objectHoge = {
  propty1: 'hoge1',
  propty2: 'hoge2',
  proAry: [
   { index1: /**ここにhoge1**/ },
   { index2: /**ここにhoge2**/ }
  ]
 }

↓これはできるのですが、気分的に同じオブジェクトに入れたくて・・・
var
 propty1 = 'hoge1',
 propty2 = 'hoge2',
 objectHoge = {
  proAry: [
   { index1: propty1 },
   { index2: propty2 }
  ]
 }
525Name_Not_Found:2013/10/25(金) 23:18:55.11 ID:???
オブジェクトを組み立てる関数を外に用意すれば出来る
526Name_Not_Found:2013/10/26(土) 03:03:17.36 ID:???
そんなことせんでもできるがな

var
 objectHoge = {
  propty1: 'hoge1',
  propty2: 'hoge2',
  get proAry(){
   var self = this
   return [
    { get index1(){ return self.propty1} },
    { get index2(){ return self.propty2} }
   ]
  }
 }
527Name_Not_Found:2013/10/26(土) 03:05:00.51 ID:???
javascriptの真髄を見たような気がした
なんじゃこのコードはwwww
528Name_Not_Found:2013/10/26(土) 03:06:15.53 ID:???
サーバサイドでやってたことをクライアントサイドでできる
くっそコスト食いのデータベース(笑)なんかもういらない
529Name_Not_Found:2013/10/26(土) 03:17:05.54 ID:???
Node.jsってだいぶん普及してるの?
使ってる人まわりで見たことないけど
530Name_Not_Found:2013/10/26(土) 04:20:23.43 ID:???
ソース中に入れ子構造のhtmlを記述すると
分かりにくくなりますが、どうやってますか?
531Name_Not_Found:2013/10/26(土) 04:51:19.27 ID:???
>>529使いどきってのがある
単なるWebサーバーやCGI的な使い方じゃ駄目
アプリケーションサーバ、特にコネクションとコネクションを中継するような処理に持ってこい
例えばサーバー側でブラウザを立ち上げてDOMやCanvasの演算をさせて返すとか
そう言った新しいやり方にも向いてる
クライアントとしても使えるし、意外とバランスよく優秀だから、広く使うのがコツ
532Name_Not_Found:2013/10/26(土) 05:09:30.52 ID:???
>>530の件ですが、
html += '</div>';
など一行ずつ分けて書いてコメント入れることにしました
ありがとうございました
533Name_Not_Found:2013/10/26(土) 05:19:41.71 ID:???
よく分からんがもし巨大なHTMLとかを入れたいのならこうね
var text = getSource(function(){/*
<html>
  <title>hello</title>
</html>
*/});

function getSource(func) {
return func.toString().match(/\n([\s\S]*)\n/)[1];
}
534Name_Not_Found:2013/10/26(土) 05:32:35.20 ID:???
それならヒアドキュメントに出来ますね
コメントとして書くとはまた頓知の効いた
ありがとうございました
535Name_Not_Found:2013/10/26(土) 07:42:56.37 ID:???
すごい技だ!
536Name_Not_Found:2013/10/26(土) 08:13:42.09 ID:???
>>530
- 外部HTMLにしてXHRでロード
- 外部HTMLにしてサーバサイドスクリプトでJSコードに変換
- テンプレートHTMLを作成してローカルでJSコードに変換してUP
537Name_Not_Found:2013/10/26(土) 08:18:27.06 ID:???
近い将来的にはHTMLのTemplate要素やES6のTemplate文字列を使うのがいいね
旬なのは>>533だと思う、一昔前はFxの実装がアレでできなかったから
538Name_Not_Found:2013/10/26(土) 08:52:00.92 ID:???
>>525,526
ありがとうございます。勉強になりました。
539Name_Not_Found:2013/10/26(土) 09:26:20.00 ID:sFjF7/3Q
ブラウザ間のキーコードの差異を吸収するようなライブラリとか、一般的な方法ってありませんか?

firefoxとchromeだと-,^などの記号系のみのキーのキーコードが結構違うようで、
その違いを吸収する地道な場合分け以外の方法どなたか知りませんか?

jqeury(2.0.3)のwhichでもそこまで対応していないようなので、あんまり需要ないんでしょうか?
540Name_Not_Found:2013/10/26(土) 09:44:47.35 ID:???
event.keyを使ってください
DOM3なので対応していないブラウザは流石に無視して構いません
http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent-key
541Name_Not_Found:2013/10/26(土) 10:31:57.90 ID:sFjF7/3Q
>>540
それなりに使っている人がいるので、ブラウザが対応していないからといって
無視するのは気が引けますが、そのへんのあまり良い方法は無いみたいですね

ありがとうございました。
542Name_Not_Found:2013/10/26(土) 10:40:32.28 ID:???
event.charとevent.keyIdentifierでいいやん
543Name_Not_Found:2013/10/26(土) 10:42:05.51 ID:???
この、ヤフー知恵遅れのベストアンダー読んでると悲しくなる。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1356099043
多くの人が、javascriptは継承ないって思ってるのだろうか?
544Name_Not_Found:2013/10/26(土) 10:48:25.02 ID:???
継承はない
クラスからインスタンスにメンバが受け継がれるのではなく
各オブジェクトが探索チェーンを接続しあって延長するだけ
545Name_Not_Found:2013/10/26(土) 11:14:15.08 ID:???
それが継承だろ
546Name_Not_Found:2013/10/26(土) 11:24:09.80 ID:???
勿論日本語ではそう言ってもいいが
プログラミング用語としては継承を語るにはJava的クラスの存在は必須
JavaScriptのオブジェクト指向システムは
Inheritance(継承)ではなくてDelegate(委譲)
方向が真逆で混同してはいけない
547Name_Not_Found:2013/10/26(土) 11:30:21.53 ID:???
言葉の違いでしかないじゃん
他のクラスやオブジェクトのメンバを引き継いでオブジェクトを作成できる、という本質には変わりない
548Name_Not_Found:2013/10/26(土) 11:33:59.01 ID:???
本質は違う
見かけが一見同じってだけ
地動説と天動説くらい違う
549Name_Not_Found:2013/10/26(土) 11:34:58.93 ID:???
いや本質は同じで見かけが違うだけだよ
550543:2013/10/26(土) 11:37:14.51 ID:???
goodpartには、「Javascriptはプロトタイプ継承を行う言語である。
それはオブジェクトが他のオブジェクトから直接継承を行うことを意味する」
と書いてあったので、継承があると考えてました。
551Name_Not_Found:2013/10/26(土) 11:38:55.93 ID:???
JavaScripterが読むべきとされているオライリーのJavaScript本にも
JavaScriptは継承ができない、なんて書いてる本はないだろ
552Name_Not_Found:2013/10/26(土) 11:42:45.62 ID:???
プロトタイプオブジェクトを継承するのであってクラスを継承するのではないから別もん
553Name_Not_Found:2013/10/26(土) 11:45:46.13 ID:???
>>551
継承できないとは言ってない
そういう「継承」という言葉は概念としての使われ方
JSのシステムに「継承」があるかといえば無い
554Name_Not_Found:2013/10/26(土) 11:47:11.41 ID:???
>>552
なるほど、javascriptはclassがないからclassを継承できないが、
オブジェクトを継承するってことですか。
555Name_Not_Found:2013/10/26(土) 11:56:48.32 ID:???
まずJavaScriptとJavaの違いも分からないような奴になんて答えるのが適切かと、
継承という言葉の用途の話は切り分けろよ

それと>>543が突っ込んでるのはBAのこのあまりに酷い文章についてだろう
>>JavaScriptはECMAScriptという規格にそって作られた簡易言語で、Javaのような便利道具はなく、継承などの再利用の仕組みも存在しません。
完全にクラス厨の脳だな

JavaScriptはJavaみたいなお固い『継承機能』じゃなくてもっと柔軟な方法を持ってるってこった
556Name_Not_Found:2013/10/26(土) 13:43:09.91 ID:???
んでこのスレの人はJAVAとかCとかも
余裕で使えるの?
557Name_Not_Found:2013/10/26(土) 16:19:28.13 ID:???
あたりまえ
558Name_Not_Found:2013/10/26(土) 18:00:46.10 ID:???
C# Java PHP Pythonぐらい
クラス厨で悪いがJavaScriptはだいぶ異端に見えるけどね
559Name_Not_Found:2013/10/26(土) 19:07:52.25 ID:???
おまえ、youtubeでjavascriptの解説とかやってんの?
560Name_Not_Found:2013/10/26(土) 19:14:34.96 ID:???
JAVAとか、Cとか使える人が、なんでJavaScriptやってるの?
趣味なら分かるけど、仕事でやるならJAVAとかCのほうが
報酬や給料高いと思うんだけど。
561Name_Not_Found:2013/10/26(土) 19:20:49.15 ID:???
作るものによって言語が決まるのであって
特定の言語を使うために作るものが決まるのではない
562Name_Not_Found:2013/10/26(土) 19:21:30.20 ID:???
>>560
Webサービスを作る仕事ならJavascriptは必須でしょ
お前それGoogleのエンジニアに対しても言えんの?
563Name_Not_Found:2013/10/26(土) 19:34:39.42 ID:???
>>560の頭はお花畑だな
564Name_Not_Found:2013/10/26(土) 19:51:44.30 ID:???
JSは理不尽さにイライラすることが少ない言語
センスがいい
565Name_Not_Found:2013/10/26(土) 23:13:41.85 ID:???
分かるわぁ
566Name_Not_Found:2013/10/26(土) 23:27:49.40 ID:???
どの言語が理不尽感じるの?
567Name_Not_Found:2013/10/26(土) 23:28:32.78 ID:???
JS って言うやつは ペドフィリア
568Name_Not_Found:2013/10/26(土) 23:33:38.58 ID:???
ロリは小中学生、ペドは小学生未満と俺の中で決めている
569Name_Not_Found:2013/10/26(土) 23:42:27.94 ID:???
>>568
おまえの定義は聞いてない
570Name_Not_Found:2013/10/27(日) 00:00:58.99 ID:???
聞かれたから答えとは言ってない
571Name_Not_Found:2013/10/27(日) 00:02:32.23 ID:???
どっちにしても JS って言うやつはヘンタイには違いがない
572Name_Not_Found:2013/10/27(日) 00:03:47.30 ID:???
同意
573Name_Not_Found:2013/10/27(日) 00:05:09.14 ID:???
つまり >>564 はヘンタイのペドフィリアってことでおk?
574Name_Not_Found:2013/10/27(日) 00:05:09.84 ID:???
拡張子最悪ですね
575Name_Not_Found:2013/10/27(日) 00:12:05.75 ID:???
御意
576Name_Not_Found:2013/10/27(日) 03:06:15.54 ID:???
女子小学生と思うとかわいく思えてきた
577Name_Not_Found:2013/10/27(日) 03:08:09.65 ID:kJDszKN0
質問です。iPhoneで見た際にタッチした座標を取得しようと考えています。
$('#box')[0].addEventListener('touchstart', touchHandler, false);
function touchHandler(e) {
e.preventDefault();
var touch = e.touches[0];
alert(touch.pageX);
};
とすると上手くいくのですが
$('#box')[0].on('touchstart', touchHandler, false);
の場合var touch の中をe.originalEvent.touches[0]に変えても
[Error] TypeError: 'undefined' is not a function (evaluating '$('#box').on('touchstart', touchHandler, false)')
とエラーが出てしまいます。
なぜでしょうか?
578Name_Not_Found:2013/10/27(日) 03:38:03.89 ID:???
$ = document.querySelectorAll.bind(document)
Node.prototype.on = Node.prototype.addEventListener


$('#box')[0].on('touchstart', touchHandler, false);
function touchHandler(e) {
e.preventDefault();
var touch = e.touches[0];
alert(touch.pageX);
};
579Name_Not_Found:2013/10/27(日) 09:24:54.45 ID:???
タブを実装することを考えますと、
グループ化した類似要素の中で、一つだけを有効にする
を実現することになると思いますが
どうやるのが一番スマートですか?
580Name_Not_Found:2013/10/27(日) 09:27:50.87 ID:???
nthセレクタとscopedStyleの上書き
581Name_Not_Found:2013/10/27(日) 09:28:26.15 ID:???
それまで有効だった要素からactiveクラスを削除し
新しい要素にactiveクラスを付ける
といったことが考えられますが
それまで有効だった要素からクラスを削除するような処理は自動化できそうな気もします
582Name_Not_Found:2013/10/27(日) 10:15:41.29 ID:???
> (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
583Name_Not_Found:2013/10/27(日) 10:53:54.26 ID:???
クリックしたURLのトップ, セカンド, サードレベルドメインを取り出したいです
yahoo.co.jpならyahoo,jp、google.comならgoogle,comというようにです
どんなURLにも対応させたいのですが、ここから分かりません
function url(info) { // クリックしたURLがinfoに入る
var url = info.replace("http://", ""); // http:// を消去
var arr = url.split("/");
var dom = arr[0]; // ドメイン名
}
ドメイン部分を.で分割して取り出すにもyahooの場合はcoがあるのでどうすればいいのでしょうか?
584Name_Not_Found:2013/10/27(日) 11:21:05.90 ID:???
再帰を行わずにフィボナッチ数列を求めたいのですができますか?
585Name_Not_Found:2013/10/27(日) 11:34:19.04 ID:???
function fib(lim) {
var arr = [0, 1]
for(let i = 2; i < lim; ++i) arr[i] = arr[i-1] + arr[i-2]
return arr
}
586Name_Not_Found:2013/10/27(日) 11:35:26.86 ID:???
>>584
ruby用でゴメン。

def fibonacci(n)
 r5 = Math.sqrt(5)
 return (((1+r5)/2)**n/r5+0.5).to_i
end

「**」はベキ乗、「to_i」は整数化。
587Name_Not_Found:2013/10/27(日) 12:03:01.59 ID:???
数列とはいったい・・・うごごご!
588Name_Not_Found:2013/10/27(日) 14:43:25.21 ID:zdSQ+uNp
>>583 ちなみに
google.co.jpはどーすんの
yahoo.comは
589Name_Not_Found:2013/10/27(日) 15:10:51.45 ID:???
>>588
google, jpとyahoo,comだけを取り出したいです
組織名と国名の部分だけ
590Name_Not_Found:2013/10/27(日) 15:43:46.10 ID:???
スキャートってなんやねん
591Name_Not_Found:2013/10/27(日) 16:17:10.87 ID:???
true/false を返す関数に、文字列を参照渡しすることで、
真偽値判定と同時に、渡した文字列まで変更したいのですが、
どのようなコードを書けばよいのでしょうか?

var strhoge = 'hoge';

if( preformStr( strhoge ) ){
 alert( strhoge ); //←ここで大文字にしたい
}

function preformStr( str ){
 if( typeof str !== 'string' ){
  return false;
 } else {
  str = str.toUpperCase();
  return true;
 }
}

当然これ↑だと、小文字のままです・・・・。
592Name_Not_Found:2013/10/27(日) 16:20:30.35 ID:???
>>589
組織名の判定ロジックはどうするの?
593Name_Not_Found:2013/10/27(日) 16:22:12.69 ID:???
>>591
参照渡しはオブジェクトでなければ不可能。
Stringオブジェクトにしてみては?
594Name_Not_Found:2013/10/27(日) 17:11:13.26 ID:???
すべての要素に行き渡るようなイベントを発するにはどうしたらいいですか?
595Name_Not_Found:2013/10/27(日) 17:29:40.65 ID:???
>>589
一番右のcomとかjpはTLDといってこれは国名だけを表してるわけでは無いです。
その左側の構造のルールはTLD毎に決められているので、
組織名に相当するものを得るにはTLD毎にルールを記述する必要があります。
このTLD毎のルールは単純なアルゴリズムでは記述できない場合が多いです。
jpドメインの場合でも、けっこうな大きさの地域名リスト等を検索して
どこが組織名に相当するかを判定する必要があります。
596Name_Not_Found:2013/10/27(日) 17:34:12.70 ID:???
>>594
「すべての要素に行き渡るようなイベント」とは何?
目的を明確に
597Name_Not_Found:2013/10/27(日) 17:36:29.79 ID:???
ハンドラを付けたすべてのDOM要素がそのイベントを受け取れるような
そういうイベントを発したいのです
598593:2013/10/27(日) 17:43:14.20 ID:???
よく考えたらStringオブジェクトは str = str.toUpperCase(); で参照が切れるな
いずれにしてもプリミティブ型では無理
599Name_Not_Found:2013/10/27(日) 17:49:18.57 ID:???
>>597
抽象的過ぎてさっぱりわからん
ハンドラを付けた要素をリストアップしてdispatchEventしたら?
600Name_Not_Found:2013/10/27(日) 18:13:19.04 ID:???
>>599
抽象的??
一般的なニーズだと思いますが
601Name_Not_Found:2013/10/27(日) 18:14:59.44 ID:???
CustomEventのことかな?
602Name_Not_Found:2013/10/27(日) 18:16:38.78 ID:???
>>600
目的がさっぱりわからんという事
そんなイベントを作って何が便利なのかわからん
回答はしたから好きにしてくれ
603Name_Not_Found:2013/10/27(日) 18:19:27.65 ID:???
>>597
勝手に補完してあげる。

(click)ハンドラを付けたすべてのDOM要素がその(click)イベントを受け取れるような
そういう(click)イベントを発したいのです

※(click)は自分の好きなものの置き換えろ。

答え clickイベント発行すれば?
604Name_Not_Found:2013/10/27(日) 18:22:10.66 ID:???
答えおかしくね
605Name_Not_Found:2013/10/27(日) 18:24:40.11 ID:???
カスタムイベントを発する→ハンドラを付けた要素がそれを受け取って、それぞれの処理をする

ということをやりたいのです
606Name_Not_Found:2013/10/27(日) 18:27:51.62 ID:???
$('#test').on('hoge',function(e){
console.log('test');
});

$(window).on('hoge',function(e){
console.log('window');
});

$(window).trigger('hoge');

こうすると、windowしかイベントを受け取りません
testにも伝播してほしいのです
607Name_Not_Found:2013/10/27(日) 18:27:58.83 ID:???
608Name_Not_Found:2013/10/27(日) 18:30:22.12 ID:???
>>605-606
Mapか配列で、要素と関数のペアを管理するといいんじゃないかな
609Name_Not_Found:2013/10/27(日) 18:31:12.02 ID:???
jQueryではなく標準のメソッドでイベントをディスパッチしてください
jQueryのtriggerはイベントを作ってるわけではなく擬似的なものです
610Name_Not_Found:2013/10/27(日) 18:32:20.26 ID:???
>>605-606
「やりたいこと」じゃなくて目的(なぜそうしたいのか)がわからんってことなんだが
なぜ同じ話を繰り返すんだ
611Name_Not_Found:2013/10/27(日) 18:32:25.63 ID:???
$('#test').on('hoge',function(e){
console.log('test');
});

$(window).on('hoge',function(e){
console.log('window');
});

$('*').trigger('hoge');

これでいいだろ
612Name_Not_Found:2013/10/27(日) 18:34:15.53 ID:???
>>611
それが正解だったら、
馬鹿すぎるとしかw
セレクタの意味をわかってねーw
613Name_Not_Found:2013/10/27(日) 18:37:08.37 ID:???
回答ありがとうございます
統合しますと、
jqueryだとキャプチャイベントを伝播させることは出来ないので
ハンドラをリストアップし、自分でよびださないといけない
ということでしょうか
jqueryでハンドラのリストアップってどうやるんですか?
614Name_Not_Found:2013/10/27(日) 18:41:14.92 ID:???
>>613
任意のタイミングで実行したいだけなら、要素にイベントハンドラを付けたりせずに、配列とかに保持しておけばいいのでは
615Name_Not_Found:2013/10/27(日) 18:43:19.78 ID:???
>>613
jQueryは無関係なんだけど、bubbling の仕組みわかってていってるの?
DOM を実装するブラウザが全ての要素に伝播するわけない
http://www.y-adagio.com/public/standards/tr_dom2_events/events.html#Events-flow
そんな仕組みが欲しいなら自前で実装しろって皆いってるんだよ
616Name_Not_Found:2013/10/27(日) 18:44:03.42 ID:???
おっしゃるとおりですがイベントシステム上でやる方がシンプルになると思うので・・
bootstrapでは
show.bs.hoge
hide.bs.hoge
などのカスタムイベントを活用しています
そういうことをやりたいのです
bootstrapはどうやって伝播させてるのでしょうか
617Name_Not_Found:2013/10/27(日) 18:45:14.01 ID:???
というかdispatchEventしろといわれてるのに何でtriggerを使うんだよ
618Name_Not_Found:2013/10/27(日) 18:48:39.90 ID:???
>>616
bootstrapは知らんが、ソース読めば解読できるんじゃないの?
なんでも人に聞いて済ませようとするなよ
教えて訓は嫌われるぞ
619Name_Not_Found:2013/10/27(日) 18:51:55.20 ID:???
>>616
イベントじゃないものを無理やりイベントでどうにかしようとしても複雑になるだけでは
620Name_Not_Found:2013/10/27(日) 18:59:23.71 ID:???
>>616
具体的にはどのAPIで全ての要素に伝播するわけ?
再現性のあるソースコードを出してくれ
http://getbootstrap.com/javascript/
621Name_Not_Found:2013/10/27(日) 18:59:59.76 ID:???
やりにくいと思ったら、
それはやり方が間違っていると思え。
622Name_Not_Found:2013/10/27(日) 19:34:14.12 ID:???
A,B,Cのいずれかのボタンをクリックしたら、A.B.C全てのボタンをクリックしたように振舞って欲しい、って質問を思い出した
今考えても、わかりにくいことこの上ないUIだな
623Name_Not_Found:2013/10/27(日) 19:54:29.16 ID:???
HTML5ではイベントはDocumentElement後globalまで伝染するようになってる
624Name_Not_Found:2013/10/27(日) 20:15:51.56 ID:???
>>623
間に document が入るのでは?
625Name_Not_Found:2013/10/27(日) 23:11:23.24 ID:???
関数を実行するときの()ってなにか名称があるのでしょうか?
626Name_Not_Found:2013/10/27(日) 23:15:28.25 ID:???
かっこ
627Name_Not_Found:2013/10/28(月) 00:56:39.03 ID:???
かっこつけんなよ
628Name_Not_Found:2013/10/28(月) 01:52:19.84 ID:???
>>617
jqueryでdispatchEventに相当するものがtriggerですが?
>>619
インシデントがイベント的なのでイベントとして実装しようとしているのです
629Name_Not_Found:2013/10/28(月) 01:57:24.84 ID:???
ハンドラをリストアップして順に呼び出す、という機能を
jqueryは標準で提供していないのでしょうか?
イベントを仮想的に実現しているのだから、
バブルアップさせたりも自在に出来ると思うのですが・・
630Name_Not_Found:2013/10/28(月) 02:06:51.13 ID:???
>>jqueryでdispatchEventに相当するものがtriggerですが?
いいえ、jQueryにはdispatchメソッドが有ります
アホですか?
631Name_Not_Found:2013/10/28(月) 02:13:52.36 ID:???
>>628
trigger のコードには dispatchEvent がありませんが?
自分の勝手な思い込みを捨てて言われたとおりにやってみてはどうですか?
632620:2013/10/28(月) 02:39:49.52 ID:???
>>628
再現性のあるコードはまだなの?
633Name_Not_Found:2013/10/28(月) 03:37:16.41 ID:???
jqueryにはdispatchEventというメソッドはありません
triggerで実装しているからです
エミュレートしているので、内部でdispatchEventを使っていなくても同様のことです
エミュレートしたイベントシステムを使っているjqueryに対して
生javascriptのdispatchEventを使うのは感覚的にマズいと
B級以上のプログラマーなら分かると思うのですが・・
634Name_Not_Found:2013/10/28(月) 05:30:15.99 ID:???
>>633
いい加減、中途半端な知識で反論⇒それに突っ込むという流れにうんざりなのですが。
なぜ自信満々に反論できるんです?
知らない知識を教えてもらう質問者の立場上、回答者のほうが正しいかもしれない(100%とはいいません)ぐらいの認識は持っておくべきだと思いますが。

> エミュレートしたイベントシステムを使っているjqueryに対して
> 生javascriptのdispatchEventを使うのは感覚的にマズいと
> B級以上のプログラマーなら分かると思うのですが・・
内部的に addEventListener を使用している jQuery に対して dispatchEvent を使っても問題ない事はJavaScriptコードを解読できるプログラマなら分かると思うのですが、違いますか?
そもそも、回答者はjQueryを要件にあげていないようですが、jQueryとdispatchEventを組み合わせる回答だとどうして判断したのですか?
jQueryを使わなければ済む話ではないのですか?

一定の回答は出ているのですから、まずはその回答に沿ったコードを書いてみるべきではないですか?
ここは自助努力を持つ質問者向けのスレッドです。あなたの物言いからは自分でコードを書いてみようという自助努力の傾向が一切見られません、典型的な教えて君です。

そろそろ、他の質問と混同するのでID出すなり、固定HNを使用すべきではないですか?( >>1 )
635Name_Not_Found:2013/10/28(月) 06:05:21.67 ID:???
違和感があるけどそうなのかなぁ?→やっぱり間違ってた
という流れが多いので
違和感を早いうちに表明しているだけです。
jqueryに対して生のイベントオブジェクトを発行するのは違和感がありますし
特にjqueryはキャプチャリングフェーズのサポートが弱いので、
それでクロスブラウザでのバブルアップはしないんじゃないでしょうか。
するというのならコードで示してください
間違った方法を提示してコードを書いてみろというのは暴論だと思いますが。
636Name_Not_Found:2013/10/28(月) 06:06:18.17 ID:???
×クロスブラウザでのバブルアップ
○クロスブラウザでのバブルダウン
でした
637Name_Not_Found:2013/10/28(月) 09:33:00.24 ID:???
それで解決するのなら普通にdispatchEvent使えばいいじゃん???
なに、縛りでもやってるの?
638Name_Not_Found:2013/10/28(月) 12:05:09.52 ID:???
javascriptでデータベースにアクセスする場合
AccessとMySQLどちらの方が使いやすいとかありますか?
639Name_Not_Found:2013/10/28(月) 12:07:51.00 ID:???
後出し条件に自演、いつものあれだな
640Name_Not_Found:2013/10/28(月) 12:27:40.17 ID:???
>>635
また、条件後出しかよ
違和感って何だよ、あんたの発言そのものが違和感だらけだからあんた試せよって返されたらあんた試そうと思うのか?
キャプチャリングフェーズなんて誰も触れてないだろ、キャプチャしないイベントで試したのか?
バブルダウンて何だよ、そんな用語がDOMのどこに出てくるんだ?
あんたが質問者なんだから試すのはそっちだろうが
間違った手法であることを証明出来てないのになぜ回答者に試させるんだよ
回答者に手間を押し付けて楽しようとする輩はスレ違いだから出て行け
641Name_Not_Found:2013/10/28(月) 12:45:57.62 ID:???
>>635-636
あなたにはもう回答する気も起きません。
あなたの為にコーディングする時間は取れませんので悪しからず。
642Name_Not_Found:2013/10/28(月) 13:12:50.72 ID:???
回答者の方へ。
下記に該当する質問はスルーする事を強く推奨します。

■慇懃無礼君の質問傾向
1. 条件を後出しする
2. 具体的な状況説明は一切せず、期待する動作だけを書く(それでも要求仕様が足りない)
3. 回答者からの質問にはスルーするか見当違いの返答を返す
4. 自分の期待通りでない回答がくると、主観的かつ感覚的な駄目出しをして受け入れない
5. 根拠のない反論、(知識不足による)頓珍漢な反論を繰り返す
643Name_Not_Found:2013/10/28(月) 14:05:28.08 ID:???
あなたより優秀で話の分かる方に回答してもらえるので答えなくて結構です
644Name_Not_Found:2013/10/28(月) 14:34:18.57 ID:???
Array.apply(null, Array(10)).map(Function.prototype.call, parseInt);
//=> [0,1,2,3,4,5,6,7,8,9]
という動作について質問です。mapの挙動については理解できたのですが、
前半について、なぜ
Array(10).map(Function.prototype.call, parseInt);
では
//=> [,,,,,,,,,]になるのでしょうか?
645Name_Not_Found:2013/10/28(月) 14:51:01.46 ID:???
Array.apply(null, Array(10))はundefinedで埋まった要素数10の配列
Array(10)は要素数10の空配列、だからmapで変化しない
646Name_Not_Found:2013/10/28(月) 14:57:11.48 ID:???
要素数じゃなくて配列の長さ、lengthと言った方が適切か
後者は要素がないからそもそも変化しないということ
647Name_Not_Found:2013/10/28(月) 15:33:34.30 ID:QcW/MzAG
>>638 node?
648Name_Not_Found:2013/10/28(月) 16:04:40.23 ID:???
不思議なコードだな
parseInt は一体何をparseしているんだろう?
配列 index だとするならArray(10).map(…) も同じ結果になりそうなものだが
649Name_Not_Found:2013/10/28(月) 16:15:12.69 ID:???
この前説明出たろ
mapは存在するインデックスに対してしか作用しない
従って空配列に適応すると元と同じ長さの空配列が帰る
650Name_Not_Found:2013/10/28(月) 16:18:30.33 ID:???
ああ、そうかわかった、ありがとう
しかし空配列って紛らわしい言葉だな
他に言い様が無いのかもしれないが
651Name_Not_Found:2013/10/28(月) 16:18:52.39 ID:???
parseIntだと内部的にString(index)してparseすることになるからNumberの方がいいね
652Name_Not_Found:2013/10/28(月) 16:19:38.43 ID:???
箱の大きさと中身は別だからね
653Name_Not_Found:2013/10/28(月) 16:45:45.32 ID:???
var arr = Array.apply(null, Array(10)).map(Function.prototype.call, parseInt);
for (var arr = [], i = 0; i < 10; i++) arr[i] = i;

どっちが高速で分かりやすいかよおくわかんだね
654Name_Not_Found:2013/10/28(月) 16:58:18.54 ID:???
よおくわかんだねってどこの言葉だ?
655644:2013/10/28(月) 17:08:35.95 ID:???
なるほど、存在している要素に対してのみ作用するmapに対し、
Array(10)で生成すると配列はlengthプロパティが10になるだけですが、
Array.apply(null,Array(10))で生成するとlengthが10になるだけではなく
きちんと要素のそれぞれが初期化されるので、うまく動く、と言うことですか。

なんというかトリッキーな仕様ですね。
皆さん回答有難う御座いました。
656Name_Not_Found:2013/10/28(月) 18:59:33.03 ID:???
ES6
var arr = [for(i of Array(10).keys()) i];
657Name_Not_Found:2013/10/28(月) 22:54:57.81 ID:???
最短は多分こうだな
var arr = [...Array(10).keys()];
658Name_Not_Found:2013/10/28(月) 23:02:00.87 ID:???
keys も map 同様に存在しないインデックスを無視するような予感
659Name_Not_Found:2013/10/28(月) 23:35:05.63 ID:???
keysのイテレーターはただ0からlength-1までのイテレートするだけ
660Name_Not_Found:2013/10/29(火) 12:23:47.57 ID:???
それはどうかな
661Name_Not_Found:2013/10/29(火) 13:31:44.28 ID:???
どうかなも何もそういうもんだ
662Name_Not_Found:2013/10/29(火) 13:48:25.19 ID:???
bp = Object.create(HTMLButtonElement.prototype)

bp.createdCallback = function(){ console.log('testA') }

Btn1 = document.register('btn-1', {
extends: "button",
prototype: bp
})

btn = document.createElement('button', 'btn-1')
/// log 'testA'

bp.createdCallback = function(){ console.log('testB') }

btn = new Btn1
/// log 'testA'

↑ここでtestBとなって欲しいのですが
Chromeでそうならないのは仕様通りでしょうか?それともバグでしょうか?
663Name_Not_Found:2013/10/29(火) 16:45:41.63 ID:???
>>662
仕様どおり
664Name_Not_Found:2013/10/29(火) 17:13:31.23 ID:???
どの仕様に載ってましたか?
665Name_Not_Found:2013/10/29(火) 17:34:57.74 ID:???
計画どおり
666Name_Not_Found:2013/10/29(火) 18:10:53.69 ID:???
>>664
どこにも載ってないから何が起こっても仕様どおり、以上。おわり。
667Name_Not_Found:2013/10/29(火) 22:43:09.30 ID:???
すみません
答えてもらえるのはありがたいのですが
本当に真面目に話して貰えたらもっと嬉しいのですが
668Name_Not_Found:2013/10/29(火) 23:22:17.02 ID:???
訳の分からない質問をするのが悪い
669Name_Not_Found:2013/10/29(火) 23:30:47.37 ID:???
じゃあバグってことで
670Name_Not_Found:2013/10/30(水) 00:21:34.04 ID:???
>>662
多分作成されるときにprototypeの各メンバから内部プロパティに
関数への参照が取られて以後はそれを利用するから
メンバ書き換えで変化しないのは仕様通りだと思われる
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html
671Name_Not_Found:2013/10/30(水) 00:49:42.51 ID:???
radioボタンのonchangeは
各ボタンにonclickとonfocusを付けるみたいですが
もっと簡単にする方法ないですか?
672Name_Not_Found:2013/10/30(水) 01:25:29.77 ID:???
onchangeでOK
673Name_Not_Found:2013/10/30(水) 01:38:50.51 ID:???
674Name_Not_Found:2013/10/30(水) 02:17:41.60 ID:2jQba0nS
ttp://yokano-jp.blogspot.jp/2013/07/jqueryajax.html

ここに書かれている方法を使って
ファイルのアップロードを試したのですが
うまくいきません。
コードを丸々コピーしてajaxのurlを./に変えただけです。
675Name_Not_Found:2013/10/30(水) 02:28:02.97 ID:???
フォントの大きさを変更できるようにした時
最小サイズ、最大サイズは何ピクセルにすればいいですか?
676Name_Not_Found:2013/10/30(水) 04:11:38.51 ID:???
モーダルウインドウに設置したフォーム要素にタブキーで移動できません
原因は何が考えられるでしょうか?
677Name_Not_Found:2013/10/30(水) 04:19:02.47 ID:???
モーダルウインドウ制御のためのonkeydownで
preventDefaultしていたからでした。
コントロール用のキーは生かしておかないといけないんですね〜
失礼しました
678Name_Not_Found:2013/10/30(水) 04:57:20.67 ID:???
モーダルウインドウ表示時に、
タブキーを押下してもモーダル以外のフォーム部品には
フォーカスが当たらないようにすることはできますか?
679Name_Not_Found:2013/10/30(水) 05:13:37.48 ID:???
639 自分:Name_Not_Found[sage] 投稿日:2013/08/24(土) 09:08:37.02 ID:???
タブって、li要素にaタグを入れるケースが多いようですが
aタグ必要あるんですか?
li要素にid持たせればどこがクリックされたか分かるのでいらないと思うのですが・・

という質問を以前した者ですが、
aタグを設置するのはタブキー移動させるためだと分かりました
ありがとうございました
680Name_Not_Found:2013/10/30(水) 07:37:04.31 ID:???
>>678の件ですが、
モーダルウインドウを表示する時に、
フォーカスを取る要素のtabindexを-1にすることで、
フォーカスを取らないように出来ました。
具体的な要素としてはa,button,input,textarea,selectです
ですが、タブキーを押していると、
ロケーションバーと画面内要素の間に、どこかにフォーカスが当たっているようなのです
しかしそれらしき部分はありません
何に当たっているのでしょう?
ブラウザはchromeです
681Name_Not_Found:2013/10/30(水) 07:56:30.72 ID:???
<a href="#">hoge</a>

のような単純なHTMLでも、aタグとナビゲーションバーの間に、1ステップ入ります
もしかして「何にもフォーカスしていない状態」が入るということでしょうか?
682Name_Not_Found:2013/10/30(水) 09:17:48.77 ID:???
モーダルウインドウの後ろにキーイベントが突き抜けてしまうので
やはりpreventDefaultした上でシミュレートしようかと思います
しかし使用頻度がそこまで高くはないと思われるキーボード操作のために
そこまでするべきなのかどうか?
そこまで気を使ってますか?
683Name_Not_Found:2013/10/30(水) 09:22:15.53 ID:???
自分が知る限りトップクラスによく出来ているtweetdeckでも
タブキー操作までは気を遣っていないようです
悩ましい( ´~ `)
684Name_Not_Found:2013/10/30(水) 10:42:15.69 ID:???
Object.createはバグがあるから使っちゃいけないって記事は1つだけ見かけましたが
その反論記事はみかけません
このスレの先輩の見解を教えてください
685Name_Not_Found:2013/10/30(水) 11:00:05.03 ID:???
そんな誰にも知られていない珍論への反論なんてあるわけないじゃん
686Name_Not_Found:2013/10/30(水) 11:00:11.79 ID:???
仮にどこかの環境でバグがあっても他により良い代替作がないから使わないほうがいいとかはない
むしろ挙動が不安定なのはObject.prototype.__proto__の方
687Name_Not_Found:2013/10/30(水) 11:09:27.61 ID:???
688Name_Not_Found:2013/10/30(水) 11:09:39.93 ID:???
>>684
悪魔の証明
689Name_Not_Found:2013/10/30(水) 11:14:32.66 ID:???
>>687
Object.create にバグがあるとはどこにも書かれていない
読解力を養うべき
690Name_Not_Found:2013/10/30(水) 11:24:59.48 ID:???
Object.createは>>662みたいに先進的なAPIで活用されるから避けられない
でも継承のために使うのがちょっとアレで__proto__の方が使いやすいというのは確か
そもそもES6からはclass構文を使うのが一番いい
691Name_Not_Found:2013/10/30(水) 12:05:46.58 ID:???
挙動がおかしいのはバグというべきではないでしょうか?
692Name_Not_Found:2013/10/30(水) 12:12:48.37 ID:???
>>691
仕様通りの動作ならバグではない
そんな主観的は定義にしたら人によってバグの判断が変わる
693Name_Not_Found:2013/10/30(水) 12:19:52.95 ID:???
挙動がおかしいのは仕様または実装バグだろ
仕様実装ともにObject.creteがおかしいとは思わんが
694Name_Not_Found:2013/10/30(水) 12:50:39.12 ID:???
>>687
この記事めちゃくちゃだな
そもそもcreateの第2引数はプロトタイプでもprototypeでもないし
普通のメンバ集合オブジェクトですらなくてディスクリプタじゃないといけないんだから
もうやってることがわやくそ
695Name_Not_Found:2013/10/30(水) 13:04:39.77 ID:???
>>687
書いてある事柄の中から正しい事を見つけるのが困難なレベル
696Name_Not_Found:2013/10/30(水) 13:38:03.98 ID:???
つうか記事がめちゃくちゃだと思うなら直接コメントしてこいよ
どうせお前らの知識じゃ打ち負かされるから怖くてコメントすらできないんだろうけど
697Name_Not_Found:2013/10/30(水) 13:51:30.82 ID:???
どうして記事がめちゃくちゃだと思うなら直接コメントしてこなければいけないのかね?
>>687に信用出来ない記事だと伝えるだけで十分では?
もしコメントしたほうがいいと思ったのなら自分がすればいいのにね?変なの
698Name_Not_Found:2013/10/30(水) 14:08:58.03 ID:???
おかしいと思うんだから指摘すれば良いじゃん
699Name_Not_Found:2013/10/30(水) 14:12:28.13 ID:???
>>687 根本的に勘違いしてるねこれ
700Name_Not_Found:2013/10/30(水) 14:14:56.01 ID:???
とにかく2014年にXPが切れるじゃないですか
そうしたらVistaのIE7にあわせないといけませんよね
IE6とIE7ってあんまりかわらないですよね
現状はES5を使う必要はあるのでしょうか?
701Name_Not_Found:2013/10/30(水) 15:12:06.19 ID:???
VistaはIE9使えるからXP終わったらIE8以下切捨てでいいんじゃね
もうattachEventは寝かせてあげようぜ・・・
702Name_Not_Found:2013/10/30(水) 17:05:43.80 ID:???
xpでもchromeやfirefoxは入れられるんだから
現状でも古いIEになど対応する必要ないよ
703Name_Not_Found:2013/10/30(水) 17:34:40.76 ID:???
JSON.parseは内部でevalを使っているのになぜ素でeval()したときより
パフォーマンスがいいのですか?
704Name_Not_Found:2013/10/30(水) 18:20:51.55 ID:X+S/5nds
JavascriptとPHPの混ざる話でどこで質問していいかわからず
ここで質問させて頂きます。
PHPの変数をJavascriptに受け渡して使用しようと考えています。
PHP側で
$foo = "Hellow world";
としてJavascriptで
var hoge = <?php echo $foo; ?>; とすると
uncaught SyntaxError: Unexpected token <
というエラーがでました。
var hoge = '<?php echo $foo; ?>'; とクォーテーションをつけると
エラーはなくなりましたが、console.log(hoge);
で表示した際に<?php echo $foo; ?>とそのまま出てしまいます。
何か解決方法はありませんか?
705Name_Not_Found:2013/10/30(水) 18:31:10.54 ID:???
var hoge = Hellow world;
これではおかしいだろ
706Name_Not_Found:2013/10/30(水) 18:31:18.36 ID:???
PHPとJavaScriptで変数を受け渡すってなんだ?
707Name_Not_Found:2013/10/30(水) 18:37:13.30 ID:???
あんまりPHPに詳しくないが、無理やりやるならこうか
<script><?php echo "var hoge='$foo'" ?></script>
708Name_Not_Found:2013/10/30(水) 18:37:53.64 ID:???
そのまま出てしまうならPHPがパースされてないんだろ
JSは関係ない
PHPの問題
709Name_Not_Found:2013/10/30(水) 19:15:59.93 ID:???
>>705が答えだろ?
$foo = "\"Hellow world\"";
これでいいのかな?
710Name_Not_Found:2013/10/30(水) 19:17:24.75 ID:???
var hoge = '<?php echo $foo; ?>'; これでなぜphpが展開されないのかが問題
711Name_Not_Found:2013/10/30(水) 19:18:17.24 ID:???
JavaScript関係ないしPHPスレ行ってくれよ
712Name_Not_Found:2013/10/30(水) 19:18:55.55 ID:???
>>709
答えじゃねーよw
そこも間違っているが問題はそれ以前にある
713Name_Not_Found:2013/10/30(水) 19:22:53.79 ID:???
PHPファイルがPHPとして実行されてないから多分サーバの設定が間違ってる
714Name_Not_Found:2013/10/30(水) 20:17:47.34 ID:???
>>704自身の後の方ので問題なく展開される。
JSとは関係無いからあとはPHPスレでも行ってくれ。
715Name_Not_Found:2013/10/30(水) 20:36:22.88 ID:???
折角普通の質問が来ても蔑んでしまうようじゃあ
荒らしに居座られても文句は言えんな
他の質問スレはもっと優しくて親切だぞ
716Name_Not_Found:2013/10/30(水) 20:41:12.80 ID:???
他の質問スレでもスレ違いは普通に誘導するわ
ほぼ答えも添えてあるだけここの方がマシ
717Name_Not_Found:2013/10/30(水) 20:50:19.91 ID:???
同じ人間とは思えない発言だなそれ
718Name_Not_Found:2013/10/30(水) 21:44:29.47 ID:???
「普通の質問」って何だよw
質問がハイレベルすぎて頓珍漢回答しか出てこないのを
質問者に指摘されたら回答者が逆ギレしただけで
質問自体はもともと普通だっただろ
719Name_Not_Found:2013/10/30(水) 22:00:21.96 ID:???
↑普通じゃない見本の提示
ありがとうございました
720Name_Not_Found:2013/10/30(水) 22:01:16.65 ID:???
JavaScriptと関係ないんでPHPスレ行ってね
721Name_Not_Found:2013/10/30(水) 22:05:49.92 ID:???
HTMLやCSSのことも度々教えるんだし、
スクリプトの書き出し程度は臨機応変にこのスレで扱った方がスムーズだと思うけどな
じゃないならWeb板に立ってる意味が無い
722Name_Not_Found:2013/10/30(水) 22:12:13.63 ID:???
プログラマは臨機応変なんてできない
ひたすら言われたことをやり続ける奴隷
723Name_Not_Found:2013/10/30(水) 22:37:26.66 ID:???
別に多少のスレ違いなんて気にしないよ
気にするのはD級以下のプログラマーだけ
724Name_Not_Found:2013/10/30(水) 23:09:12.30 ID:???
まあともかく、PHP自体が動作してるのかまず確認すべきだと私も思うな。
725Name_Not_Found:2013/10/30(水) 23:14:23.81 ID:???
ここはPHPで文字列の出力という超基礎的な質問も扱うスレだっけ?
じゃあRubyとかPythonとかJavaとかScalaの質問もOKだよな?
726Name_Not_Found:2013/10/30(水) 23:28:32.17 ID:???
ガキの屁理屈かよw
727Name_Not_Found:2013/10/30(水) 23:34:49.82 ID:???
>>725
WebとJSに関係が有ることならなんでもいいよ
WebAPIの仕様とかJSと直接関係してないし、その辺は全部含む
ただし誘導してくれる場合はそれに従ったほうが多いと思うよ
728704:2013/10/30(水) 23:54:39.97 ID:???
皆さんありがとうございます。
次からはもっと確認してから質問しますね。
PHPは動いていたので原因はApacheの設定で
addtype application/x-httpd-php の中に.jsを含んでなかったことでした。
729Name_Not_Found:2013/10/30(水) 23:59:47.66 ID:???
生のJSソースにPHP埋め込むのかよ
PHPの世界じゃそんな無茶が普通なのか
730Name_Not_Found:2013/10/31(木) 00:03:09.83 ID:???
動的に書くか静的に書くかの違いでしかない
731Name_Not_Found:2013/10/31(木) 00:15:54.43 ID:???
今日のGoogleのロゴすごいけどこれcanvasだよね?
もっと重そうなイメージあるのにこんなぬるぬる動くのか
732Name_Not_Found:2013/10/31(木) 01:03:21.42 ID:???
映像が動くんだからこんなのお茶の子さいさいだろ
733Name_Not_Found:2013/10/31(木) 01:09:09.32 ID:???
jQuery 日本語 リファレンス
http://semooh.jp/jquery/

これって、あてにしていいの?
このjQuery 日本語 リファレンスってなんかの団体が作ってるの?
それとも個人が作ってるの?
734Name_Not_Found:2013/10/31(木) 01:13:27.84 ID:???
公式が作ってないのは確かだな
日本語リファレンスページくらいjquery公式が提供しろよ
735Name_Not_Found:2013/10/31(木) 02:15:17.88 ID:???
>>733
そのサイトは害悪サイト
一刻も早くウェブから削除するべきもの。

まずはそこにリンクを張っている人は
早く消してくれ。

代替サイトはこっち。
リンクを貼るならこっちを貼ってくれ。

http://js.studio-kingdom.com/jquery
http://s3pw.com/qrefy/
736Name_Not_Found:2013/10/31(木) 02:16:13.91 ID:???
737Name_Not_Found:2013/10/31(木) 02:26:31.81 ID:???
>>735
たいして変わらないじゃん
何故ジャップはリファレンスに広告を貼るのか
738Name_Not_Found:2013/10/31(木) 04:15:28.14 ID:???
枯れ木も山の賑わい
739Name_Not_Found:2013/10/31(木) 06:41:03.31 ID:???
>>682の件ですが、
タブキーでのフォーカス遷移はシミュレート出来ましたが、
エンターキーのシミュレートはどうすればいいのでしょうか?
エンターキーはフォーカスのあるコントロールによって挙動が変わるので
かなり悩ましいです
740Name_Not_Found:2013/10/31(木) 06:41:06.18 ID:???
結局>>687
var prototype = {"f" : function(){}};
var child = Object.create(new Object, prototype);
var other = Object.create(new Object, prototype);
child == other;// -> false
child instanceof Object;// -> true
child instanceof prototype;// -> false
の最後をtrueにしたい場合はどうしたらいいんでしょうか?
741Name_Not_Found:2013/10/31(木) 06:48:18.10 ID:???
>>739
dialog要素を使え
モーダルウィンドウ以外にはフォーカスしなくなる
http://demo.agektmr.com/dialog/

>>740
そもそも使い方が端から間違っている
742Name_Not_Found:2013/10/31(木) 07:03:02.81 ID:???
Object.createの変な使い方最近良く見るがどこで覚えてくるんだか
https://plus.google.com/communities/108328830558900591213/stream/b1d11274-074e-4c73-9b6c-1ac3e95b6e7c
743Name_Not_Found:2013/10/31(木) 07:09:41.99 ID:???
>>741
ありがとうございます
でもそのデモページでモーダルウインドウを開いてからタブキーを押すと
フォーカスがどんどん他の部分に移っていきます
chromeですが
744Name_Not_Found:2013/10/31(木) 07:21:45.32 ID:???
モーダルウインドウ上のコントロールにフォーカスがある時には
特定のキーではpreventDefaultしない、で出来たっぽいです
ありがとうございました
745Name_Not_Found:2013/10/31(木) 07:26:21.44 ID:???
>>743
Chromeのバージョンは?
上に警告が出てる場合はポリフィルだからそのようには行かないよ
Chrome32で見ればOK
746Name_Not_Found:2013/10/31(木) 09:05:25.94 ID:???
>>737
> たいして変わらないじゃん

目悪いのか?

害悪サイトはjQuery 1.4という古代のバージョン用
Defferdはもとより、今標準で使われており、
jQueryを使うときには必須のon()のことすら書いていない。
747Name_Not_Found:2013/10/31(木) 09:22:08.55 ID:???
そういうことなら何が問題かを先に言えよ
金玉腫れ夫
748Name_Not_Found:2013/10/31(木) 09:39:28.96 ID:???
constructorはどんなときに使うのでしょうか?
749Name_Not_Found:2013/10/31(木) 09:48:08.86 ID:???
オブジェクト名を知りたい時かな
750Name_Not_Found:2013/10/31(木) 10:06:09.90 ID:???
コンストラクタ名だろ
751Name_Not_Found:2013/10/31(木) 10:31:45.84 ID:???
ドフラミングまじ許せねえ!ちょっくらドレスローザ行って来る
752Name_Not_Found:2013/10/31(木) 12:03:36.87 ID:bgsPWM49
チェックされたcheckboxのIDを取得して、そのIDと同じ名前の配列の内容を表示させたいのですがどのように書けばいいのでしょうか・・・

<form name="list">
<label><input id="a01" onclick="pcheck(this.id)" type="checkbox" />a01</label>
<!-- チェックボックスはたくさん続きます -->
</form>

<script type="text/javascript">

var a01 = ['a01の内容','b'];
var a02 = ['a02の内容','c','d','f'];
// チェックボックスと同じ数だけあります

function pcheck(id){
if(docments.getElementById(id).checked){
}
}
</script>
753Name_Not_Found:2013/10/31(木) 14:26:27.49 ID:bgsPWM49
eval関数で無事表示させることが出来ました。
上記文章でdocumentがスペルミスしていました。お恥ずかしい・・・
754Name_Not_Found:2013/10/31(木) 16:41:54.34 ID:???
Object.createのことがだいぶわかってきました

Klass = {prototype:{a:1,b:2}};
inst = Object.create(Klass.prototype)

assertTrueinst instanceof Klass) //Error!
この時trueにするにはどうすべきでしょうか
755Name_Not_Found:2013/10/31(木) 17:17:56.77 ID:???
>>753
eval使わなくてもできるだろ
756Name_Not_Found:2013/10/31(木) 17:19:44.12 ID:dPmLYeJo
現在、次のようにhogeの値によって表示するURLを変更しています。
-----------------------
<script>
<!--//
if(hoge == 1){
burl = "http://example.com/1/";
}else if(hoge == 2){
burl = "http://example.com/2/";
}
//-->
</script>

<a href="javascript:void(0);" onclick="this.href=burl;">クリックしてください</a>

----------------------------------------------------------------

これをhogeが1の時は「<a href="javascript:void(0);" onclick="this.href=http://example.com/1/;">クリックしてください</a>」が表示され
hogeが2の時は「<a href="javascript:void(0)" onClick="window.open(http://example.com/1/,'subwin','width=400,height=300');">小窓が開きます</a>」が
表示されるようにしようと思い次のような文を作りました(実際はもっと色々やってみた)が駄目でした。
どのようにしたらよいでしょうか?
-----------------------
<script>
<!--//
if(hoge == 1){
document.write('<a href="javascript:void(0);" onclick="this.href=http://example.com/1/;">クリックしてください</a>');
}else if(hoge == 2){
document.write("<a href='javascript:void(0)' onClick="window.open(http://example.com/2/,'subwin','width=400,height=300');">小窓が開きます</a>");
}
//-->
</script>
757Name_Not_Found:2013/10/31(木) 20:13:08.57 ID:???
>>747
> そういうことなら何が問題かを先に言えよ

見ればわかるだろ。

トップにニュースとして、jQuery1.4.0リリースって
書いてるの見えないのか?

1つ2つ前ならともかく、これだけ古くてサイトも
更新されてないのを見れば役に立たないとすぐにわかるだろ。
758Name_Not_Found:2013/10/31(木) 20:14:33.06 ID:???
>>754
function Klass() {this.c = 3;}
Klass.prototype = {a: 1, b: 2};

var obj = new Klass;
assert(obj instanceof Klass); // ok

var obj2 = Object.create(Klass.prototype);
assert(obj instanceof Klass); // ok

Object.create(hoge)は{__proto__: hoge}を作るだけ
これはコンストラクタ関数をnewしたときに最初に行われることと同じ
(それがコンストラクタのthisにあてがわれる)

上のコードだったらobjとobj2の違いはcプロパティがあるかどうかだけ
あとinstanceofの右辺はオブジェクトじゃなくて関数(コンストラクタ)ね
759Name_Not_Found:2013/10/31(木) 22:53:30.49 ID:???
if(var i = hoge)
みたいな感じに、変数hogeが存在してたらiに入れるという事をif()の()内で一気にやる事は出来ないんでしょうか?
760Name_Not_Found:2013/11/01(金) 00:44:57.83 ID:???
>>758
そういう場合はわかるのですが
Klassを関数にしてしまうとObject.createを使わなくてもnewで良くなってしまうので
関数を呼ぶ必要がない時にKlassをオブジェクトにしてprototypeをコンパクトに収納して
そのときでinstanceofをどう使えばいいのか教えてもらえますか?
761Name_Not_Found:2013/11/01(金) 00:46:47.82 ID:???
>>759
何がしたいのかわからん
もっと具体的に
762Name_Not_Found:2013/11/01(金) 01:29:56.29 ID:???
>>760
コンストラクタがないなら右辺に関数を取るinstanceofは使えないね
代わりにisPrototypeOfを使えばいいよ
var base = {};
var derived = Object.create(base);
assert(base.isPrototypeOf(derived));

もちろんさっきの例でもisPrototypeOfを使える
assert(Klass.prototype.isPrototypeOf(obj));
763Name_Not_Found:2013/11/01(金) 03:58:48.05 ID:???
instanceofは別に関数じゃなくても使える
764Name_Not_Found:2013/11/01(金) 06:10:49.87 ID:u7HFMlqQ
JavaScriptとPHPを使って文字列の暗号化/復元化をしたいと思ってます。
どのようにすればよいでしょうか?
ライブラリ等があれば教えてください!
765Name_Not_Found:2013/11/01(金) 07:11:39.85 ID:???
>>756 ここは初心者をスルーする
http://www.tohoho-web.com/js/string.htm
766Name_Not_Found:2013/11/01(金) 07:29:14.79 ID:???
>>750
var a = new Array();
console.log(a.constructor);

これによりaが「Arrayオブジェクト」だと分かる
コンストラクタはオブジェクトと同じ名前というだけで
オブジェクト名の方が本質
はい論破
767Name_Not_Found:2013/11/01(金) 07:59:39.57 ID:???
せやねせやね
768Name_Not_Found:2013/11/01(金) 08:25:19.54 ID:???
preventDefault()はどのタイミングで実行した方がいいですか?
1 ハンドラ処理開始時
2 ハンドラ処理終了時
769Name_Not_Found:2013/11/01(金) 08:52:33.42 ID:???
ケツかアタマならどっちも分かりやすいと思うけど
まあそこから関数呼んだりするようならアタマ
短いのならケツが雰囲気いいんじゃない?
770Name_Not_Found:2013/11/01(金) 09:10:47.46 ID:???
>>763
ES6からただのオブジェクトでも良くなったのか
これでプロトタイプベースが捗るな
771Name_Not_Found:2013/11/01(金) 10:23:32.20 ID:???
>>768
デフォルトアクションを無効にしてもいいと判断できるタイミング
772Name_Not_Found:2013/11/01(金) 10:25:27.86 ID:???
>>766
constructerは書き換え可能
773Name_Not_Found:2013/11/01(金) 10:32:53.40 ID:???
>>772
何でキチガイに触んの?
やめてくんない?そういうの
774Name_Not_Found:2013/11/01(金) 10:38:05.29 ID:???
ブラウザ内のJavaScriptからAWSにアクセスできるSDKをAmazonがローンチ…サーバサイドのコードはいっさい不要
http://jp.techcrunch.com/2013/11/01/20131031amazon-launches-aws-sdk-for-javascript-in-the-browser/?utm_source=dlvr.it&utm_medium=twitter

はい論破
775Name_Not_Found:2013/11/01(金) 10:40:12.15 ID:???
このSDKを使うとデベロッパは、AmazonのS3ストレージサービスを直接呼び出したり、
メッセージキューSQSにリード/ライトしたり、SNSでモバイルの通知を生成処理、
NoSQLデータベースDynamoDBにアクセス、などなどのことができる。

ってクライアントからDBに好き勝手なデータを書き込まれたりしないの?
776Name_Not_Found:2013/11/01(金) 10:41:16.97 ID:???
クライアントでできることは極力クライアントでする
ページ遷移も減らして複雑な繋がりを作らないことがコツだね
777Name_Not_Found:2013/11/01(金) 10:42:58.97 ID:???
>>772
だから何なんだw
書き換え可能だからオブジェクト名でないというのなら
コンストラクタ名ですらないだろ
778Name_Not_Found:2013/11/01(金) 10:44:53.55 ID:???
デバッガ起動して変数値を書き換えてDBに書き込まれたりしたら困るじゃん?
向こうにアプリケーションサーバがあるならそこでバリデートできるけど。
どういう仕組みだろう?
779Name_Not_Found:2013/11/01(金) 10:46:31.13 ID:???
>>777このオツムの弱い奴はもうほっとけ
ここは分かろうとする気があるものに教えるスレだ
ここまでキチガイっぷりを晒せば質問者も流石に察しただろう
それで十分
780Name_Not_Found:2013/11/01(金) 10:47:09.84 ID:???
>>778
向こうにある
781Name_Not_Found:2013/11/01(金) 11:15:29.10 ID:???
つまりどういう時にconstructorを使うんですか?
オブジェクト名が分からないようなコードを書くことってありませんよね?
782Name_Not_Found:2013/11/01(金) 11:17:29.86 ID:???
コンストラクタを知りたい時
それしか無い
783Name_Not_Found:2013/11/01(金) 11:28:09.78 ID:???
受け取ったオブジェクトのオブジェクト名をロギングしたい時とか
784Name_Not_Found:2013/11/01(金) 11:29:56.14 ID:???
クラス名のことを言いたいんだろう
みんな察してやれ
785Name_Not_Found:2013/11/01(金) 11:31:37.10 ID:???
786Name_Not_Found:2013/11/01(金) 11:34:42.79 ID:???
787Name_Not_Found:2013/11/01(金) 11:42:31.81 ID:???
JavaScriptによるDynamoDBへのアクセスってまじでどういう仕組みなんよ
それとも改竄されてもいいようなデータを扱うのかな?
788764:2013/11/01(金) 11:46:39.24 ID:u7HFMlqQ
どなたかお願いします
789Name_Not_Found:2013/11/01(金) 11:55:00.49 ID:???
>>788
もっと具体的に何をしたいのか書かないと答えようが無い。
790Name_Not_Found:2013/11/01(金) 12:00:30.27 ID:???
>>788
JavaScript側は先端ブラウザならcrypto.subtleで出来る
PHPでも何らかのモジュールで頑張る
791Name_Not_Found:2013/11/01(金) 12:06:58.35 ID:???
URLエンコードでok
792Name_Not_Found:2013/11/01(金) 12:23:42.34 ID:???
多重にネストされた配列があります
その最大の深度を知るにはどうしたらいいですか?
793Name_Not_Found:2013/11/01(金) 12:47:37.36 ID:???
if (a[0] === Array){
if(a[0][0] === Array){}
}
794Name_Not_Found:2013/11/01(金) 12:49:44.22 ID:???
よく分かりません
できればlodashでお願いします
795Name_Not_Found:2013/11/01(金) 12:51:12.75 ID:???
>>792
var MaxDeep = (x, d=0) => Array.isArray(x) ? Math.max(++d, ...x.map(v => MaxDeep(v, d))) : d;

MaxDeep(0) //0
MaxDeep([[0]]) //2
MaxDeep([1,[2,[],3],4]) //3
796Name_Not_Found:2013/11/01(金) 13:08:07.92 ID:???
やっぱりCoffeeScriptって書けるようになったほうが良いですか?
797Name_Not_Found:2013/11/01(金) 13:09:23.04 ID:???
物は試し
質問する暇があったらやってみる
798Name_Not_Found:2013/11/01(金) 13:10:49.53 ID:???
既存の関数を書き換えるのにevalやnew Functionを使う方法がとられることが多いですが
それ以外ではなにか方法ってないですか?
799Name_Not_Found:2013/11/01(金) 13:12:23.93 ID:???
文字列上の関数を興したいのならそれらがベストな方法
800Name_Not_Found:2013/11/01(金) 13:16:10.82 ID:???
function a(name){this.name = name;}
var test = new a("abcde");
test.name;

クラスみたいな感じのこういう風にかけるじゃないですか
こういう風に書くメリットってなんですか?
801Name_Not_Found:2013/11/01(金) 13:19:50.79 ID:???
p1 = new Person("Taro")
ってすると人のオブジェクト作るんだってはっきり分かんだね
802Name_Not_Found:2013/11/01(金) 13:25:34.98 ID:???
>>795はCSじゃないな
803Name_Not_Found:2013/11/01(金) 13:27:58.97 ID:???
>>801
で?
804Name_Not_Found:2013/11/01(金) 13:31:28.25 ID:???
それがメリット
805Name_Not_Found:2013/11/01(金) 13:39:59.17 ID:???
CSって何?クライマックスシリーズ?
806Name_Not_Found:2013/11/01(金) 13:41:55.63 ID:???
ヒント:>>796
807Name_Not_Found:2013/11/01(金) 17:32:37.86 ID:???
それこt・・
808Name_Not_Found:2013/11/01(金) 20:57:44.28 ID:arc8ZcX6
http://example.com/hoge
は、任意のタイミングで更新されます。

下記のスクリプトでは、最初に読み込んだ時の情報は読み込めますが、
hogeファイルが更新された時の情報が読み込めません。
hogeファイルの更新に合わせてURLと文言を変えたいのですが、どのようにしたらよいでしょうか?


<script src="http://example.com/hoge" type="text/javascript" language="javascript"></script>
<script>
<!--//
if(a.hoge == 1){
url = "http://example.jp/saitama/";
document.write('<a href="javascript:void(0);" onclick="this.href=url;">さいたまにジャンプします</a>');
}else if(a.hoge == 2){
url = "http://example.jp/gunma/";
document.write('<a href="javascript:void(0);" onclick="this.href=url;">ぐんまにジャンプします</a>');
}
//-->
</script>
809Name_Not_Found:2013/11/01(金) 21:55:23.02 ID:???
websocket使え
810Name_Not_Found:2013/11/01(金) 22:26:18.00 ID:???
サーバー側でファイルを監視してWSで配信する
811Name_Not_Found:2013/11/02(土) 00:11:16.28 ID:???
lodashのsortByってクイックソートですか?
812Name_Not_Found:2013/11/02(土) 00:12:44.80 ID:???
Array.sortってjsperfでクイックソートより遅かった記憶がありますが
内部でクイックソートで実装すればいいだけでは?
しない理由は何ですか?
813Name_Not_Found:2013/11/02(土) 00:20:06.57 ID:???
>>812
クイックソートは安定じゃない(同じ順位の値の順番が保証されない)から。
814Name_Not_Found:2013/11/02(土) 00:25:57.83 ID:???
値が同じ要素の並びが入れ替わることがあるんですか?
たしかにそれだと問題があるケースも出てきますね
最大公約数を取ったということか
ありがとうございました
815Name_Not_Found:2013/11/02(土) 00:40:52.63 ID:???
lodash lodashうるせえよks
過疎知名度ライブラリの宣伝してんじゃねえよ
作者乙!!!!
816Name_Not_Found:2013/11/02(土) 00:43:17.79 ID:???
過疎知名度ライブラリって
日本語不自由すぎだろ
817Name_Not_Found:2013/11/02(土) 00:43:41.78 ID:???
>>812
ループに比べると関数コールのオーバーヘッドはあるものの
内部で要素数に応じてアルゴリズムを変えるなど様々な最適化がなされていて理論的に最善です
https://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/array.js#840
クイックソートがメインで使われています
818Name_Not_Found:2013/11/02(土) 00:46:26.54 ID:???
遅いのは関数呼び出し部分だったんですかー
なるほどなるほど
ありがとうございました
819Name_Not_Found:2013/11/02(土) 02:12:26.22 ID:???
ECMAScriptで安定ソートするメソッドは定義されないのかな
820Name_Not_Found:2013/11/02(土) 02:30:00.28 ID:???
ECMAの読み方はイークマでいいのですか?
821Name_Not_Found:2013/11/02(土) 02:35:15.11 ID:???
半月後のミーティング以降は追加要請しにくくなるから
はよ第二引数定義するよう要請しとけ
https://bugs.ecmascript.org/enter_bug.cgi?product=Draft%20for%206th%20Edition
822Name_Not_Found:2013/11/02(土) 06:41:45.52 ID:???
hasOwnPropertyってlodashにないんですか?
823Name_Not_Found:2013/11/02(土) 07:07:06.94 ID:???
ES5にもともとある
824Name_Not_Found:2013/11/02(土) 08:29:03.02 ID:y9w6XlSy
Objectの複製のやり方を教えてください
825Name_Not_Found:2013/11/02(土) 08:58:52.42 ID:???
JSON.parse(JSON.stringify(obj))
826Name_Not_Found:2013/11/02(土) 09:01:33.53 ID:???
_.clone
827Name_Not_Found:2013/11/02(土) 09:10:13.46 ID:y9w6XlSy
>>825
出来ました!ありがとうございます!

>>826
それはどのようにして使うのでしょうか?
828Name_Not_Found:2013/11/02(土) 09:14:42.06 ID:???
出来ましたってw
それはトリッキーなだけでいい方法じゃないからやめた方がいいよ
829Name_Not_Found:2013/11/02(土) 09:17:58.32 ID:???
http://lodash.com/docs#clone

lodashというライブラリを使えばディープコピーもシャローコピーも一発で出来る
830Name_Not_Found:2013/11/02(土) 09:47:34.10 ID:???
>>824
完全に汎用的な方法は無いからどういうオブジェクトか詳しく書くといいよ
831Name_Not_Found:2013/11/02(土) 16:11:48.76 ID:???
何故(function(){
832Name_Not_Found:2013/11/02(土) 16:21:14.81 ID:???
関数宣言(文)と関数式(式)の違い
833Name_Not_Found:2013/11/02(土) 16:54:23.62 ID:???
CTRL+左クリックでバックグラウンドでリンクを開くことが出来ますよね
JavaScriptでウィンドウを切り替えないでリンクを開く方法ありませんか?
834Name_Not_Found:2013/11/02(土) 16:55:29.91 ID:???
なぜかといいますと、
RSSから読みたい記事を一々CTR+左クリックして開いていくのが面倒くさいので
ぶっくまーくれっとで読みたいのを片っ端から裏で開いておきたいんです
835Name_Not_Found:2013/11/02(土) 17:02:38.85 ID:???
無いんじゃね
その辺ブラウザ、またはOS依存だと思われ
836Name_Not_Found:2013/11/02(土) 17:30:07.14 ID:???
関数呼び出しのコストが高いので
getX
getY

getPosition
にまとめましたが、array生成コストが高くてかえって遅くなりました
array生成は関数呼び出しより高いのでしょうか
837Name_Not_Found:2013/11/02(土) 17:37:53.25 ID:???
エンジン次第でJSとは関係ない
答えがない質問はするな
ガキじゃないんだから分かるだろ
838Name_Not_Found:2013/11/02(土) 17:41:55.49 ID:???
関数呼び出しより配列生成の方が軽いエンジンがあるとでも?
そんなものはないと思いますが?
839Name_Not_Found:2013/11/02(土) 17:57:30.42 ID:???
皆さん昔は必死に書いたJSのコードをパクられないように隠そうとしたことありましたよね?
840Name_Not_Found:2013/11/02(土) 18:14:26.48 ID:???
>>834
ブックマークレットよりかはユーザスクリプトを作る方向でいくほうがいいとおもう。
841Name_Not_Found:2013/11/02(土) 18:30:34.05 ID:???
>>838
関数はインライン化できる
842Name_Not_Found:2013/11/02(土) 22:33:21.30 ID:???
>>832
蛇足だけど、関数宣言は文じゃない
843Name_Not_Found:2013/11/03(日) 00:08:03.10 ID:???
馬570 84 328
844Name_Not_Found:2013/11/03(日) 02:26:41.70 ID:???
俺より先に
呼び出してはいけない

〜関数宣言
845Name_Not_Found:2013/11/03(日) 03:15:34.65 ID:???
エラーメッセージの中に設定の値を書きたい時がありますがどうやりますか?
「最大階層数は{MAX_LEVEL}です」
みたいなかんじです
846Name_Not_Found:2013/11/03(日) 04:50:48.96 ID:???
>>845の件ですが、
lodashの_.templateでvariableを使えば設定値を実行時に入れ込めそうです
lodash最高ですね(´ω`)
ありがとうございました
847Name_Not_Found:2013/11/03(日) 06:53:07.55 ID:???
>>845

String.row`最大階層数は${MAX_LEVEL}です`
848Name_Not_Found:2013/11/03(日) 07:52:14.09 ID:???
http://blog.livedoor.jp/dankogai/archives/50816979.html

addListener(element, 'click', getUserNameById);
function getUserNameById(e) {
var id = this.id;
// idを処理
}

と書くと、ブラウザー依存コードが出来てしまいます。thisに何が入るかはブラウザーによって異なるからです。

以下のように橋渡しコードを書けば、それが解決します。

function getUserNameById(id) {
// idを処理
}
function getUserNameByIdBridge (e) { // これで橋渡し
getUserNameById(this.id);
}
addListener(element, 'click', getUserNameByIdBridge);

これの違いが分かりません。thisの挙動が変わるんですか?
849Name_Not_Found:2013/11/03(日) 07:56:08.55 ID:???
自己解決しました
850Name_Not_Found:2013/11/03(日) 08:54:45.35 ID:???
setTimeoutと比べたlodashのdelayのメリットって何ですか?
まったく同じなような?
851Name_Not_Found:2013/11/03(日) 08:59:16.93 ID:???
>>848
その記事が間違ってるね
852hikaru02:2013/11/03(日) 09:18:32.09 ID:???
853Name_Not_Found:2013/11/03(日) 09:43:41.29 ID:???
オブジェクトをフラグのコレクションとして使いたいと思います
必要なのはキーだけなので、データは何でもいいです
一番メモリ使用の少ないデータは何でしょうか?
854Name_Not_Found:2013/11/03(日) 10:06:20.87 ID:???
整数
855Name_Not_Found:2013/11/03(日) 10:12:21.99 ID:???
booleanじゃないの?
856Name_Not_Found:2013/11/03(日) 10:21:20.67 ID:???
null
857Name_Not_Found:2013/11/03(日) 11:31:01.76 ID:???
・登録した関数を一秒後に実行
・実行される前に再登録されたら、時間は後ろにずらす
・同じ関数である限り、実行されるまでに何度登録されても、実行は一回だけ

こういう処理をしたいのですが、どうするのがいいですか?
ライブラリにありますか?
858Name_Not_Found:2013/11/03(日) 11:57:43.38 ID:???
そんなのライブラリにするまでのものじゃないじゃん
859Name_Not_Found:2013/11/03(日) 12:01:09.95 ID:???
lodashにありました\(^o^)/

function hoge(){
console.log("hoge");
}

var a = _.debounce(hoge,1000);

a();
a();
a();
a();
a();

このように何回呼び出しても一回しか実行されない関数を作れるようです
どういう仕組みか分かりませんがlodashすごすぎワロタ
860Name_Not_Found:2013/11/03(日) 12:07:29.83 ID:???
やべえなlodash
あなたもわたしも今日からlodash
Yeah!!
861Name_Not_Found:2013/11/03(日) 12:13:23.76 ID:???
関数を渡すとラップした新しい関数を返すアプローチが新しい感じがします
862Name_Not_Found:2013/11/03(日) 12:16:37.14 ID:???
lodashの宣伝うぜえ
863Name_Not_Found:2013/11/03(日) 12:24:07.14 ID:???
アンチに効いてるw効いてるw
864Name_Not_Found:2013/11/03(日) 12:40:57.01 ID:???
配列の要素のダブリを無くすにはどうするのがいいんですか?
865Name_Not_Found:2013/11/03(日) 12:52:42.80 ID:???
>>864
lodashに_.uniqってのがあるよ
http://lodash.com/docs#uniq
866Name_Not_Found:2013/11/03(日) 12:55:34.21 ID:???
ダブリの部分をダブリ無しで得る方法も教えて下さい
867Name_Not_Found:2013/11/03(日) 12:56:47.29 ID:???
解決までの時間が短すぎる
lodash宣伝の為の自作自演としか思えない質問が多い
868Name_Not_Found:2013/11/03(日) 13:03:25.08 ID:???
NO
宣伝って作者どんだけ日本語に堪能なんだよw
869Name_Not_Found:2013/11/03(日) 13:11:44.09 ID:???
>>866
lodashなら簡単にできる
ドキュメントを読んでね
870Name_Not_Found:2013/11/03(日) 13:25:27.30 ID:???
どこを読んだらいいのか教えてください
871hikaru02:2013/11/03(日) 13:26:26.56 ID:???
var arr = [1,2,2,3,4,5,5,5]

>>864
var uniq = [...new Set(arr)] //[1,2,3,4,5]

>>866
var dup = [...new Set(arr.filter(v=>arr.indexOf(v)!=arr.lastIndexOf(v)))] //[2,5]
872Name_Not_Found:2013/11/03(日) 13:27:59.43 ID:???
そう、loadashならね

そう、loadashなら、UVを計測できる
そう、loadashなら、無料で写真集を作れる
そう、loadashなら、フォトブックを無料で作れる
そう、loadashなら、銀行口座やクレジットカードを簡単に管理できる

ぼっちでも友達ができる。そう、loadashならね
873Name_Not_Found:2013/11/03(日) 13:28:15.90 ID:???
変な書き方するのやめてください
874hikaru02:2013/11/03(日) 13:29:45.67 ID:???
こっちの方がいいか

var dup = [...new Set(arr.filter((v,i)=>i!=arr.indexOf(v)))] //[2,5]
875Name_Not_Found:2013/11/03(日) 13:31:21.22 ID:???
今のJavaScriptで使えない書き方されても困ります
真面目に教える気あるんですか?
876Name_Not_Found:2013/11/03(日) 13:33:36.89 ID:???
Firefoxで普通に使えるがな
877Name_Not_Found:2013/11/03(日) 13:36:30.28 ID:???
>>870 lodashのどこを読んだら>>866が分かるのかと
>>871 がどういうものなのか教えてください
878Name_Not_Found:2013/11/03(日) 13:39:07.75 ID:???
FirefoxでもIEでもoperaでもChromeでもSafariでも使えるJavaScriptを
書いてください
879Name_Not_Found:2013/11/03(日) 13:44:32.51 ID:???
866ですが、どこで動くとか拗れた話は置いといてまずはきちんと何がどうなのか説明してくれませんか?
どうかお願いですから質問者を置いてけぼりにしないでください

具体的なコードを示してもらうほうがないよりよくて
よく分からないコードよりも、分かるアルゴリズム解説のほうがありがたいです
880Name_Not_Found:2013/11/03(日) 13:50:01.63 ID:???
lodashのドキュメント読めって言ってるだろ
それでわからんのならプログラマ向いてないから諦めろ
881Name_Not_Found:2013/11/03(日) 13:50:33.73 ID:???
lodasher4ね
882Name_Not_Found:2013/11/03(日) 13:52:44.75 ID:???
いや、マジで天からの贈り物のlodashがあってもできないようならプログラマ失格
883Name_Not_Found:2013/11/03(日) 13:53:34.46 ID:???
少しも頼りにならないので自分でなんとかすることにします
ここで聞こうと思ったのが間違いでした
どうもありがとうございませんでした
884Name_Not_Found:2013/11/03(日) 13:57:48.59 ID:???
>>880
それじゃ質問スレの意味がないだろ
お前がドキュメントを読んで答えろよ
885Name_Not_Found:2013/11/03(日) 13:58:14.40 ID:???
はい次の方どうぞ〜
886Name_Not_Found:2013/11/03(日) 14:00:22.92 ID:???
最近質問スレ舐めたやつが多すぎないか?
ドキュメント読めっていうの禁止ってテンプレに書いといて
887Name_Not_Found:2013/11/03(日) 14:01:06.57 ID:???
>>884,886乞食お断り

(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
888Name_Not_Found:2013/11/03(日) 14:05:25.16 ID:???
いいから早く教えてください
889Name_Not_Found:2013/11/03(日) 14:15:45.66 ID:???
>>888
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
890Name_Not_Found:2013/11/03(日) 14:23:23.81 ID:???
setTimeoutをするたびにIDがインクリメントされていきますが
これが整数で扱える範囲を越えたらどうなるのでしょうか?
891Name_Not_Found:2013/11/03(日) 14:33:45.61 ID:???
仕様通りならbignumなのでInfinityまでいきます
892Name_Not_Found:2013/11/03(日) 14:36:15.59 ID:???
じゃあそこまで行ったらどうなるんですか?
また1に戻って再利用されるのでしょうか
893Name_Not_Found:2013/11/03(日) 14:45:28.88 ID:???
>>866
> ダブリの部分をダブリ無しで得る方法も教えて下さい

var a = [1,2,3,1,3,1,3];

どれがいいかねぇ。

var count = _.countBy(a);
var b = _.uniq(_.filter(a, function(num) {return count[num] > 1}));

一行で書いてみる
var b = _.uniq(_.filter(a, function(num) {return this[num] > 1}, _.countBy(a)));

こんな方法
var b = _.compact(_.map(_.countBy(a), function(c, k) {return c > 1 ? Number(k) : null}));

メソッドチェーンで
var b = _(a).countBy().map(function(c, k) {return c > 1 ? Number(k) : null}).compact().value();

アロー関数を使いたいならどうぞ。
var b = _(a).countBy().map((c, k) => c > 1 ? Number(k) : null).compact().value();

もう少しシンプルに書けないかなぁ。indexOf系は遅そうなので却下。
894Name_Not_Found:2013/11/03(日) 14:49:10.83 ID:???
>>892
数に限りはないからメモリを埋め尽くすまで内部数値は常に増えて
JS側は一定以上はずっとInfinity、メモリが確保できなくなるとエラー
これが理想的な実装
895Name_Not_Found:2013/11/03(日) 14:50:34.13 ID:???
どうせlodashの記事書いてるからググって自分のブログに誘導したいんだろ
ロダッシャーきめえ
896Name_Not_Found:2013/11/03(日) 14:50:53.98 ID:???
>>893
アンダーバー等のライブラリはなしでお願いします
それこそ俺のライブラリならA(a)でいいよとも言えるわけですし、参考になりません
897Name_Not_Found:2013/11/03(日) 14:52:21.73 ID:???
indexOfはかなり速いよ
SMIArrayとかならforループより速い
898Name_Not_Found:2013/11/03(日) 14:59:19.86 ID:???
>>896
うん。だから同じものを実装すればいいよ。
ソースコード公開されてるんだから楽でしょ。
899Name_Not_Found:2013/11/03(日) 15:01:47.35 ID:???
>>897
いや、配列が大きい時、indexOfで検索すると、
例えば値が見つからない時に、
配列全てを走査する必要がある。

その配列走査が1回で済むのならいいけれど、
>>874のコードでは、配列の数だけ
走査することになる。だから遅い。

forループとの比較の話ではない。
ダブリを見つけるというアルゴリズム自体の話。
900Name_Not_Found:2013/11/03(日) 15:03:07.74 ID:???
>>896
それは、

俺のライブラリを実装する VS すでにあるライブラリを使う

の大きな違いだなw
901Name_Not_Found:2013/11/03(日) 15:03:51.33 ID:???
>>898
意味がわかりません
あなたは分かっているのでしょうが
解答者も最低限再現可能なコードと情報で示してください
それこそググれば分かると言ってるのと変わりません
902Name_Not_Found:2013/11/03(日) 15:04:37.61 ID:???
>>901
ググればわかる。

も適切な答えの一つだからOKじゃね?
903Name_Not_Found:2013/11/03(日) 15:06:00.49 ID:???
「俺のライブラリ」はググってもわからんがなw
904Name_Not_Found:2013/11/03(日) 15:08:18.96 ID:???
>>899
lodashもindexofを使ってるしそれが理論的に最善なんだが
905Name_Not_Found:2013/11/03(日) 15:08:51.81 ID:???
アンチ必死だなw
906Name_Not_Found:2013/11/03(日) 15:10:26.51 ID:???
>>895
どんだけ遠回りかつ不確実な方法なんだよ
907Name_Not_Found:2013/11/03(日) 15:11:48.05 ID:???
>>904
そりゃindexOfを使うのが適切なときは
使うだろうさw

でなくて、ダブリを見つけるアルゴリズムに
indexOfを使うなって話。

何度も言って欲しいのか?
908Name_Not_Found:2013/11/03(日) 15:20:05.97 ID:???
lodashのuniqでも使われてるのか
lodasherどうした?嘘つきか?
909Name_Not_Found:2013/11/03(日) 15:24:29.05 ID:???
そりゃあ重複要素がないかはindexOf的仕組みを使うしか無いね
勝手にsortするわけにも行かないし、そんなもんだろうよ
910Name_Not_Found:2013/11/03(日) 15:26:36.84 ID:???
これがlodashのuniqだ。
indexOf・・・どこに?

function uniq(array, isSorted, callback, thisArg) {
// juggle arguments
if (typeof isSorted != 'boolean' && isSorted != null) {
thisArg = callback;
callback = !(thisArg && thisArg[isSorted] === array) ? isSorted : null;
isSorted = false;
}
if (callback != null) {
callback = lodash.createCallback(callback, thisArg, 3);
}
return baseUniq(array, isSorted, callback);
}
911Name_Not_Found:2013/11/03(日) 15:27:13.76 ID:???
>>908
indexOfを潰しても動いたから、
使ってないな。はい論破。

Array.prototype.indexOf = null;
console.log(_.uniq([1,2,3,1,3,1,3]));
912Name_Not_Found:2013/11/03(日) 15:29:58.85 ID:???
>>910,911
baseUniqで使われてる
標準のじゃなくて同等の関数を自作して使用してる
913Name_Not_Found:2013/11/03(日) 15:30:33.30 ID:???
その同等の関数ではindexOfは使われてないんだが。
遅いからねw
914Name_Not_Found:2013/11/03(日) 15:33:11.37 ID:???
> 874 名前:hikaru02[sage] 投稿日:2013/11/03(日) 13:29:45.67 ID:???
> こっちの方がいいか
>
> var dup = [...new Set(arr.filter((v,i)=>i!=arr.indexOf(v)))] //[2,5]

標準のArray.prototype.indexOfは遅いから使うなって話らしいよw
915Name_Not_Found:2013/11/03(日) 15:43:18.54 ID:???
>>899は無かったことになったらしいな
916Name_Not_Found:2013/11/03(日) 15:46:51.86 ID:???
>>915
そんな話の流れになってないのに、必死だねw
917Name_Not_Found:2013/11/03(日) 15:50:30.13 ID:???
何を見てindexOfって言ってるんだろうか?
まさかindexOfって関数名を見て実装も見ずに、
これはArray.prototpye.indexOfと
同じだって思ってるのかな。

中をよく読めば、Array.prototpye.indexOfとは
似て非なるものだってわかるはずなんだが。
だからこそlodashはArray.prototpye.indexOfを使わなかったんだよ。
918Name_Not_Found:2013/11/03(日) 15:53:11.44 ID:???
どうせindexOfで開発決めてるから書いたんだろう
そうでなければ、態々「遅そうなので却下」なんて書かないだろう
馬鹿であるまいに
919Name_Not_Found:2013/11/03(日) 15:57:14.50 ID:???
ベンチ取ってみた
http://jsperf.com/indexof-hunya
920Name_Not_Found:2013/11/03(日) 16:04:53.64 ID:???
例のmapと同じで標準のindexOfはキーの存在も考慮するから
ただのループでの実装とは別物だよ
比較すること自体がナンセンス

[,].indexOf(undefined); //-1
baseIndexOf([,],undefined); //0
921Name_Not_Found:2013/11/03(日) 16:09:36.00 ID:???
うん、だから最初っから
標準のindexOfは使うなって話なんだが。
922Name_Not_Found:2013/11/03(日) 16:10:45.15 ID:???
> 908 名前:Name_Not_Found[sage] 投稿日:2013/11/03(日) 15:20:05.97 ID:???
> lodashのuniqでも使われてるのか
> lodasherどうした?嘘つきか?

使われていませんでしたねw
923Name_Not_Found:2013/11/03(日) 16:18:50.41 ID:???
最近ここのスレが大人しくなったと思ってたら
アンチJSerがこっちに引っ越してきたのな
http://toro.2ch.net/test/read.cgi/tech/1382656209
924Name_Not_Found:2013/11/03(日) 16:47:57.54 ID:???
ここは質問者の質問に答えるスレで屁理屈で駄々をこねるスレではありません
ライブラリ厨は>>852の隔離スレに即刻退去しなさい
925Name_Not_Found:2013/11/03(日) 16:54:33.92 ID:???
もはやテンプレ修正論議してる暇はないけど、隔離スレはあるんだから皆でそっちへ
誘導したってください。
926Name_Not_Found:2013/11/03(日) 16:54:37.91 ID:???
テンプレ書き換えたほうがいいのかな
情報不足名質問が多すぎるわ
927Name_Not_Found:2013/11/03(日) 16:55:50.02 ID:???
>>924
そんなこと言っても全く効果ないと思うけど、
自分の思うとおりになってくれないのをみて
ムカついたりしないの?
928Name_Not_Found:2013/11/03(日) 16:57:36.34 ID:???
最近というか結構前からユーザスクリプト使いが増えたのか、JQuery関連の質問減ったね
テンプレにもユーザスクリプトならそう書くように明記させた方がいいんじゃね
混乱の元になりそうだ
929Name_Not_Found:2013/11/03(日) 17:08:42.01 ID:???
ユーザスクリプトってなんだ?
そういう言葉はあるが、お前違う意味で使ってるだろ?
930Name_Not_Found:2013/11/03(日) 17:18:34.81 ID:???
煽るにしてももっとマシな事言えないのかね
調べようともしないのか
931Name_Not_Found:2013/11/03(日) 17:19:03.64 ID:???
>>924-926
こういう自治厨って見てて哀れだわw
出来もしないことをグダグダ議論してるだけ。
どうせ他人を操作することなんて出来ないんだから
さっさとやってしまえばいい。

俺みたいにな

+ JavaScript の質問用スレッド vol.112 +
http://toro.2ch.net/test/read.cgi/hp/1383465702/
932Name_Not_Found:2013/11/03(日) 17:19:42.10 ID:???
って、書いて思ったけど、質問スレで言う事じゃねーな、ごめん
933Name_Not_Found:2013/11/03(日) 17:22:14.50 ID:???
【JavaScript】下らねぇ質問はID出して書き込みやがれvol.112
934Name_Not_Found:2013/11/03(日) 17:22:51.60 ID:???
ユーザースクリプトのベントアンサーを見て学びました。間違ってないと思います!
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1329900513

[ユーザースクリプト]

ユーザースクリプトとは、一般プログラマーが作成したスクリプト言語です。

よって、ユーザースクリプトとは、「プログラマーが独自に作り上げたスクリプト言語」という意味になります。
935Name_Not_Found:2013/11/03(日) 17:24:46.02 ID:???
ライブラリの話題は荒れるから迷惑かけるがスレ移ってちょうだいな
936Name_Not_Found:2013/11/03(日) 17:25:53.55 ID:???
いやです♪
937Name_Not_Found:2013/11/03(日) 17:43:17.25 ID:???
テンプレにライブラリの話題はよそでと明記する方向で考えたらいいんでないの。
ライブラリの質問来たらそう指摘すれば質問する人が減るでしょ。したら燃料が減るから
ご活躍の方も活躍する場面が減るわけで。
938Name_Not_Found:2013/11/03(日) 17:46:23.18 ID:???
冒頭の行を次のように改訂するのでどうですか。

JavaScript を自ら学ぶ人のための質問スレッドです。 ライブラリの話題はよそで。
939Name_Not_Found:2013/11/03(日) 18:03:18.88 ID:???
直線的すぎるw
940Name_Not_Found:2013/11/03(日) 18:10:03.39 ID:???
>>931
勝手にやってるあんたは自治房じゃないわけ?
自分勝手に突っ走っていいなら今後はそうするわ
941Name_Not_Found:2013/11/03(日) 18:26:04.29 ID:???
>>939
直線的なのが今回はいいかと思ったんだけど代案ある?
942Name_Not_Found:2013/11/03(日) 18:27:47.56 ID:???
自治されると困るヒトが自治厨煽りしてるだけでしょ。スルーでいいじゃん。
943Name_Not_Found:2013/11/03(日) 21:36:20.06 ID:???
Math.rand()が0になるってありえる?
944Name_Not_Found:2013/11/03(日) 23:27:11.96 ID:???
>>943 そりゃあるでしょ。非常に低い確率だけど。 1.0になるとしたらバグだけどね。
945Name_Not_Found:2013/11/03(日) 23:49:09.66 ID:???
じゃあ1行目だけ >>938 のように直すということで?
946Name_Not_Found:2013/11/04(月) 00:32:22.48 ID:???
オブジェクトから値で検索してキーを得るにはどうしたらいいですか?
947Name_Not_Found:2013/11/04(月) 01:32:50.94 ID:???
obj = {a:1, b:2, c:3};
val = 2
key = Object.keys(obj).find(key=>obj[key]===val); //"b"
948Name_Not_Found:2013/11/04(月) 01:49:58.89 ID:???
>>947
findなんてないよ。
949Name_Not_Found:2013/11/04(月) 01:51:43.99 ID:???
>>947
keysはIE8で動かないよ

アロー関数は新し目のFirefoxでしか動かないよ。
950Name_Not_Found:2013/11/04(月) 01:54:51.33 ID:???
>>948
Array.prototype.find
ChromeやFirefoxなんかで既に使える
http://kangax.github.io/es5-compat-table/es6/
951Name_Not_Found:2013/11/04(月) 01:56:26.35 ID:???
>>949
それくらい自分の好きに直して
後出し情報で偉そうにするのはNG
952Name_Not_Found:2013/11/04(月) 01:57:44.21 ID:???
_.findKey({a:1, b:2, c:3}, function(num) { return num === 2} );

アロー関数版


obj = {a:1, b:2, c:3};
val = 2
key = _.findKey(obj,num=>num===val); //"b"

(比較対象)
key = Object.keys(obj).find(key=>obj[key]===val); //"b"
953Name_Not_Found:2013/11/04(月) 02:01:29.49 ID:???
>>950
2013年10月29日 14時00分45秒

「Firefox 25」正式日本語版がリリース、他ブラウザから履歴や設定の読込が可能に
http://gigazine.net/news/20131029-firefox-25/

ほんの5日前から使えるようになったんだね。
それじゃあ採用できないな。
954Name_Not_Found:2013/11/04(月) 02:03:03.10 ID:???
>>951
俺は質問者じゃないよ。

単に問題点を指摘しただけ。
955Name_Not_Found:2013/11/04(月) 02:47:34.94 ID:???
>>949
lodashってそのままだとCSPに弾かれて使いものにならないからCSP対応ビルド使うんだけど
そうするとIE8とかじゃ上手く動かなかったと思う
956Name_Not_Found:2013/11/04(月) 02:52:49.22 ID:???
nextメソッドなどで読むたびに次の要素を返す配列って
lodashで作れますか?
957Name_Not_Found:2013/11/04(月) 02:53:56.44 ID:???
CSPって何です?
958Name_Not_Found:2013/11/04(月) 02:59:10.32 ID:???
Web屋ならContentSecurityPolicyくらい知っとけ
959Name_Not_Found:2013/11/04(月) 03:02:32.08 ID:???
ググった所、なんか面倒くさそうです
面倒さを増やすだけのものなんて無視でいいのでは
960Name_Not_Found:2013/11/04(月) 03:51:28.62 ID:???
>>955
なあ、おまえ。

lodashとかがの外部ライブラリを
直リンクで読み込んでんのか?

普通自分のサイトに置いて使うから
自作のjavascriptと同じで、CSPなんか
関係ねーだろ?
961Name_Not_Found:2013/11/04(月) 04:26:01.82 ID:???
CSPが理解できてない奴がいるみたいだが
CSPのデフォルトの設定だとeval系が禁止されるから
それを使ってるスクリプトは動かない
他所とかそういう問題ではないな
962Name_Not_Found:2013/11/04(月) 04:32:39.67 ID:???
ファッ!?lodashはevalなんて使ってんの?
963Name_Not_Found:2013/11/04(月) 05:01:51.51 ID:???
使われてねえよwww狂言乙w
964Name_Not_Found:2013/11/04(月) 05:06:47.52 ID:???
コスプって足かせにしか見えないんだが?
何が嬉しいの?
965Name_Not_Found:2013/11/04(月) 05:27:29.79 ID:???
いろんな脆弱性への防壁
966Name_Not_Found:2013/11/04(月) 05:35:59.60 ID:???
>>963
new Fuction
967Name_Not_Found:2013/11/04(月) 06:23:56.71 ID:???
lodashディスのためにわけのわからんもん持ち出してきたアンチ乙
968Name_Not_Found:2013/11/04(月) 06:39:48.73 ID:???
耳を疑った
この板もレベル落ちたんかなあ……
969Name_Not_Found:2013/11/04(月) 06:45:06.17 ID:???
関数が関数の中から自分自身を置き換えることはできますか?
970Name_Not_Found:2013/11/04(月) 06:48:27.09 ID:???
日本語でおk
971Name_Not_Found:2013/11/04(月) 06:49:15.01 ID:???
できる
ただし関数名を用いたコールには効果があるが当然参照コールにはない
972Name_Not_Found:2013/11/04(月) 06:51:08.37 ID:???
function hoge(){
var f = function(){
console.log("a");
};
hoge = f;
}

hoge();

これで出来てるようです
ただjsbinで警告が出ます
おそらくJSHINTを使っているのだと思いますが
警告を出さないようにする方法ありますか?
973Name_Not_Found:2013/11/04(月) 06:53:34.89 ID:???
一回目のコールで関数オブジェクトのプロパティを初期化
二回目以降は初期化チェックもしない
っていうのをしたいです
974Name_Not_Found:2013/11/04(月) 07:15:46.23 ID:???
こうするのが定跡


var MyFunction = function(x) {
InitMyFunction();
return MyFunction(x);
};


function InitMyFunction(x) {
......

MyFunction = function(x) {
......
}
......
}
975Name_Not_Found:2013/11/04(月) 09:25:16.01 ID:???
ありがとうございます
別関数にしなくてもこれでいけました\(^o^)/

var hoge = function (){
hoge = function(){
console.log("a");
};
return hoge();
};
976Name_Not_Found:2013/11/04(月) 09:34:10.87 ID:???
相談です。
例えば3字ずつ文字列を分割して配列に分けようとしています。

var a=[];
for(var i=0;i<s.length;){
var t="";
for(var j=0;j<3;j++){
if(i<s.length){
t+=s[i++];
}
}
a.push(t);
}

ここまで作りましたが、
s = "ab𠮟cdef";
の時など、文字によって化けることがあるものだと知りました。
化かさない方法をご享受ください。
977Name_Not_Found:2013/11/04(月) 09:53:43.91 ID:???
>>976
s = "ab𠮟cdef";


//ES5
s.match(/([\uD800-\uDBFF\uDC00-\uDFFF]?.){1,3}/g)

//ES6
s.match(/.{1,3}/gu);


//["ab𠮟", "cde", "f"]
978Name_Not_Found:2013/11/04(月) 10:01:06.11 ID:???
>>976
var fn = function(str, num) {
var len = str.length,
i = 0,
arr = [];

for (; i<len; i+=num) {
arr.push(str.substr(i, num));
}

console.log(arr);
return arr;
};

fn('test', 3); // ["tes", "t"]
fn('マルチバイト文字列', 3); // ["マルチ", "バイト", "文字列"]
979Name_Not_Found:2013/11/04(月) 10:01:55.17 ID:???
>>975
こういう関数を書き換えるテクニックをオライリーのJS本で読んだ記憶があるのですが
何だったか分かりますか?
980Name_Not_Found:2013/11/04(月) 10:07:36.26 ID:???
>>978
全くうまく行きません。
fn("ab𠮟cdef",3);

>>977
こんなに簡単に!
できましたありがとうございます!!!
981Name_Not_Found:2013/11/04(月) 11:57:08.88 ID:???
>>967
別にlodashディスってないだろ。
CSP対応のビルドまで公式で用意してあるって
逆に評価してるぐらいだ。

カスタムビルドもやり方は簡単。
http://lodash.com/custom-builds
http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/

node環境を用意して、npm i -g lodash-cliで
lodashのcliツールをインストール。
その後は、lodash mobile (またはcsp)ってやればいいだけ。
982Name_Not_Found:2013/11/04(月) 12:07:14.25 ID:???
せやな
そこまでして使ってるっていうんだからむしろ大ファンだろう
983Name_Not_Found:2013/11/04(月) 12:13:29.12 ID:???
CSP対応のビルドって今はmodernビルドのエイリアスになってるよ。
mobileビルドはmodernビルド+Safari5.1未満対応

http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/
> The modern build also includes pre-compiled iteration methods,
>making it suitable for use in environments that enforce the content
>security policy. The csp build, previously recommended for this purpose,
>is now an alias of the modern build.

>The mobile build is based on the modern build, but includes additional fixes for Safari < 5.1.
>These are necessary for compatibility with Mobile Safari on iOS 5.

だからlodashのトップにおいてあるmodernビルドを使えばいいだけだね。
わざわざ自分でカスタムビルドを作る必要はない。

modernビルドがIE8で動かないのは、そもそもES5に最適化したのがmodernビルドだから。
デフォルトはlodash compatビルドだよ。
984Name_Not_Found:2013/11/04(月) 12:29:46.31 ID:+8XA1Gxp
すいません、hoge.js(Answer.hoge)の中身を3秒おきに取得したいのですが、どうやったらよいでしょうか?

現在、下記のようになっており、hoge.jsの中を変えても、反映されません。

<script type="text/javascript" src="hoge.js"></script>
<div id="strbiz">このタグの中身を書き換えます。</div>

<script>
<!--//
var INTERVAL=3000;
var COUNT_MAX=300;
var cnt=0;
function callback(value) {
if (cnt > COUNT_MAX) {
clearInterval(id);
return;
}
if(Answer.hoge == 1){
document.getElementById("strbiz").innerHTML='<a href="javascript:void(0);" onclick="this.href=bizurl;">クリックしてください </a>"cnt"';
}else{
document.getElementById("strbiz").innerHTML='<a href=\'javascript:void(0)\' onClick="window.open(bizurl,\'subwin\',\'width=300,height=300\');">入力が間違ってます</a>';
}
cnt++;
}
var id=setInterval("callback('value');", INTERVAL);
//-->
</script>
985Name_Not_Found:2013/11/04(月) 12:38:26.02 ID:???
>>984
コードの書き方が古すぎる。

* hrefにjavascript入れるな
* onclick使うな
* setIntervalに文字列を入れるな

まずそこから始めよう
986Name_Not_Found:2013/11/04(月) 12:46:30.58 ID:+8XA1Gxp
>>985
さっそくありがとうございます。自分の情報古いですね。


<script type="text/javascript" src="hoge.js"></script>

の中身を定期的に読み込みに行く処理はどうやったらいいか分かりますか?
987Name_Not_Found:2013/11/04(月) 12:53:06.82 ID:???
わかるけど、コード汚くて読むきしねぇwww
988Name_Not_Found:2013/11/04(月) 14:03:11.05 ID:???
まずは
Script要素のtypeとコメントアウトを取ってくれ
989Name_Not_Found:2013/11/04(月) 14:11:07.75 ID:???
>>988
コメントは省略不要だし、type属性もHTML5か不明なのに省略させちゃ駄目じゃないか
990Name_Not_Found:2013/11/04(月) 14:13:14.72 ID:???
意味不、デファクトのコメントアウトがいいんなら
同じくデファクトでtype省略も問題無いだろ
矛盾し過ぎ
991Name_Not_Found:2013/11/04(月) 14:21:14.24 ID:???
>>989
「省略不要」って要るのか要らないのか判りにくいぞ。
992Name_Not_Found:2013/11/04(月) 14:36:47.48 ID:???
>>991
コメントアウトはポリシー次第だからどちらを選ぶかは製作者の自由だけど、何も言わずにコメントアウト不要はないと思った
個人的には古いブラウザを考慮して残すか外部JS化がいいと思うけどね
993Name_Not_Found:2013/11/04(月) 14:42:58.50 ID:???
スクリプトを表示してしまうようなガラケーは
ほぼ停波で消えたし考える必要ないな
HTMLコメントについては今でもパーサーを新しくしているV8で
他の実装との差について触れられてたりするし
使わないのが何より吉

あと本番では外部ファイルが基本だけど
ここに書くときは不要なものは全部取り去って埋めるのでいい
それかどこかにあげる
994Name_Not_Found:2013/11/04(月) 14:44:43.26 ID:???
>>990
> 同じくデファクトでtype省略も問題無いだろ
お前は何を言ってるんだ?
周りがやっていたら何でもやっていいと思っちゃうタイプなのか
995Name_Not_Found:2013/11/04(月) 14:47:26.89 ID:???
typeはVBScriptと混在させて書いた時のIEでくらいしか関係ないな
996Name_Not_Found:2013/11/04(月) 14:50:47.36 ID:???
>>992,994
何ムキになってんだ?
ただでさえ2chはソースコードが読みにくいから
ゴチャゴチャ書かない方がいいって言ってんだよ
>>987に乗ってのコメントなの、分かります?
別に人のスタイルやポリシーにまでは口は出さないが
読む人の事を考えてってことだよ言わせんな恥ずかし
997Name_Not_Found:2013/11/04(月) 14:53:33.58 ID:???
>>993
そうなんだよねえ
最近のブラウザならscript要素を理解しないブラウザはないから、という主張も理解できるから強くは反対できない
どちらの主張も理解できるから理由を述べた上で意見するべきだと思うんだよな
998Name_Not_Found:2013/11/04(月) 14:55:13.35 ID:???
HTML4.01においてtype属性は必須であり、省略できない
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/scripts.html#h-18.2.1
デファクト云々の人はにわかなので放置で
999Name_Not_Found:2013/11/04(月) 14:56:26.04 ID:???
>>998
自分の首絞め乙
1000Name_Not_Found:2013/11/04(月) 14:57:22.17 ID:???
>>1000ならいろんな厨しぼう
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。