+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net

このエントリーをはてなブックマークに追加
1Name_Not_Found
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

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


+ JavaScript の質問用スレッド vol.122 +(c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1420095379/

(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
2Name_Not_Found:2015/01/24(土) 16:23:50.09 ID:???
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■前スレ
+ JavaScript の質問用スレッド vol.122 +(c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1420095379/

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

■関連スレ
ECMAScript デス 4
http://peace.2ch.net/test/read.cgi/tech/1325448978/
JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
Webサイト制作初心者用質問スレ part241
http://peace.2ch.net/test/read.cgi/hp/1408512894/
CSS初心者スレッド=12th=
http://peace.2ch.net/test/read.cgi/hp/1343429848/
Canvasについて語ろう
http://peace.2ch.net/test/read.cgi/hp/1305093769/
3Name_Not_Found:2015/01/24(土) 16:24:22.71 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:2015/01/24(土) 16:24:52.20 ID:???
■各種仕様 ( 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)
5Name_Not_Found:2015/01/24(土) 16:26:32.69 ID:???
■諸注意
vol.116で一人の心ない人が勝手に決めたライブラリ禁止は撤回されました。
今後はライブラリに関する質問も受け付けます。
ライブラリ禁止を叫ぶやからはスルーしてください。
6Name_Not_Found:2015/01/24(土) 16:28:43.46 ID:???
■関連スレ 2
【JavaScript】gruntとかタスクランチャー専用スレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422024305/
【JavaScript】backbone専用スレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422023660/
JavaScript開発ワークフローツール専用スレ yeoman [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422027369/
【JavaScript】angulerjs専用スレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422023699/
【javadcript・jQuery】動作が軽くて効率的なコード
http://peace.2ch.net/test/read.cgi/hp/1400322316/
backboneとかangulerjsとかのフレームワークスレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422023732/
JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
くだすれjavascript(超ウルトラ初心者用) その1 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1419839086/
JavaScript Tips コレクション
http://peace.2ch.net/test/read.cgi/hp/1070611524/
  1行javascriptプログラミング   
http://peace.2ch.net/test/read.cgi/hp/1066750037/
W3C DOM仕様の話題・質問スレ (JavaScript以外もOK)
http://peace.2ch.net/test/read.cgi/hp/1403285840/
【DOM】ブラウザ上で動くJavaScriptスレ【jQuery】
http://peace.2ch.net/test/read.cgi/hp/1403286918/
純粋JavaScript(ECMAScript)専用質問スレ
http://peace.2ch.net/test/read.cgi/hp/1400502900/
ブラウザ搭載JavaScriptスレ (Ajax,DOM含む)
http://peace.2ch.net/test/read.cgi/hp/1409614555/
くだすれjavascript(超初心者用) その1(c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1419789660/
7Name_Not_Found:2015/01/24(土) 16:31:31.71 ID:???
■関連スレ 3
Angulerはオワコン★WebComponents & polymerスレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1422023928/
Webサイト制作初心者用質問スレ part244 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1421469214/
【jQuery】演出系サイト制作
http://peace.2ch.net/test/read.cgi/hp/1399741497/
くだすれAjax(超初心者用)
http://peace.2ch.net/test/read.cgi/hp/1127340053/
HTML5はなぜ失敗したのか
http://peace.2ch.net/test/read.cgi/hp/1349593918/
Javascriptで「戻る」を作るのやめてくれない?
http://peace.2ch.net/test/read.cgi/hp/1104788634/
HTML5が2つのバージョンに分裂、どちらで開発する?
http://peace.2ch.net/test/read.cgi/hp/1343143088/
JavaScriptでパスメを作る
http://peace.2ch.net/test/read.cgi/hp/1206110183/
JavaとかActiveX使ってホームページ作ってる奴って
http://peace.2ch.net/test/read.cgi/hp/1166089001/
JavaScriptは難しすぎ
http://peace.2ch.net/test/read.cgi/hp/1132400636/
JavaScript使ってるサイトは糞
http://peace.2ch.net/test/read.cgi/hp/1093711210/
8Name_Not_Found:2015/01/24(土) 16:36:55.26 ID:???
■JavaScript主要ライブラリ・フレームワーク

jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
9Name_Not_Found:2015/01/24(土) 19:52:14.47 ID:vwrk6Z7/
以前、質問した者です
おかげさまでシステムが完成して300万円で飛ぶように売れてますw
教えてくれてありがとうございましたw
10Name_Not_Found:2015/01/24(土) 19:53:45.94 ID:???
>>9
どう致しまして。
11Name_Not_Found:2015/01/26(月) 23:06:50.28 ID:???
ライブラリ禁止がいやなら↓がまだあるのになんで新しく建てたの?

http://peace.2ch.net/test/read.cgi/hp/1410603104/l50
http://peace.2ch.net/test/read.cgi/hp/1418395948/l50
12Name_Not_Found:2015/01/27(火) 00:53:56.92 ID:???
lodash 3.0 キタ━━━━(゚∀゚)━━━━!!
13Name_Not_Found:2015/01/30(金) 22:59:11.73 ID:???
>>11
毎回そうだけど、現行スレでライブラリ禁止の話が出ると次スレを乗っ取ろうとしてフライングして立てる人が出てくる
いつもの事ながら呆れる
14Name_Not_Found:2015/02/02(月) 13:53:34.15 ID:???
結局乱立させた自分のスレがどこも伸びないからって戻って荒らしてるよ
この状態が何年続くのかね
15Name_Not_Found:2015/02/02(月) 14:08:49.57 ID:???
細分化しても伸びないんだから
JavaScriptは全部一つにまとめろって。
16Name_Not_Found:2015/02/13(金) 23:22:56.63 ID:qxiSVRF8
前スレ>>1000
解答になってません
17Name_Not_Found:2015/02/13(金) 23:25:10.66 ID:???
言う事が全て嘘だからフォローする事もできないな...
18Name_Not_Found:2015/02/13(金) 23:26:39.86 ID:???
あまりにも小出しな上に文句しか言わないからめんどくさい。
19Name_Not_Found:2015/02/13(金) 23:27:37.77 ID:???
何でJS使わないといけない縛りしてんの
20Name_Not_Found:2015/02/13(金) 23:27:48.96 ID:qxiSVRF8
もういいです!
JavaScriptの質問なのにCSSでしか解答しない人には用はありません
21Name_Not_Found:2015/02/13(金) 23:29:03.22 ID:???
「ヘッダー固定 アンカー」でググれば腐るほど答え出てくるけどな
22Name_Not_Found:2015/02/13(金) 23:29:09.54 ID:???
そんなにJavaScriptを使いたいならJavaScriptでCSS追加すれば解決するだろうに考える頭もないのか
23Name_Not_Found:2015/02/13(金) 23:31:11.64 ID:???
「(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。」と書いてあっただろうに
テンプレを全く読んでないんだろうな
24Name_Not_Found:2015/02/14(土) 04:46:48.50 ID:???
chromeのtweetdeckが最近急に落ちるようになりました
タブごと死ぬのです
JavaScriptが原因でブラウザが落ちるってヤバくないですか?
25Name_Not_Found:2015/02/14(土) 04:57:04.44 ID:???
JavaScriptでChromeが落ちることはありえないので、
つまりJavaScriptが原因じゃないってことです。
26Name_Not_Found:2015/02/14(土) 05:07:08.17 ID:???
tweetdeckはJavaScriptで動いているはずなので他に原因は考えられませんが
27Name_Not_Found:2015/02/14(土) 05:09:29.15 ID:???
react.jsっていうのを知りました
http://qiita.com/koba04/items/4d13caf5ab4507974bf0
React.jsではJavaScript内にVIRTUAL DOMとしてDOM Treeのような構造体を持っています。
rerenderされる際に、その構造体の前後の状態を比較し、最小限の変更で実際のDOMに反映します。

この機能がいいと思います
どうですか?
28Name_Not_Found:2015/02/14(土) 06:46:37.24 ID:???
>>24
JavaScriptで死ぬことも当然あるし、他の原因で死ぬこともある
ところで質問は?
29Name_Not_Found:2015/02/14(土) 07:00:21.10 ID:???
>>28
ヤバくないですか?
って聞いてるのが分からないんですか?
30Name_Not_Found:2015/02/14(土) 07:01:27.80 ID:???
>>29
それが質問だったのか
別に普通です
31Name_Not_Found:2015/02/14(土) 07:36:50.55 ID:???
ヤバくはないし、JavaScriptが原因かどうかも疑わしい
32Name_Not_Found:2015/02/14(土) 09:49:10.35 ID:???
いえ、断じてヤバいです
33Name_Not_Found:2015/02/14(土) 10:15:20.09 ID:???
>>32
あなたがそう思うならヤバいんだろうね
頑張ってね
34Name_Not_Found:2015/02/14(土) 10:57:50.59 ID:???
strict mode でグローバルオブジェクトを取得する方法で、こんな方法を見かけました
function f(window){
"use strict";
var global = (0,eval)("this");
}
f();
なぜこの方法で行けるのですか?
eval("this")だと確かにグローバルオブジェクトが取得できないのですが、上の方法でなぜ取得できるのか分かりません。
35Name_Not_Found:2015/02/14(土) 11:04:20.59 ID:???
evalのthisが指しているオブジェクトがwindowだから
window.eval
36Name_Not_Found:2015/02/14(土) 11:37:33.23 ID:???
>>34ではないが、なぜ this でグローバルオブジェクトを参照できるのか理解できない

(function () {
'use strict';
console.log(eval('this')); // undefined
console.log((0,eval)('this')); // [object window]
}());

Strict Mode 影響下にあるのだから this === undefined になるべきだと思うが、考え違いをしているのだろうか
なぜ後者だけグローバルオブジェクトを参照できるのか理解できない
そもそも、こういう場合はスコープの関係上、Function を使うものだと思っていたのだが…
37Name_Not_Found:2015/02/14(土) 11:43:56.04 ID:???
だと思うじゃなくてコードを実行しろよ
(function(){
console.log(this);
})()
38Name_Not_Found:2015/02/14(土) 12:09:37.92 ID:???
>>37
何がいいたい?
39Name_Not_Found:2015/02/14(土) 12:18:18.97 ID:???
>>37
「Function を使ってグローバルオブジェクトを取得する方法を教えてくれ」という質問だと勘違いしてるんじゃない?
40Name_Not_Found:2015/02/14(土) 13:04:01.97 ID:???
ところで、このスレは継続して使うのかな
荒らしの立てたスレだから誰かが前スレで作られたテンプレ通りに立て直すものだと思っていたんだけど
(自分は制限ホストの為、立てられない)
41Name_Not_Found:2015/02/14(土) 13:05:39.16 ID:???
>>34
>>36が触れているように実行するスコープが違うだけ。strict mode自体はあまり関係ない。
>>34の例だと、evalのコードはグローバルスコープで実行されるので、this===windowとなる。
説明すると結構ややこしいけど…もし興味があるなら、以下の説明をどうぞ。

evalの実行には"Direct Call"と"Indirect Call"の2種類の方法がある。
前者はローカルスコープで実行され、後者はグローバルスコープで実行される。
(他の関数には存在しない特性なので、要注意)
http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.2

"Direct Call"になる(=ローカルスコープで実行される)条件は、以下の全てを満たすとき。
(1) CallExpression の形で実行されること
(2) CallExpression を構成する MemberExpression の型が Reference であること
(3) Reference の base が environment record であること
(4) base の reference name が "eval" であること
逆に、(1)〜(4)のどれか一つでも満たさない場合は、"Indirect Call"(=グローバルスコープ)になる
http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.2.1.1

(1)〜(4)を全部説明すると長くなるので、自分で調べるか、分からなかったら言ってくれ。
eval("this") だと(1)〜(4)すべてを満たすので、ローカルスコープで実行される。
(0,eval)("this") だと(2)以降を満たさないので、グローバルスコープで実行される。
4236:2015/02/14(土) 13:44:05.58 ID:???
>>41
ありがとう
完全ではないが、理解した
("Indirect Call" は Function('return this;')(); と何も変わらないわけでバッドノウハウに留まる感じだが、知識として覚えておきたかった)

(function () {
'use strict';
var globalEval = eval;
console.log(eval('this')); // undefined
console.log(globalEval('this')); // [object window]
}());


> strict mode自体はあまり関係ない。
Strict Mode でなければ "Direct Call"と"Indirect Call" のいずれも this === window となるのだから無関係とはいえないのでは?
>>34は Strict Mode でもグローバルオブジェクトを参照する方法を求めて質問したのだと想像するが…
4336:2015/02/14(土) 13:56:20.43 ID:???
改めて確認してみたが、"Indirect Call" の概念は ES5 から導入された仕組みなんだな
ES3 には存在しなかった
http://bclary.com/2004/11/07/#a-15.1.2.1
https://web.archive.org/web/20140802211018/http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-1_Global_Object.html#section-15.1.2.1
クロスブラウザの観点から考えると 2016/01/12 までは Function を使用するコードが無難になるのか
4441:2015/02/14(土) 14:48:51.13 ID:???
>>42
「Strict Mode 自体はあまり関係ない」と言ったのは、this に限らず他の変数にも言えることなのでそう記述した。
var hoge = "global";
(function(){
var hoge = "local";
console.log( eval("hoge") ); // local
console.log( (0,eval)("hoge") ); // global
})();
それに、非Strict Mode でも this が window 以外のことはいくらでもあるから、Strict Modeが関係あるというのは語弊があると思った。
まあこの辺は言い方の問題なので、あまり突っ込まないでほしいw

おっしゃる通り、"Indirect Call" は ES5 からの仕組みなので、例えば IE8 以前では上のコードは local,local になる。
この方法を用いるのは時期尚早だし、>>42の指摘のある通りそもそもバッドノウハウの部類なのであまりお勧めできないだろう。
45Name_Not_Found:2015/02/14(土) 16:46:44.91 ID:???
lodash 3.2.0リリースされたね。
https://github.com/lodash/lodash/wiki/Changelog

またいくつか関数が増えているようだ。
46Name_Not_Found:2015/02/14(土) 17:47:35.78 ID:???
>>40
荒らしが立てたスレでも通常通り進行できるなら問題なくね
ちゃんとしたテンプレでスレ立てたところで、そこに荒らしが来るのは分かり切ってるし

それよりもスレが乱立しすぎてそれぞれが過疎ってしまうことの方が恐ろしい
http://peace.2ch.net/test/read.cgi/hp/1410603104/
http://peace.2ch.net/test/read.cgi/hp/1418395948/
http://peace.2ch.net/test/read.cgi/hp/1422084185/
47Name_Not_Found:2015/02/14(土) 18:21:32.72 ID:???
本来は放置するのが鉄則だし
あくまで避難先にしてテンプレ固まり次第早々に建てたほうがいいよ
48Name_Not_Found:2015/02/14(土) 18:24:05.08 ID:???
>>47
そしたらまた建てなおされるだけだぞ。

それが嫌だって言ってるんだが。
49Name_Not_Found:2015/02/14(土) 18:36:39.20 ID:???
Chromeの新しいタブを開いてdocument.titleを見ても空なんですがどうやってタイトルを取得できますか?
document.title = 'a'ってやれば勿論上書き輪出来るんですが取得だけできないようで・・・
50Name_Not_Found:2015/02/14(土) 18:40:35.08 ID:???
新しいタブなんだから、空に決まってるだろ?
51Name_Not_Found:2015/02/14(土) 18:43:14.22 ID:???
いやでもlocation.hrefはとれますよ
52Name_Not_Found:2015/02/14(土) 18:45:02.17 ID:???
だから、URL=location.hrefに入っている奴、タイトル=空 なんだろ。
53Name_Not_Found:2015/02/14(土) 18:45:07.26 ID:???
Title要素がないから取得した結果が空なんじゃない
54Name_Not_Found:2015/02/14(土) 18:46:50.73 ID:???
ソースマップファイルというのを使えばminなJSでもデバッグできるようになるらしいですが
どういう仕組みで出来るようになるのでしょうか?
55Name_Not_Found:2015/02/14(土) 18:49:08.08 ID:???
>>49
configData.translatedStrings.title
56Name_Not_Found:2015/02/14(土) 18:51:58.06 ID:???
configDataなんてオブジェクトはありません
57Name_Not_Found:2015/02/14(土) 18:53:25.35 ID:???
>>48
新しく立てられても放置すれば問題ない
58Name_Not_Found:2015/02/14(土) 18:56:16.41 ID:???
>>49
title要素がないんだから仕様通りでしょ
59Name_Not_Found:2015/02/14(土) 19:00:49.25 ID:???
荒らしが建てたスレで、荒らし対策の話し合い…
なんか笑えてくる
60Name_Not_Found:2015/02/14(土) 19:03:50.84 ID:???
>>57
お前は放置するんだよな。

うん。

で、お前だけが書き込むのか?
61Name_Not_Found:2015/02/14(土) 19:06:26.24 ID:???
>>60
今まで放置され続けてきたのに今更何を言ってるのか
そんなに使いまわしたいなら君が率先して>>11の若いスレから使ってきなよ
62Name_Not_Found:2015/02/14(土) 19:11:04.36 ID:???
>>54
JS側にそういう仕様があるわけではない
Chromeにそういう機能が付いてる
6336:2015/02/14(土) 19:13:15.81 ID:???
>>44
> それに、非Strict Mode でも this が window 以外のことはいくらでもあるから、Strict Modeが関係あるというのは語弊があると思った。
> まあこの辺は言い方の問題なので、あまり突っ込まないでほしいw
了解した
64Name_Not_Found:2015/02/14(土) 19:18:15.90 ID:???
荒らしが新スレを立てようが放置すればいいだけ
荒らしの立てたスレを使うから荒らしが調子に乗って新スレを立てる
多分、近いうちにvol.124も立つだろう
使われると分かれば間違いなく立てる
立てても無駄だと理解させないと駄目
65Name_Not_Found:2015/02/14(土) 19:19:28.29 ID:???
わかりやすく変な改行してるんだからスルーしときゃいいものを
66Name_Not_Found:2015/02/14(土) 19:23:48.40 ID:???
新スレ用のテンプレは前スレ891で。
ホスト制限ない人が立ててくれれば有難い。
http://fiddle.jshell.net/fH4cC/167/show/
http://fiddle.jshell.net/vSqKr/43/show/
67Name_Not_Found:2015/02/14(土) 19:33:23.69 ID:???
>>62
ありがとうございます
知らないうちにそんな機能が付いてたんですね
68Name_Not_Found:2015/02/14(土) 20:03:07.15 ID:???
+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423910471/

荒らしが重複スレを立ててるな
立てた本人が責任を持って消化しろよ
69Name_Not_Found:2015/02/14(土) 20:07:47.33 ID:???
別に立てんでもいいだろ
何個もこの板に乱立すんな
70Name_Not_Found:2015/02/14(土) 20:10:26.89 ID:???
幼稚なアホがまた立てたのか
71Name_Not_Found:2015/02/14(土) 20:12:18.93 ID:???
hp:Web制作管理[スレッド削除]
http://qb5.2ch.net/test/read.cgi/saku/1297500681/
72Name_Not_Found:2015/02/14(土) 21:15:48.46 ID:???
相変わらずカオスだな、JavaScriptスレは…
73Name_Not_Found:2015/02/14(土) 21:26:46.81 ID:???
ようやくスレが立った

■現行スレ
+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423915644/

■荒らしが立てたスレ
http://peace.2ch.net/test/read.cgi/hp/1410603104/ (vol.121)
http://peace.2ch.net/test/read.cgi/hp/1418395948/ (vol.122)
http://peace.2ch.net/test/read.cgi/hp/1422084185/ (vol.123)
http://peace.2ch.net/test/read.cgi/hp/1423913913/ (vol.123)
http://peace.2ch.net/test/read.cgi/hp/1423910471/ (vol.123)
74Name_Not_Found:2015/02/14(土) 21:44:44.91 ID:???
下から二番目は単なるミスっぽい気もするが
とにかくお疲れさま
75Name_Not_Found:2015/02/14(土) 21:45:33.93 ID:???
いちいち荒らしとか認定してる奴が幼稚きわまりない
ネトウヨかよ
あるスレを淡々と消化していけよ
しょうもない
76Name_Not_Found:2015/02/14(土) 21:50:17.34 ID:???
>>74
スレを立てる時に間に余計なテンプレを挟まれたらしい
http://peace.2ch.net/test/read.cgi/hp/1423913913/12n
「荒らしが関与したスレ」にすれば御幣がなかったかもしれないな
77Name_Not_Found:2015/02/14(土) 21:53:04.36 ID:???
しれないな
じゃねーよクズが
78Name_Not_Found:2015/02/14(土) 21:56:27.12 ID:???
よく見たらスレありすぎわろた
スレ立て権を無駄に消費すんな
先に立ったスレに優先権があるんだからそのスレを粛々と使っていけばいいだけ
79Name_Not_Found:2015/02/14(土) 21:56:52.73 ID:???
こうしてvol. 123スレは4つできたわけかw
次スレはいくつできるだろうかね?w
80Name_Not_Found:2015/02/14(土) 22:06:33.11 ID:???
荒らしの学習能力の無さに笑った
vol.124でも無駄に新スレ立てるんだろうな
81Name_Not_Found:2015/02/14(土) 22:23:19.22 ID:???
今だに手作業で次スレを立てるのって何でなの?
手間かかるし、混乱と喧嘩が絶えないし、良いこと無いように見えるけど。
82Name_Not_Found:2015/02/14(土) 22:27:16.83 ID:???
とりあえず全部解消するまでスレたてんなや
83Name_Not_Found:2015/02/14(土) 22:35:56.55 ID:???
>>81
2chに要望を出すか、2chに代わる掲示板システムを君が開発してくれ
84Name_Not_Found:2015/02/14(土) 23:05:44.06 ID:???
>>80
たてるなよ。たてるなよ。
ダチョウ倶楽部ですね?
85Name_Not_Found:2015/02/14(土) 23:08:18.74 ID:???
自動で立つと切りがいいからここで終わりにしようって事が出来なくなるだろ
それに新規に建てる事なんていくらでも出来るし自動で建てる事のメリットはほぼ皆無
精々スレ番がちゃんとインクリメントされるぐらいだ
86Name_Not_Found:2015/02/15(日) 00:02:53.34 ID:???
テンプレに相当する情報をwikiのような共有スペースにして次スレ作成ボタンを主導で押して次スレを立てられるなら便利かもな
同じスレグループは同一リストに入れる事も出来るし
87Name_Not_Found:2015/02/15(日) 00:12:25.14 ID:???
そしてテンプレに相当するwikiを書き換えて
スレ立てボタンを押す。いいね。面白いw
88Name_Not_Found:2015/02/15(日) 07:06:47.71 ID:???
よく見たらこのスレも残ってるじゃん
こっちを先に使えよ
アホかよ

+ JavaScript の質問用スレッド vol.121 +
http://peace.2ch.net/test/read.cgi/hp/1410603104/
89Name_Not_Found:2015/02/15(日) 14:30:21.34 ID:???
window.hogeに何も値を入れなければundefinedですが
一時的にwindow.hogeに値を入れて削除したい場合はwindow.hogeにundefinedを代入すればいいんですか?
それともdelete window.hogeしたほうがいいですか?
90Name_Not_Found:2015/02/15(日) 14:40:29.44 ID:???
現行スレ
+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423915644/
91Name_Not_Found:2015/02/15(日) 16:07:39.50 ID:???
>>89
値を代入する前と同じ状態にしたいなら、delete
92Name_Not_Found:2015/02/15(日) 16:15:13.80 ID:???
つかいますをつかうようにしますdelete
93Name_Not_Found:2015/02/15(日) 16:25:35.98 ID:???
あとすいません
var hoge = 1;
(function(){
'use strict';
console.log(window.hoge);
delete window.hoge;
console.log(window.hoge);
}());
これ実行すると Uncaught TypeError: Cannot delete property 'hoge' of [object global]って出てdelete出来ないんですがなぜですか?
ちなみに'use strict';を消すとdeleteしたら2番めのconsole.logでundefinedになってくれました
なんでstrictモードだとこれでhogeを削除できないんですか?
94Name_Not_Found:2015/02/15(日) 18:36:51.68 ID:???
必死にここを盛り上げようとしているようだけど、混乱を招きそうなのでいっておく
質問は下記スレッドへ

+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423915644/
95Name_Not_Found:2015/02/15(日) 21:27:33.58 ID:???

荒らしいい加減にしろ
96Name_Not_Found:2015/02/15(日) 22:39:17.22 ID:???
Math.random()って偏りがあるんですか?
97Name_Not_Found:2015/02/15(日) 22:45:05.58 ID:???
98Name_Not_Found:2015/02/15(日) 23:25:35.50 ID:???
なんかここからコピペされたみたいです・・・
http://peace.2ch.net/test/read.cgi/hp/1423915644/21
99Name_Not_Found:2015/02/15(日) 23:29:19.13 ID:???
---
欠点
シングルトンがある場合、往々にして、システム内のモジュール同士が密結合していたり、 ロジックがコードベースのあちこちに散らばっていることを示します。
隠れた依存関係があること、複数のインスタンスを作成するのが困難なこと、依存関係をスタブで表現しにくいことなど 様々な問題により、シングルトンのせいでテストがより難しくなることがあります。
http://blog.yuhiisk.com/archive/2014/09/21/javascript-pattern5.html
---

この理屈に納得できません
「シングルトンがあるからモジュール同士の依存関係が出来る」となぜいえるのでしょうか
100Name_Not_Found:2015/02/15(日) 23:29:55.55 ID:???
線形合同法でググれ
101Name_Not_Found:2015/02/15(日) 23:31:25.55 ID:???
このスレいつからscになったの?
102Name_Not_Found:2015/02/15(日) 23:34:18.24 ID:???
+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423915644/

↑のスレのタイムマシンみたいですね
オリジナルの質問は↑にしかないのでここは過去に戻りたい方向けのようです
103Name_Not_Found:2015/02/15(日) 23:40:44.55 ID:???
間違ったスレで質問したようなので
こっちで質問し直しただけですが?
変な言いがかりはやめてもらえますかね
104Name_Not_Found:2015/02/15(日) 23:41:52.36 ID:???
test

-[]って使い道ある?
105Name_Not_Found:2015/02/15(日) 23:43:07.85 ID:M+u02rhw
http://peace.2ch.net/test/read.cgi/hp/1423915644/22 ですが、>>99は私ではありません
回答はあちらにスレにお願いします
106Name_Not_Found:2015/02/15(日) 23:43:39.84 ID:???
>>105
なりすましをやめて下さい
107Name_Not_Found:2015/02/15(日) 23:53:24.71 ID:???
>>106
あなたがなりすましかもしれないね
108Name_Not_Found:2015/02/16(月) 03:26:01.85 ID:???
質問をコピペしないでください。マルチポストになってしまいます
109Name_Not_Found:2015/02/16(月) 06:40:42.44 ID:Ig42YN7J
ふと思ったのですがjavascriptにはgotoがありませんが
特に困った記憶がありません
なぜgotoがなくても問題ないのでしょうか?
11093:2015/02/16(月) 10:16:04.97 ID:???
>>93おねがいします
111Name_Not_Found:2015/02/16(月) 12:11:06.36 ID:???
このスレで回答してくれるのは恐らく荒らしだけなので、回答が付かないようであれば移動することをお勧めします。
112Name_Not_Found:2015/02/16(月) 15:12:21.62 ID:???
>>109
無理やりスパゲッティコードでも
文脈の外へgoto また文脈の中へ gotoくらいなら
callback関数でなんとかなるからかな

goto文が複雑に入り乱れたコードになると
さすがにほぐすのは大変だろうけど
113Name_Not_Found:2015/02/16(月) 15:25:38.95 ID:???
>>112
違う違う
breakとcontinueにラベルを付けられるからでしょ
実質gotoと同じ機能だ
114Name_Not_Found:2015/02/16(月) 16:48:36.15 ID:???
>>113
continue は行き先が決まってるし
break は元のブロックの内部に戻れないぞ
115Name_Not_Found:2015/02/16(月) 17:14:09.77 ID:???
>>114
実質同じって事は仕様的に一緒って言う事じゃなくて通常使いの範疇で役割が一緒って事だ
(要するにネストしたループ内からの脱出)
ブロックの中に戻るなんてCでもまず間違いなくやらんぞ
それとcontinueもbreakと同じようにラベル使えるけど
116bti:2015/02/16(月) 18:54:57.44 ID:ZOdRBOCQ
このリンクからビットコイン購入・販売所bitFlyerにご登録すると
1000円分のビットコインがもらえます!

https://bitflyer.jp/gift/fn0tlipl

外部ウォレットに送金できるので、とにかく一応もらっておくといいです。
117Name_Not_Found:2015/02/16(月) 19:55:14.14 ID:???
>>115
C だったら long_jump 使うことはあるんじゃね?
118Name_Not_Found:2015/02/16(月) 20:45:07.31 ID:???
>>117
setjmp, longjmpだな
それは基本的にブロックどころか関数外に飛ぶ為のもんだ (スタックポインタをいじる為のもん)
119Name_Not_Found:2015/02/16(月) 22:23:07.74 ID:???
>>109
> ふと思ったのですがjavascriptにはgotoがありませんが
> 特に困った記憶がありません
> なぜgotoがなくても問題ないのでしょうか?

gotoの代わりになるものが存在するから。

1. 関数呼び出し、return
2. continue、break
3. for
4. if 〜 else
5. try 〜 catch (throw)

こんな所かね?

これらの機能がない言語っていうのもあって
例えばアセンブリ言語なんか、3, 4, 5 が無いし
C言語でも5がない。

実はgotoは1〜5の機能を実装できる万能機能。
しかも1〜5では不可能な、どこにでもジャンプできるという高機能な点もある。

じゃあgotoだけがあればいいじゃん?って思うかもしれないけど
歴史的にはgotoが先に生まれて、そのあとgotoの「どこにでもジャンプできる」というのは
コードを著しく複雑にするというのが判明した。
「どこにでもジャンプできる」というのは欠点とみなされたわけ。

そののち制限されたgotoとして1〜5の機能が生まれた。
gotoが無いと困る言語っていうのは、1〜5の機能が無いか、
あってたとしても少し機能が足りないから。
120Name_Not_Found:2015/02/16(月) 22:29:53.33 ID:???
>>119
随分適当だな…
gotoの代わりになってるのは2.5.だぞ
> 実はgotoは1〜5の機能を実装できる万能機能。
ジャンプ出来るのは関数内だけだ
そう考えると関数を越えられる5も違うと言える
ようするに2だけ
121Name_Not_Found:2015/02/16(月) 22:50:29.94 ID:???
>>120
俺が言ってるGOTOっていうのは、
C言語のGOTOじゃなくて、BASICのGOTOだよ。
もちろんVBとかじゃなく、初期のBASICね。

BASIC・・・1964年生まれ
C言語・・・1973年生まれ

> ジャンプ出来るのは関数内だけだ
BASICのGOTOは本当にコードのどこにでもジャンプできた。
行番号指定でどこにでもね。

関数の呼び出し(そもそも関数がなかったが)の代わりとしても使えたし、
当然returnもGOTOで実装。

3と4はBASICにもあったと思うが、
これもGOTOで実装しようと思えば出来る。
2はBASICにあったかな? なかった気もするが。

GOTOの元をたどれば機械語のジャンプ命令に相当するんだよ。
その流れからBASICにもC言語にもgotoという名前で実装された。
その時にgoto(ジャンプ)の代わりになるものが追加された。
それが>>119で書いた内容。

だけどまだ足りなかった。特に5の例外ができるのはかなり後だったね。
C言語では今でも例外がないからgotoが使われることがある。
エラーが発生した時にgotoで関数の後ろに飛ばすんだよ。
そのほうがスッキリかけるから。

最近の言語はほぼ全て例外をサポートしてるんで、
JavaScriptだけでなく最近の言語はgotoなくても困らないよ。
122Name_Not_Found:2015/02/16(月) 23:10:54.39 ID:???
htmlとcssとjqueryをやり始めて三ヶ月なんですが自分が作っているサイトでjqueryを使いたいのですがどうしてもscrollがうまくいきません
アドバイス欲しいんですがファイルをアップしたら見てもらえますか?
ダメそうならもうちょっと考えます
123Name_Not_Found:2015/02/16(月) 23:18:28.64 ID:???
>>2
でおk
124Name_Not_Found:2015/02/16(月) 23:28:23.00 ID:???
>>122
jQueryのスクロールはscrollTopの場合、ブラウザ依存があるから注意な
http://less.carbonfairy.org/post/941824993
125Name_Not_Found:2015/02/16(月) 23:37:49.16 ID:???
jQueryのステマだよ。
jQueryは役割終了しているけれど、これを有料で布教して食っている、非技術系デザイナーのクズが少なからず存在しているからな。
因みに、ここ2年のJS実装では、匿名関数が本当に無名関数になった。jQuery布教者どもが匿名関数を何故か無名関数無名関数とほざいていたからか、JSが折れた形w
126Name_Not_Found:2015/02/16(月) 23:49:28.15 ID:???
>>123
テンプレ見てなかった
すんません
でもjqueryは書くほどのレベルじゃないっていうかホントに初心者用参考書のレベルなんです
コードは間違ってないと思うんだけど…
とりあえず後で書いてみます

>>124
ありがとうございます
ちなみに使用してるブラウザはchromeです
後でコード書きますんでよかったらご指導お願いします

>>125
正直この業界に足を踏み入れたばかりなので無理関数とかわからないです
jqueryって嫌われてるんですかね?やっぱjsのが現場で使いますかね?
127Name_Not_Found:2015/02/17(火) 00:34:17.25 ID:???
> jqueryって嫌われてるんですかね?
一番使われてるライブラリだよ。
128Name_Not_Found:2015/02/17(火) 00:44:44.70 ID:???
ユーザが多いのは嫌われやすいものだ
129Name_Not_Found:2015/02/17(火) 01:02:44.95 ID:???
>>125
原理主義者はどの世界でも意味不明だなw
いや、マジわからんw
130Name_Not_Found:2015/02/17(火) 04:26:45.21 ID:i6q1/MwW
今やjQueryの機能はより良い形で標準で提供されているからな。
それも似ているがやや違うと言った物が多いので、jQueryを使い続けることは混乱の元になる。
その冴えたる例がProxy。いくらネイティブでProxyがThenableを考慮してくれたからといって、
同期/非同期の差で躓くことは多い。
もういい加減標準機能のポリフィルに切り替えていった方がいい。
131Name_Not_Found:2015/02/17(火) 04:37:05.48 ID:???
>>130
標準で書くのとjQueryで書くの
標準で書いたほうが短くなる例
一つでもありましたっけ?w

というレベルだよな。
探せば見つかるかもしれないレベルだ。

明らかにjQueryの方が上だよ。
132Name_Not_Found:2015/02/17(火) 04:45:51.09 ID:i6q1/MwW
>>131
なにを言ってるんだ???
Q.DefferdとPromise、Q.ajaxとfetch、animeteはanimateだし、
長さはほぼ変わらないよ。
でも機能的には標準のほうが上だし、後から出た分APIとしてもちゃんとしてる。
だからこそjQueryを使う意味は無い。
まだ標準で不足してるのはDOMの比較部分の一部などだが、そこだけjQueryのサブセットか何かを使えばいい。
133Name_Not_Found:2015/02/17(火) 05:03:53.28 ID:???
>>132
ワロタw

単語の長さじゃないよ。
同じことをやるのにどちらが短いかだよ。

$(document).on('click', '.class', function() {
 $(this).toggleClass('state', 'active');
})

例えばこれと同じことを標準だけで書いてみてよ。
134Name_Not_Found:2015/02/17(火) 05:13:34.51 ID:i6q1/MwW
>>133
そういうニュアンスで言ったつもりだが。
DOM操作周りはまだ標準が不足してるからライブラリを使えばいいと言っている。
ただしClassのtoggleは標準機能を使うべき。
だがjQueryを使うとどうしても全体、不要なとこさえがjQuery流になってしまいがち。
だからポリフィル+最低限のライブラリでないといけない。
135Name_Not_Found:2015/02/17(火) 05:28:33.18 ID:i6q1/MwW
一応書くとこんなかんじか
document.queryAll('.class').map(e=>
 e.onclick = e => e.classList.toggle('state', true)
)
136Name_Not_Found:2015/02/17(火) 09:04:43.89 ID:???
まーたいつものライブラリより短く書いてよ君か
137Name_Not_Found:2015/02/17(火) 09:10:32.77 ID:???
>>135
ちょっと違うね。

それだと.classの要素が動的に増えた時に対応できない。
onclick属性を使ってるから複数のイベントハンドラに対応できない。
toggleClassの所は俺が間違えたから訂正しておく

$(document).on('click', '.class', function() {
 $(this).toggleClass('state');
})
138Name_Not_Found:2015/02/17(火) 09:36:29.82 ID:papArVWM
昨日書き込んだ>>122です
$(function() {
var nav = $('#nav');
nav.hide();
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
nav.fadeIn();
} else {
nav.fadeOut();
}
});
});

画面をスクロールするとnavが表示されるようにしたいのですがうまくいきません。
先輩曰くcssのpositionのせいで動かないらしいんですが具体的に何がどうなったら動かないっていうのは説明できない(わからない)そうです
ブラウザはchromeです
よかったら知恵を貸してください
139Name_Not_Found:2015/02/17(火) 10:59:29.82 ID:???
見えてないだけとか?navの縦サイズとcssはどうなってんの
140122:2015/02/17(火) 11:41:26.92 ID:papArVWM
#nav {
display: block;
width:100%;
height:40px;
background-color:rgba(0,0,0,0.5);
position: fixed;
top:90%;
z-index: 255;
overflow-x: hidden;
}

こんな感じです
先輩が言ってたpositionはnavじゃなくてサイト全体でposition使いまくっているからうんぬんだそうです
マジでわからん......

$(document).ready(function() {
$("#me").click(function () {
$("#nav").fadeIn();
});
});

ちなみにクリックでのnavの表示は上手くいきました
141Name_Not_Found:2015/02/17(火) 12:01:32.61 ID:???
まずはscrollイベントのリスナが実行されているかどうかをalertやコンソールで角煮する
さらにscrollTopが動いているかどうかを同様に確認する
そこから原因を推測して修正する

断片的なのでこれくらいしかアドバイスできない
もしピンポイントの指摘が欲しいなら>>2のサイトに再現コードを貼ることだね
142Name_Not_Found:2015/02/17(火) 12:37:59.16 ID:abz4w2Cl
>>137
もはやjQueryの機能を標準で再現できるかという話になってないか?
そこまで拘るのならもっと一般的なユースケースを挙げてほしいね。
まあそれはいいよ。
結局jQueryを前提にしたようなものしか出してこないだろうし。
143122:2015/02/17(火) 14:23:02.68 ID:papArVWM
>>141
ありがとうございます
とりあえず書いてみました
制作途中なんで凄く汚いですがお願いします
http://jsdo.it/test_joy/cTjA
14493:2015/02/17(火) 16:11:01.27 ID:???
どなたかわかるかたいませんか
145Name_Not_Found:2015/02/17(火) 16:53:58.26 ID:???
146Name_Not_Found:2015/02/17(火) 17:05:44.43 ID:???
>>143
確かにその先輩の言う通り、サイト全体を position: absolute; にしてるのが良くないね
本当ならサイト全体の構成を直すべきだけど、とりあえず
「$(window).scroll」 → 「$("#wrapper").scroll」
にすればいける
147Name_Not_Found:2015/02/17(火) 17:16:23.48 ID:???
>>146
ありがとうございます!
時間的に全体をなおすのは難しいので#wrapperにつけることにします
148Name_Not_Found:2015/02/17(火) 20:33:56.13 ID:???
>>142
ユースケースの話をするなら「古いブラウザでも動くようにしたい」も
立派なユースケースだと思うけどね。

それは置いといてなんかユースケース出せるわけないみたいなこと言ってるし、
想像力のないあなたに一般的なユースケースを。

ページ上にフォームがある。このフォームでsubmit(input,button関係なく)が
押された時に、二度押しを防ぐために、そのフォームに含まれるinput要素全てを
disabledにしたい。そして色も変えたい。

ただし、ページ上にフォームは複数あることもあるし一つもないこともある。
全てのページ、すべてのフォームでこのような処理を行いたい。

2度押し防止のdisabledをやったことがない人はいないと思うんで。
149Name_Not_Found:2015/02/17(火) 20:59:17.64 ID:???
古いブラウザでもってのはポリフィルの役目じゃね
jQueryはブラウザ間の誤差を埋めて貧弱な標準機能を補完するために生まれたと思うが。
150Name_Not_Found:2015/02/17(火) 21:22:50.36 ID:???
<FORM NAME="enq">
<INPUT TYPE="text" NAME="fugafuga">
<INPUT TYPE="hidden" ID="hogehoge" NAME="hogehoge" value="">
<INPUT TYPE="SUBMIT" VALUE="送信" ID="pekepeke" NAME="pekepeke">
</FORM>

<script>
document.forms.enq.hogehoge.value="saitama";
</script>



上記では、enq.hogehogeの中をJavaScriptでsaitamaにしておりますが、
enq.fugafugaの中で入力した値を、「送信」ボタンを押したタイミングで、
enq.hogehogeの中の中に入れるようにするには、どのようにしたらよいでしょうか?

例えば、fugafugaに「日本」と入れて送信した場合、hogehogeにも「日本」が入ってるような感じです。
151Name_Not_Found:2015/02/17(火) 21:26:52.60 ID:???
>>149
たしかにそうですね。
だけど古いブラウザでも動くと言うのは事実なので、
少しいい方を変えて「特定のブラウザの固有の問題を回避して」
っていうのがよりよい言い方かもしれないですね。

ブラウザ固有の問題というのは、ブラウザのバグだけでなく単にその機能がない
っていうのも含まれるわけですが、ポリフィルはその足りない機能を埋めるのに対して
jQueryは埋めるのではなく、代わりになる機能をDOM標準よりも
もっといい形で提供したもの。

どんなにHTMLやJavaScriptが発展して標準化されたとしても
ブラウザ固有の問題は無くならないでしょうしね。

最新のSafari2.1.3が、新し目のSafariバグ対策がされているのも記憶に新しい話。
http://blog.jquery.com/2014/12/18/jquery-1-11-2-and-2-1-3-released-safari-fail-safe-edition/
こういうのは正しい書き方をしているのに、ブラウザのバグで動かないわけで
見つけづらいバグになる可能性が高い。
152Name_Not_Found:2015/02/17(火) 22:04:08.77 ID:???
それを言い出したら、jQuery自体にもバグはあるからな
ブラウザ固有のバグに比べたら少ないかもしれないが、だからと言ってjQueryを盲信すべきではない
153Name_Not_Found:2015/02/17(火) 22:09:40.11 ID:???
1.viewでdomイベントをハンドリング
2.modelを変更
3.modelのイベントを、viewがハンドリング
4.viewが自分を変更

みたいな処理がありますが、
viewは1の時点で4の処理が想定出来ます
なので

1.viewでdomイベントをハンドリング
2.modelを変更
3.viewが自分を変更

という処理も出来ると思いますが
何故viewはmodelのイベントをハンドリングするのでしょうか?👀
154Name_Not_Found:2015/02/17(火) 23:08:59.89 ID:???
>>153
modelを変えるのは、そのviewだけとは限らないからだよ。

modelは色んな物から書き換える。

例えばカレンダーに新しいスケジュールを登録したら
カレンダービューが変わるのは当然として、
今日の予定ビューも変わるだろうし、
TODOリストも更新するかもしれない。

日付が変わったら今日の表示も変えないといけないし
スマホから登録したら、PCでみたブラウザのリアルタイムで変えたいかもしれない。

ビューがモデルを変えた時にビューを更新するだけだと
それ以外のビューが同じモデルを参照している時の処理が面倒になる。


モデルはいろんな処理によってどこからでも変わる可能性があるという前提で
変わったらそのイベント通知がきてビューを更新とすることで
何をきっかけに変わったとしても対応できるようになる。
155Name_Not_Found:2015/02/17(火) 23:21:23.81 ID:???
良く分かりました
ありがとうございました
156Name_Not_Found:2015/02/18(水) 00:26:12.94 ID:???
mb.miniAudioPlayerというのを使いたいのですがどうすればいいのかさっぱり分かりません
157Name_Not_Found:2015/02/18(水) 07:41:09.76 ID:???
>>133
そもそもこの先はObservableの時代だと思う。
var mouseDowns = document.queryAll('.class').mouseDowns;
for ( evt on mouseDowns ) evt.target.classList.toggle('state');
とES7の時代では書けるらしい
158Name_Not_Found:2015/02/18(水) 08:23:57.09 ID:???
そもそもViewはModelを変更しない
入力を受け取るのはControlでViewはその橋渡しをするだけだ
159Name_Not_Found:2015/02/18(水) 08:42:28.78 ID:???
>>158
それは本来のMVCじゃなくて
ウェブ用にへんに歪められたMVC2
160Name_Not_Found:2015/02/18(水) 10:27:00.86 ID:???
>>158
それはJavaScriptのフレームワークを知らない人の意見
161Name_Not_Found:2015/02/18(水) 11:03:42.32 ID:???
JavaScriptで、「html自体はリロードするが、それが使用する画像などはリロードせずキャッシュを用いる」リロードを行いたいのですが
何か良い方法は無いでしょうか。

chromeで動作を見てみたのですがlocation.reload()だと画像もリロードしてしまいます。
location.href=location.hrefでも同様です。
クエリの部分に変更を加えた場合
(たとえばexample.com/reload.phpでリロードを行う場合、location.href="example.com/reload.php?time="+Date.now();などとする)
目的の動作になるのですが、この方法以外で実現可能でしたら
教えていただけないでしょうか
162Name_Not_Found:2015/02/18(水) 11:19:33.90 ID:???
サーバー側で画像をキャッシュさせる設定にしろ
163Name_Not_Found:2015/02/18(水) 11:29:59.17 ID:???
しています
164Name_Not_Found:2015/02/18(水) 16:51:20.14 ID:???
>>161
試してはいないが
img の srcをロード後にスクリプトからあてがうようにすれば
htmlがリロードされても画像はローカルキャッシュが効くのではないか?
165Name_Not_Found:2015/02/18(水) 17:29:19.78 ID:???
>>161
chromeのスーパーリロードは Ctrl + Shift + R で意識的にしないとできなかった気がするが
ほんとにそれキャッシュからではなくサーバーからデータ受信してる?
166Name_Not_Found:2015/02/18(水) 18:04:45.79 ID:???
>>159
本来のMVCは
入力→C→M→V→出力
だよ
目的はModelからその他を分離させることだから、Modelが中心
167Name_Not_Found:2015/02/18(水) 18:59:56.59 ID:???
ビューがモデルに対して視覚的なイベントを発行し、それをビューで受ける、
というはアリなのでしょうか?
そういう例が「backbone.jsアプリケーション開発ガイド」にあるのですが。

英語になりますがここに書籍と同内容のサイトがあります
http://addyosmani.github.io/backbone-fundamentals/#application-view
AppViewのfilterOneメソッドの中で、
todo.trigger('visible');
と、todoモデルに対してイベントを発行。
そのイベントをTodoViewがハンドリングして、toggleVisibleメソッドを実行。
つまり異なるビュー同士が、モデルを介してメッセージをやりとりしている形です。
しかしモデルに対してvisibleというカスタムイベントを発行するのは何となく違和感があります。
でもモデル自体はvisibleの処理内容に関しては何一つ関知していないので、
こういう使い方はいいのでしょうか?
168Name_Not_Found:2015/02/18(水) 19:22:01.54 ID:???
Modelが入力イベントに対して反応するのはMVC的には変。
それだとModelControllerになってしまう。
でもMVCではなくView層とそれ以外の分離と考えれば変ではない。
169Name_Not_Found:2015/02/18(水) 19:52:59.63 ID:???
>>164
ですね、ただリロードのためだけの特殊な事は余りしたくないのです
(クエリの変更を避けたいのもそれが理由です

>>165
すみません、コンソール見直したのですが間違っていました。
location.reload()などの方法だと画像などはキャッシュを全く使わないわけではなく
if-modified-sinceやif-none-matchなどを吐き更新を確認しているようです
ただ、更新のための通信自体は行われているので
クエリの変更によるリロードよりも遅く感じます
(developer toolsのNetworkタブで確認しても時間がかかっています)
サーバー側から吐くキャッシュコントロールのヘッダの種類も含めてもう少し見直してみます
170Name_Not_Found:2015/02/18(水) 20:45:03.99 ID:???
app.Todos.trigger('filter') のようにしてコレクション上でfilterイベントを発生させます。
これによって、それぞれのTodo項目の表示と非表示が切り替えられます。

という文章も出てきました。コレクションというのはbackboneではモデルの集合のことです。
JavaScriptがクライアントサイドである以上、
モデルに対しても表示まわりのイベント発行は許されるのでしょうか
そこまで分離してないというか
171Name_Not_Found:2015/02/19(木) 01:27:14.49 ID:???
>>166
> 本来のMVCは
> 入力→C→M→V→出力
それはSmallTalkを知らない奴の意見。

本当のMVCは

Model ←→ View ←→ Controler
↑                │
└───────────┘
http://csis.pace.edu/~bergin/papers/mvcnew.gif


> 入力→C→M→V→出力
これはMVC2

JavaScriptの時代になってようやく本当のMVCの話が出てきただけ。
WindowsなどでGUIアプリを作っていた人間なら、本当のMVCを知っている。
その後でウェブが出てきて、MVC2をみて、なんじゃこりゃ?って思ってた。
そして、やっと本当のMVCができるようになったのかよって苦笑してる。
172Name_Not_Found:2015/02/19(木) 01:27:57.99 ID:???
173Name_Not_Found:2015/02/19(木) 01:29:55.44 ID:???
>>168
> Modelが入力イベントに対して反応するのはMVC的には変。

MVC的にはおかしくない。ウェブアプリで歪められたMVC2的におかしいだけ。

最近のJavaScriptはようやくデスクトップGUI波のことが出来るようになったから
本当の意味のMVCができるようになった。
本当のMVCではビューがモデルを変更する
174Name_Not_Found:2015/02/19(木) 09:05:44.58 ID:???
>>171
> それはSmallTalkを知らない奴の意見。

ま、Smalltalk をうっかり SmallTalk と書いちゃう人の場合
自分も Smalltalk のことはろくすぽ知らないけどな!って自己紹介しているようなもんだから、
この人が書いていることも、どこまで信用してよいやら…
175Name_Not_Found:2015/02/19(木) 09:15:47.87 ID:???
何が「本当」かはともかく、オリジナルの本来の MVC の概要については
この資料が比較的簡潔でわかりやすくまとめられていてお薦め。
(最後の方すこし RoR ユーザー向けだけど、前半は一般論で参考になる)

「あの日見たMVCを僕たちはまだ知らない for RoR」
http://www.slideshare.net/shinnosukekugimiya/mvc-for-ror/7
176Name_Not_Found:2015/02/19(木) 10:28:02.66 ID:???
なんだやっぱり>>166 の概念が正しいんじゃん。
177Name_Not_Found:2015/02/19(木) 10:36:38.48 ID:???
あるControllerからModelに通知が行き変化があった時、
その変化はそのControllerに付随するViewだけでなく
全てのViewに通知されるべき。

というのは参考になりました
そういうmodelのパブリッシュ性から、
>>167のように視覚的イベントもmodelで発行するという発想になっているのかもしれません
個人的には視覚的要素が絡むならviewがイベントを発行するべきじゃないのかと思ったのですが
viewがviewをobserveするというのはMVC的にないのかも
178Name_Not_Found:2015/02/19(木) 10:54:38.81 ID:???
ちなみにbackboneにはControllerクラスがなく、VとCをViewクラスが担当しています
modelのイベントをトリガーしているのは実際にはCがしているということになるのでしょう
179Name_Not_Found:2015/02/19(木) 11:32:33.51 ID:???
MFCはDoc-Viewアーキテクチャだね

ModelとViewの関連性を疎結合にする必要がなければコントローラは
いらないって事なんだろう
180Name_Not_Found:2015/02/19(木) 13:17:19.24 ID:???
Modelの状態はチェクボックスその他のView部品に丸投げしたくなる
181Name_Not_Found:2015/02/19(木) 15:09:29.07 ID:???
mvvmっていうのの説明を読んでいたら、
これが理想に近い気がしてきました
182Name_Not_Found:2015/02/19(木) 15:32:43.17 ID:???
理想というか、現実じゃね。
どうしてもVがVMになってしまうというか、してしまいたくなるというか。
183Name_Not_Found:2015/02/19(木) 21:20:06.20 ID:???
>>176
> なんだやっぱり>>166 の概念が正しいんじゃん。
だからそれはMVC2だって言ってるじゃん。
MVC2としては正しいよ。
184Name_Not_Found:2015/02/19(木) 23:24:19.97 ID:???
>>175を見てもまだそんなことが言えるのか
SmallTalkを知ってる奴はやっぱり違うな
185Name_Not_Found:2015/02/20(金) 06:59:28.70 ID:???
まあ>175が間違いなんだけどなw
186Name_Not_Found:2015/02/20(金) 07:00:52.83 ID:???
>>184

> Viewは視覚的なすべてを扱う。
> モデルにデータをリクエストして、それを表示する。

モデルにデータをリクエストして!
モデルにデータをリクエストして!
モデルにデータをリクエストして!
モデルにデータをリクエストして!
187Name_Not_Found:2015/02/20(金) 07:10:29.39 ID:???
>>175で見て思うのは、
RailsとかJavaScriptとか
1998年に既にJavaで通った道に
やっとたどり着いただけなんだよな。

最先端のつもりでいるのに、15年以上前だったw
188Name_Not_Found:2015/02/20(金) 07:13:16.66 ID:???
ジャバおじさん
189Name_Not_Found:2015/02/20(金) 10:14:09.49 ID:???
クライアントサイドはサーバサイドのMVCより難解に感じる
他のハンドラを反応させるためにイベントを起こすけど
そのイベントが誰に何をさせようとしているのか、
イベントを見るだけでは分からないので
プログラムの流れが読み取りにくい
190Name_Not_Found:2015/02/20(金) 13:25:54.94 ID:???
asm.jsってどうなん?
デザインしたいだけの一般スクリプターには数字の計算が早くなるだけならあまり恩恵なさそうだが
191Name_Not_Found:2015/02/20(金) 13:27:00.73 ID:inmbenfW
>>186
ViewとModelの関係がリクエスト-アンサー型かオブザーバー型かその他かはMVCの本質的に関係ない
192Name_Not_Found:2015/02/20(金) 13:40:04.12 ID:???
>>190
マイクロソフトがサポートを表明したばかりだね
すぱるタンに搭載されるかは不明
確かにゲームや画像処理などcanvas使う以外ではあまり恩恵がなさそう
193Name_Not_Found:2015/02/20(金) 13:46:34.88 ID:???
簡単なプログラム作りたいんですが教えてください

5択のセレクトボックスを作る
選択によって10点から50点まで点数をつける
そのセレクトボックスを複数作り合計値を出力する
194Name_Not_Found:2015/02/20(金) 13:52:52.57 ID:???
>>193
http://jsfiddle.net/
まずは自分で書いてみる
どうしてもわからない所があればまた聞きにくれば?
195Name_Not_Found:2015/02/20(金) 13:57:07.09 ID:???
>>190
asm.jsは直接使うものではなくC,C++で作ったプログラムをそのままブラウザで動かすためのもの
196Name_Not_Found:2015/02/20(金) 18:24:48.92 ID:???
asm.jsは文字列すらない、ArrayBufferをメモリに見立ててアクセスするもので、
文字通りアセンブラみたいなもの。あまり人が直接書けるようなものではない。
人が書くことを考えればSaneScriptが現実的。
197Name_Not_Found:2015/02/20(金) 19:52:01.42 ID:???
コンパイラっていうかトランスレータもあるけど決して手で書けないかと言うとそうでもない
バイトコードやネイティブコードになるわけじゃない
198Name_Not_Found:2015/02/20(金) 20:41:49.11 ID:???
asm.jsは一見頑張れば手でも書けそうに見えるが、普通に変数を使うと速度が出ない。
速度を最大限だそうとするとArrayBufferまみれになってとても常人が手を出せるものではない。
199Name_Not_Found:2015/02/20(金) 20:48:15.40 ID:???
良く知らんけど勝手にasmってくれるようじゃないと
いちいちそんなのに合わせて書いてられないわ
200Name_Not_Found:2015/02/20(金) 21:41:29.81 ID:???
ぶっちゃけSoundScript/SaneScriptが実用化されたら、C++並にはなるだろう。
201Name_Not_Found:2015/02/20(金) 21:43:28.36 ID:???
"use asm"とは別に"use strong"って話もあるな
http://d.hatena.ne.jp/jovi0608/20150219/1424322335

どう落ち着くかはまだまだ先の話みたいだ

昔のBASICコンパイラみたいに「ここだけ実数演算いらねーから速くしてくれ」
みたいに使えれば楽なんだが
202Name_Not_Found:2015/02/20(金) 21:56:02.14 ID:???
SaneScript/SoundScriptでは
・オブジェクトの拡張不可→連想配列が必要ならMapを使う
・任意静的形付け
・クラスベース(+プロトタイプベース)
・配列の特殊化
・その他strict modeの強化版のような制限
となるもよう。
203Name_Not_Found:2015/02/20(金) 22:03:00.73 ID:???
>・任意静的形付け

これだけでも相当速くなりそう
204Name_Not_Found:2015/02/20(金) 22:16:06.10 ID:???
静的型付けだけで劇的に早くなることはないと思う。
今だって十分に整理されたコードでは型推論が効いてる。
Aの場合、Bの場合、そうでない場合のフォールバックとなっていたネイティブコードが
Aでなければ即ランタイムエラーにできて、何分の1にもなるのと、チェックを省けるケースも増えるだろうけど全く要らなくなるわけではないから。
基本的にCPUのキャッシュや投機にヒットしやすくなる程度の効果だと思う。
205Name_Not_Found:2015/02/20(金) 22:31:25.11 ID:???
function f(t){
console.log(t);
setTimeout(f, t);
}
f(1000);

1秒待機して実行したいんですが、これ2回目以降はundefinedが出力されるのはなぜですか?
206Name_Not_Found:2015/02/20(金) 22:40:23.33 ID:???
function f(t){
console.log(t);
setTimeout(f, t, t);
}
f(1000);
207Name_Not_Found:2015/02/20(金) 22:40:18.52 ID:???
>>205
setTimeoutのfは引数が無いでしょ
208Name_Not_Found:2015/02/20(金) 22:46:24.11 ID:???
タイムパラドクスだ!
209Name_Not_Found:2015/02/20(金) 23:27:54.30 ID:???
あ、そうか、たしかに引数をあたえてなかったですね!
210Name_Not_Found:2015/02/20(金) 23:32:13.07 ID:???
211Name_Not_Found:2015/02/21(土) 11:13:39.33 ID:???
Cとかまともに書いたことなくて変数の型や初めて使うArrayBuffer(結果出力のみに使用)に苦戦しながら
やっと動かせたRGB→HSV色変換関数のasm.js版
Firefoxは122ms→374msで3倍遅くなったのにChromeでは241ms→62msに4倍速くなって驚いた
まだ変数とかそのままだから>>198のようにすれば高速化できるのか
212Name_Not_Found:2015/02/21(土) 13:15:07.13 ID:???
asm.jsはFxではオーバーヘッドが大きいし、ネイティブ関数と同じでインライン化等の最適化が効かないから
一般に小さくてとても軽い関数では効果はでない。asm.jsで書くなら書けるところ全部をそうしないと。それが罠。
213Name_Not_Found:2015/02/21(土) 23:58:09.02 ID:???
まずこっちのスレを解消してくれ

+ JavaScript の質問用スレッド vol.121 +
http://peace.2ch.net/test/read.cgi/hp/1410603104/
214Name_Not_Found:2015/02/22(日) 01:02:35.94 ID:???
node.jsってwindowsでも使えるんですか?
215Name_Not_Found:2015/02/22(日) 01:08:31.20 ID:???
使えます はい次の人
216Name_Not_Found:2015/02/22(日) 09:54:55.42 ID:???
じゃあ使ってみたいですけど
サーバサイドをやるのはちょっと怖いです
みんなやってるんですか?
217Name_Not_Found:2015/02/22(日) 10:42:36.05 ID:???
やっている人もいますし、やっていない人もいます
はい次の人
218Name_Not_Found:2015/02/22(日) 12:27:23.71 ID:???
普段使っている言語なので、他のサーバ環境よりは使いやすいはずですよね
219Name_Not_Found:2015/02/22(日) 13:38:55.08 ID:???
http://andreryu.hatenablog.com/entry/2014/04/12/230425
ここを見てやったらひな形サイトがすぐに表示できました
expressの使い方はまだ分かりませんが
publicの中にindex.htmlを作成したら、それが表示されました
動的要素のないサイトならすぐにサーブできますね
220Name_Not_Found:2015/02/22(日) 13:40:06.68 ID:???
>>211
Chromeは既存のV8のエンジン内でasm.jsのコードを高速に動かす最適化がかなり進んでる
Firefoxの場合はAOTの別エンジンで実行するから、コードの一部だけをasm.js化しても
オーバーヘッドの方がデカくなってしまう
ゲームみたいに全部asm.jsだと超高速に動くようになる
221Name_Not_Found:2015/02/22(日) 17:09:17.48 ID:???
本当に「"use asm"」をターゲットに最適化をするTuboFunはまだChrome安定版で有効になっていないだろう。
現状asm.jsで早くなるのは汎用的な最適化によるもの。
222Name_Not_Found:2015/02/22(日) 17:27:09.00 ID:???
型注釈だけでも速くなりそうな感じはするけど
223Name_Not_Found:2015/02/22(日) 19:03:03.24 ID:1RosJE2U
可読性の質問はここで宜しいのでしょうか?
他言語→javascript初心者なのですが、記述方法がいろいろありすぎて困っております。

例えば
Web上に入力されたキャラクタの名前を取得したく、
初期実装が(id=character-name)の中身で今後は取得先の変更を考慮するとして、

const charname = (function getCharacterName(){return jQuery('#character-name').val();})();
const charname2 = (function(){return jQuery('#character-name').val();})();
const charname3 = jQuery('#character-name').val(); //入力から取得
const charname4 = getCharacterName(); //詳細は別で記述

上4つはすべて同じ処理を指定ますが、一般的、もしくはこれがわかりやすい、もしくは何もわかってない!というのはどれでしょうか?
あとconstはまだ使うべきではありませんか?
224Name_Not_Found:2015/02/22(日) 19:08:57.39 ID:???
未消化のスレがあったのですね。失礼しました・・・
225Name_Not_Found:2015/02/22(日) 19:20:05.04 ID:???
>>223
まず全体に言えること

> jQuery('#character-name')
ではなく $('#character-name') と書く方がいい。
理由はそのほうが短いから。

もう一つ。constは対応していないブラウザが多いから注意
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

> const charname = (function getCharacterName(){return jQuery('#character-name').val();})();
これは無駄な処理をしているだけ。一回しか使われない関数を作って呼び出してる。

> const charname2 = (function(){return jQuery('#character-name').val();})();
これも上と同じ。ただ関数に名前をつけてないだけ。

> const charname3 = jQuery('#character-name').val(); //入力から取得
問題なし。(ただし「全体に言えること」は除く)

> const charname4 = getCharacterName(); //詳細は別で記述
中身とどういう考えで関数にしたかによる。
中身が「return jQuery('#character-name').val()」だけであるなら
俺は多分関数にはしない。
226Name_Not_Found:2015/02/22(日) 19:32:41.89 ID:tQwBICTX
class="human"の中のイメージを切り替えたいのですがうまくいきません
古典的なonとoffを切り替えるパターンです

$function() {
$("img[src*='_on']").addClass("current");

$(".human img").hover(function(){
if ($(this).attr("src")){
$(this).attr("src",$(this).attr("src").replace("_off.", "_on."));
}
},function(){
if ($(this).attr("src") &amp;&amp; !$(this).hasClass("current") ){
$(this).attr("src",$(this).attr("src").replace("_on.", "_off."));
}
});
});

記述的におかしい部分はありますか?
ご指導いただければと思います
227226:2015/02/22(日) 19:41:14.65 ID:???
すいません
&ampはjsファイル上では"&"です
よろしくお願いします
228Name_Not_Found:2015/02/22(日) 19:44:49.56 ID:1RosJE2U
>>225
回答有難うございます
>$('#character-name')
こちらの環境(wordpress)で何故か$記述だとうまくいかなかったのでjQueryと記述してました。
単純に理解不足&設定ミスだと思われます。解決次第$で記述します。

処理に関しては将来的にデータベースから受け取ったり、他人がネットを介して入力した情報を何らかの方法で受け取ったりと
する可能性を考慮しております。複雑化した場合行数的には1〜20行程度の処理を想定しております。

1行で済ませされる間は変数名に気を使ってやれば
3の記述がすっきりしますね。constは外します。未来の自分がやらかさないか不安ではありますが・・・。

アウトラインの可能なエディタを使い、複数行化したら2に変更すれば良さそうですね。
別のところに記述するのはソース内ツリー化に対応してるエディタが増えてきている昨今だと
別の所で呼ばない以上離れて記述するのは意味なさそうですね。

ありがとうございました。
229Name_Not_Found:2015/02/22(日) 19:50:20.01 ID:???
>>226
> 記述的におかしい部分はありますか?

$function() {

↑これ
230226:2015/02/22(日) 20:06:43.71 ID:???
すいません
自分のことながら見た瞬間笑ってしまいました
書き直したのですがやっぱりうんともすんとも言いません
正直お手上げです
231Name_Not_Found:2015/02/22(日) 20:06:55.15 ID:???
>>228
wordpressの使用忘れたけど、標準でjQuery入っていたはず。
使えないとしたら、wordpressが互換性のために、noConflictを使って
$を削除しているのだろう。そういう時は以下のようにすればOK

jQuery(function($) {
 あなたのコードを全てこの中に書く
});

場合によってはこっちのほうがいいかもしれないけど

(function($) {
 あなたのコードを全てこの中に書く
}(jQuery));

この二つは実行されるタイミングが違う。jQueryのready()とかを調べると良い。

> constは外します。未来の自分がやらかさないか不安ではありますが・・・。
外すのはいいけど、代わりにvarをつけるようにw
古いブラウザに対応する必要があるならこれ。
232226:2015/02/22(日) 20:10:42.73 ID:???
今から外に出るので帰ったらjsdoに上げて見たいと思います
その間で変なところを見つけましたら修正してから上げますのでご指導お願いします
233Name_Not_Found:2015/02/22(日) 20:12:48.01 ID:???
>>226
currentを何のために使いたいのかのかよくわからん。

先に細かい所を指摘しておくと、

$(".human img[src]").hover(function(){
と書けば、余計な
if ($(this).attr("src")){ がなくせる。

あと、attrの第二引数に関数を使えばもっとすっきりする。


$(function() {
  $("img[src*='_on']").addClass("current");

  $(".human img[src]").hover(function(){
    $(this).attr("src", function(index, attr) { attr.replace("_off.", "_on.") });
  }, function(){
    if (!$(this).hasClass("current") ) {
      $(this).attr("src", function(index, attr) { attr.replace("_off.", "_on.") });
    }
  });
});

とりあえず途中だが、ここまで書いてcurrentの使い方に違和感を覚えた。
234Name_Not_Found:2015/02/22(日) 20:15:48.17 ID:???
>>232
じゃあ課題として、とりあえず
8000行まで減らしてみ。
JavaScript入門書を見ながらさ。
最小限の知識しか持ってないのがバレバレ
235Name_Not_Found:2015/02/22(日) 20:19:01.46 ID:???
>>233に追記しておくと
違和感っていうのは、この例だとhover使わずに
mouseenterとmouseleaveに分けたほうが良さそうに見えるから

if ($(this).attr("src") と同じで、分ければ、下の
if (!$(this).hasClass("current") ) { はなくせる。

だがそもそも処理が対称になっていない。
対称でない処理はバグの可能性が高い。
236Name_Not_Found:2015/02/22(日) 20:22:37.05 ID:???
もうひとつ言っておくわ。

あと、こういう画像切り替えは
一般的にsrc書き換えではなくCSSで行う。

JavaScriptではclassのみを変更し、
そしてCSS側でクラスに応じた画像を表示する
237234:2015/02/22(日) 20:32:16.25 ID:???
jsdoって書いてたから他のやつと勘違いしたわ
すまんwww
238226:2015/02/22(日) 20:49:22.53 ID:???
たくさんの指摘ありがとうございます
自分のなかでまとめた結果ですが



jqueryでの処理はクラスの付与、削除をメインに

CSSにてクラスの有無でdisplay: none;とdisplay: block;を切り替える


というやり方のほうが簡単そうですかね?
まだ出先ですので家に帰りましたらこのパターンで書いて見たいと思います
無知の初心者にアドバイスいただきありがとうございます
24時くらいまでスレを見れませんがアドバイスありましたらよろしくお願いします
239Name_Not_Found:2015/02/22(日) 20:52:09.19 ID:???
俺もも用事があるからもうレスできんのだが、
ぶっちゃけ典型的な画像入れ替えならこれだけでいいはず。

$(function() {
  $(".human img").hover(function(){
    $(this).toggleClass("hover");
  });
});

.human img { background-img: url('・・・_off.gif') }
// とするよりimg毎に画像違うから、#img1 とかになるはず

.human img.hover { background-img: url('・・・_on.gif') }

・・・・いやw 普通CSSだけでやるかw

JavaScript無し

.human img { background-img: url('・・・_off.gif') }
.human img:hover { background-img: url('・・・_on.gif') }

URLをCSSにずらずら書きたくないにしても、
onとoffを入れ替える関数(正規表現で一行でできるはず)を作れば
このレスの一番上に書いたコード + 1行でできるはずなんだよな。
240Name_Not_Found:2015/02/23(月) 04:58:36.22 ID:???
必要もないのにjQueryを乱用するのはやめい
241Name_Not_Found:2015/02/23(月) 08:06:26.74 ID:???
>>239
ここはjQueryスレじゃない。

消え失せろ。
242Name_Not_Found:2015/02/23(月) 10:23:10.13 ID:???
なんかもうすぐ過去ログが見られなくなるという情報を見たのですが
過去のjsスレを検索したい時はどうすればいいんですか?
以前見た気がするから検索したいということもあるんですが
243Name_Not_Found:2015/02/23(月) 10:33:02.50 ID:???
>>242
2chが西村以上の金の亡者に生まれ変わるので、過去ログはJIMという豚野郎
に金払わないと見られなくなります。おまけに専ブラも限定されます。
244Name_Not_Found:2015/02/23(月) 12:17:32.89 ID:???
困ります
245Name_Not_Found:2015/02/23(月) 12:21:21.53 ID:???
>>240
> 必要もないのにjQueryを乱用するのはやめい

必要かどうかを判断するのはお前じゃない。
自分のやり方を押し付けるな。
246Name_Not_Found:2015/02/23(月) 12:24:49.39 ID:???
>>241
君がここで jQueryの話をさせたくないって必死なのはわかるが
君が来るまで、ここは平和に進行していたんだ。

荒らすような真似はやめてくれ。
せめて、jQueryを使わない実装でも書いてくれ。


君のレスは何の役にもたっていない。
247Name_Not_Found:2015/02/23(月) 14:14:22.42 ID:???
>>245
>>246

字が読めなかったようだな

ここはjQueryスレじゃない。
消え失せろ。

やり方を押し付けるな?お前は全力でjQuery押し付けてるわけだが?
カス野郎
248Name_Not_Found:2015/02/23(月) 16:36:30.66 ID:???
テンプレ見りゃわかると思うけどここは隔離スレみたいなもんだから
249Name_Not_Found:2015/02/23(月) 16:59:36.94 ID:???
ライブラリの話はいいが、宣伝や説教は禁止な
250Name_Not_Found:2015/02/23(月) 17:06:04.77 ID:???
ここは自由なスレだから
何も禁止じゃない
あえて言うなら禁止とか言うの禁止
251Name_Not_Found:2015/02/23(月) 17:12:42.72 ID:???
禁止とか言うの禁止とか言うの禁止とか言うの禁止とか言うの禁止
252Name_Not_Found:2015/02/23(月) 17:41:17.12 ID:???
ライブラリの話題が嫌な人はこちら
http://peace.2ch.net/test/read.cgi/hp/1423915644/ + JavaScript の質問用スレッド vol.123 +
http://peace.2ch.net/test/read.cgi/tech/1404146244/ + JavaScript の質問用スレッド vol.117 +
253Name_Not_Found:2015/02/23(月) 18:53:44.03 ID:???
嫌とかじゃなくて質問スレなんだから当然質問以外はご法度だし。
ライブラリの作法なんかの話題はスレチになる。
254Name_Not_Found:2015/02/23(月) 18:58:58.87 ID:???
>>253
ちょっとまてw
回答もだめなのか?www
255Name_Not_Found:2015/02/23(月) 19:38:25.44 ID:???
初期データに関してはajaxで読むのではなく
サーバで最初から埋め込んだ方がいいと本に書いてあったのですが
何故ですか?
処理がややこしくなるのでajaxで読んだ方がいいように思います
256Name_Not_Found:2015/02/23(月) 19:54:57.51 ID:???
通信が1回分減るからじゃ?というか理由書いてなかったの?
257Name_Not_Found:2015/02/23(月) 20:16:22.12 ID:???
もうhttp2の時代になっていくしバッドノウハウだよ。
258Name_Not_Found:2015/02/23(月) 20:56:39.06 ID:???
scrollBy()で相対スクロールさせるところまで作れたんですが、
スクロールをスムーズにするにはどうしたらいいでしょうか?
ご教示お願い致します
259Name_Not_Found:2015/02/23(月) 20:58:52.57 ID:???
>>255
> 処理がややこしくなるのでajaxで読んだ方がいいように思います

そこで処理がややこしくなると思う人は
アーキテクチャを考えられるレベルに来てないね。

初期データをajaxで読むか埋め込むか
どちらでも違いを意識しないような
作り方をすればいい。

それを考えるのがアーキテクトの仕事。
260Name_Not_Found:2015/02/23(月) 21:04:28.24 ID:???
>>258
> スクロールをスムーズにするにはどうしたらいいでしょうか?

スクロールをスムーズにするっていうのが、アニメーションのことなら
標準のDOM APIにはそういう機能がないよ。

頑張りたい人(車輪の再発明)をしたい人なら自力で実装すればいいが、
まあ普通はjQueryのanimate()メソッドなどを使うね。
261Name_Not_Found:2015/02/23(月) 21:07:06.63 ID:???
>>257
> もうhttp2の時代になっていくしバッドノウハウだよ。

確かに、IE11の時代に慣ればそうだが、
その時代は一体いつ来るんだ?
262Name_Not_Found:2015/02/23(月) 21:07:26.49 ID:???
このスレを見てStrictモードを試してみるとエラーになったので書き換えようと思っているのですが
インライン関数(即時関数)の名前付けがどのあたりのブラウザからサポートしているか教えてください
263Name_Not_Found:2015/02/23(月) 21:09:43.23 ID:???
>>262
全てのブラウザでサポートされてる
264Name_Not_Found:2015/02/23(月) 21:12:04.13 ID:???
> 確かに、IE11の時代に慣ればそうだが、
訂正。IE11がサポートしてるのはSDPY

HTTP2は将来的には問題を解決することができるかもしれんが
今すぐできる技術じゃないんで、現実的ではない。
265Name_Not_Found:2015/02/23(月) 21:46:21.55 ID:???
ところで、Web作成にプロトコルの知識って必要なの?
サーバとブラウザでいい具合に調整してくれるんじゃないの?
266Name_Not_Found:2015/02/23(月) 21:50:35.58 ID:???
>>265
その知識がないと、サーバーを選ぶことが出来ない。
267Name_Not_Found:2015/02/23(月) 21:57:42.82 ID:???
カス野郎 と言いがかりをつけてライブラリ禁止を悪く見せようとする工作員さんお疲れ様です
268Name_Not_Found:2015/02/23(月) 22:02:42.06 ID:???
>>252
ちょっと違うな

現行スレはこちら
http://peace.2ch.net/test/read.cgi/hp/1423915644/ + JavaScript の質問用スレッド vol.123 +

(ム板はLRでjavascriptが禁止されてるので違います)
269Name_Not_Found:2015/02/23(月) 22:06:38.16 ID:???
ちなみにライブラリ許容のJSスレが必要というならまだ↓があるみたいだが


+ JavaScript の質問用スレッド vol.121 +
http://peace.2ch.net/test/read.cgi/hp/1410603104/l50

+ JavaScript の質問用スレッド vol.122 + [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1418395948/l50

+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423910471/l50
270Name_Not_Found:2015/02/23(月) 22:09:23.34 ID:???
>>261
その時代はいつかは来るだろう。
必要度が減少していっているものを新たに使わない、学ばないというのは原則。
271Name_Not_Found:2015/02/23(月) 23:10:33.90 ID:???
>>278
誰も学ばないなんて言ってないんだが?
272Name_Not_Found:2015/02/23(月) 23:17:25.01 ID:???
seoを考えると、初期データ埋め込みどころか結果のhtmlをサーバで生成出来た方がいい
はい論破
273Name_Not_Found:2015/02/24(火) 00:07:07.74 ID:???
江戸時代かっ
今はajaxの結果もきちんと拾ってくれるっつうのに
274Name_Not_Found:2015/02/24(火) 00:08:36.61 ID:???
スレタイを鵜呑みにするなら、
jQueryもここで答えていいと思うんですけど
こっちの人が丁寧に答えてくれるよって誘導するのもありかもね
275Name_Not_Found:2015/02/24(火) 00:16:22.95 ID:???
jQueryスレがあるのになぜ
276Name_Not_Found:2015/02/24(火) 00:43:12.26 ID:???
>>273
え、まじで?
たしかにサーバサイドJSがもはや一般的だから
そんなことも出来そうだけど
そんな時代になってたか
277Name_Not_Found:2015/02/24(火) 00:50:43.94 ID:???
サーバサイドJSとクローラのJS解釈に何の関係があるのか……
今のクローラっていうのはどちらかと言うとサーバでのスクレイピングというより自動化ブラウザに近い存在だぞ。
278Name_Not_Found:2015/02/24(火) 00:56:16.38 ID:???
いや直接関係なくても無関係ではないだろ
279Name_Not_Found:2015/02/24(火) 01:33:11.91 ID:???
>>260
ありがとうございます
scrollTopメソッドをanimeteする方法はわかりましたが、これをscrollByに転用するのがうまくできなかったので諦めす
280Name_Not_Found:2015/02/24(火) 01:55:53.38 ID:???
>>263
ありがとう
281Name_Not_Found:2015/02/24(火) 02:55:30.89 ID:???
>>280
ありがとう!


現行スレはこちら
http://peace.2ch.net/test/read.cgi/hp/1423915644/
282Name_Not_Found:2015/02/24(火) 11:32:30.97 ID:???
>>274
そもそも、ライブラリはどこまで行っても簡単にする為のライブラリ。
それが1種類っていうならともかく、現在は山ほど出ているわけで、
jQueryで回答されるのは、迷惑なのだよ。jQueryわかってない奴に
とっては、余計なライブラリを読み込ませた上に、そこだけそんな
コードを押し付けられてるわけで。

他の奴の場合には、Prototype.jsで回答されましたなんてのが出てきた
りしたらもはや収集つかない。

この手の回答掲示板では、可能な限りライブラリを使わずにコードを書く
ことが定石。回答者の信奉してるライブラリだの書き方なんてのは、それ
こそ押し付けでしかない。
283Name_Not_Found:2015/02/24(火) 11:59:13.57 ID:???
お前のそのどうでもいい長文の批判の方が迷惑なんだよ
284Name_Not_Found:2015/02/24(火) 12:06:33.99 ID:???
>>282
なるほど、では>>279のためにコードを書いてやってくれませんか
285Name_Not_Found:2015/02/24(火) 12:11:26.67 ID:???
まあなんともいえんな。
document.querySelectorAllでいいところにわざわざ$を使ってるのを見るとイラッとくるが、
document.querySelectorAllと書くのは煩わしい。
286Name_Not_Found:2015/02/24(火) 12:17:02.20 ID:???
ひでえw
287Name_Not_Found:2015/02/24(火) 12:19:49.05 ID:???
querySelectorAllでいいところにというが、
IE8では使えないわけで、俺にとっては毎回

(IE8では動かないコード)
querySelectorAll

と書いているようにしか見えないんだわ。
288Name_Not_Found:2015/02/24(火) 12:22:22.81 ID:???
> querySelectorAllでいいところにというが、
> IE8では使えないわけで、
???
289Name_Not_Found:2015/02/24(火) 12:34:38.20 ID:???
>>288
IE7では動かないの間違いでした。
290Name_Not_Found:2015/02/24(火) 12:36:03.34 ID:???
> querySelectorAllでいいところにというが

例えばこういうのは、querySelectorAllではダメな例。

$('.class').on('click', function() { });
291Name_Not_Found:2015/02/24(火) 13:08:28.10 ID:???
普通にjquery使えよwww
292Name_Not_Found:2015/02/24(火) 13:50:42.91 ID:???
ライブラリ拒絶してる人は、ライブラリを使わない回答をすればいい
そして質問者がどのコードが最もいいか判断すればいい
293Name_Not_Found:2015/02/24(火) 16:26:57.81 ID:???
>>256
http://backbonejs.org/#FAQ-bootstrap
Instead of firing an extra AJAX request to fetch them,
a nicer pattern is to have their data already bootstrapped into the page.

ナイサーなパターンと言っているだけで理由は書いてないようです
やはりリクエスト数が減るからでしょうか
294Name_Not_Found:2015/02/24(火) 21:39:58.25 ID:???
最適化の質問です

var input = document.getElementById("input1");
console.log(input.value);
って言う書き方は遅いからvar a = input.value;みたいに別の変数に格納しろって話を効いたことがあるんですが

var a = {
ago: 10
}
console.log(a.ago);
これもvar b = a.goみたいに入れないとだめってことでしょうか?
295Name_Not_Found:2015/02/24(火) 22:04:44.40 ID:???
>>294
えとさ、1マイクロ秒速くして
意味があると思ってる?

意味があるときだけやんなさい。

殆どの場合ないでしょ?
296Name_Not_Found:2015/02/24(火) 22:05:40.78 ID:???
>>294
最適化するなら、可読性に対して最適化した方がいい。

どうせ速度を最適化した所で誰も得しない。
297Name_Not_Found:2015/02/24(火) 23:47:31.49 ID:???
もうちょっと質問に寄り添った答にしろよw

>>294
一般論として速度のための最適化を人間の手でするべきではない
プログラム工程で一番重要なのはデバッグと保守なので、速度のために読みやすさを犠牲にしてはいけない
だから「入れないとだめ」って事はない
295や296の意見は正しい

ただこれはあくまで一般論で、最適化が重要になってくる局面もある
そういうレアケースに備えて話をするとドット演算子は遅いので、
オブジェクトで受けてやった方が良い
298Name_Not_Found:2015/02/25(水) 01:02:59.59 ID:???
Hogeクラスのインスタンスを
Hogeインスタンスと呼ぶのは変ですか?
299Name_Not_Found:2015/02/25(水) 02:51:07.28 ID:???
>>294
DOMでは「input.value」と何度も書くのであればキャッシュした方が早い。
JSの生オブジェクトでは自然とインラインキャッシュが働くので気にしなくていい。
また、ChromeではDOM実装もどんどんBlink-in-JS構想でJS化されていってるから、一部では自然と最適化が効く。
300Name_Not_Found:2015/02/25(水) 08:17:18.09 ID:???
>>283
おまえみたいなROMってるだけのやつが、単発で書く内容のほうが
スレの邪魔だよ
301Name_Not_Found:2015/02/25(水) 08:18:19.07 ID:???
>>292
誰も拒絶してない件についてwww

ここはjQueryのスレではない。ソレ以上でもソレ以下でもない。
jQueryで書く奴はお呼びではない。わかったか?
302Name_Not_Found:2015/02/25(水) 08:30:54.30 ID:???
そのものの良し悪しは別にして批判も養護も多いと、単語自体が嫌われる
このスレにおいてjQueryは韓国と同じ
303Name_Not_Found:2015/02/25(水) 10:02:55.67 ID:???
IE8だとDOMの値を取得すると重いし変数に入れるべきだろ
そもそも言語仕様の質問にリーディングの内容は関係ない
304Name_Not_Found:2015/02/25(水) 11:28:41.60 ID:???
関数の頭の方で参照を保存して狭い範囲で使うならアリかな
305Name_Not_Found:2015/02/25(水) 12:25:26.82 ID:???
>>301
お前が言いたいことはわかっている。
わかってないのはお前のほうだよ。

知ったことじゃない。質問者によって
それがいいことだと思えば、jQueryで書く。

質問者はjQueryを知らないが故にそういう
コードを書いているのかもしれないわけだから。

jQueryを使わないコードがほしいという人は、
そのように言うだろう。
306Name_Not_Found:2015/02/25(水) 12:28:01.38 ID:???
>>303
> IE8だとDOMの値を取得すると重いし変数に入れるべきだろ

重いかどうかを判断するのはお前じゃない。

実行してみて数十ミリ秒以下のような体感できないほどの
短い時間の差しかでない処理なら、速くするためだけの
コードは必要ないだろうという言う俺の意見を参考に
質問者が決めればいいだけの話。
307Name_Not_Found:2015/02/25(水) 12:29:00.01 ID:???
そもそもjquery否定厨が何でこのスレにいるんだよ
お前の仲間が立てた方のスレに籠っとけ
こっちはリベラルな方のスレだ
お前がいるとスレのクオリティが下がるんだよ
308Name_Not_Found:2015/02/25(水) 12:29:53.84 ID:???
> お前がいるとスレのクオリティが下がるんだよ

願ったり叶ったりだw
309Name_Not_Found:2015/02/25(水) 13:23:41.19 ID:???
>>298の質問に答えられる人はいないのでしょうか?
310Name_Not_Found:2015/02/25(水) 14:14:19.53 ID:???
ものすごく変ではないが、多用される言い方ではない。でも意味は通じる。
もしくはHogeというクラスのインスタンスということを短く示したければhogeを使う。
311Name_Not_Found:2015/02/25(水) 14:33:12.19 ID:???
>>310
ありがとうございました
312Name_Not_Found:2015/02/25(水) 17:19:45.86 ID:???
>>298
W3C 仕様書とかだと「Hoge オブジェクト」は
「Hoge インターフェースを実装するオブジェクトのインスタンス」
の略である、みたいなことを書いてたりするから
「Hoge オブジェクト」が普通なのかな
313Name_Not_Found:2015/02/25(水) 17:41:34.38 ID:???
まあインスタンスはオブジェクトだし
314Name_Not_Found:2015/02/25(水) 18:37:57.83 ID:???
JSではクラスもオブジェクトじゃん

var Hoge = function(){};

Hogeオブジェクトというと、
コンストラクタとしての関数オブジェクトHogeのことなのか
Hogeのインスタンスなのかが分かりにくい
Hogeインスタンスというと一瞬で伝わる
315Name_Not_Found:2015/02/25(水) 19:05:48.92 ID:???
JSではクラスもFunctionのインスタンスじゃん
316Name_Not_Found:2015/02/25(水) 19:07:19.39 ID:???
var Hoge = new Function()

Hogeインスタンスというと、
コンストラクタとしての関数インスタンスHogeのことなのか
Hogeのインスタンスなのかが分かりにくい
fugaというと一瞬で伝わる
317Name_Not_Found:2015/02/25(水) 19:07:50.75 ID:???
Hogeインスタンスという言い方はしないよ。
318Name_Not_Found:2015/02/25(水) 19:15:35.78 ID:???
>>317
var a = new Hoge();
var b = {};

a=Hogeオブジェクト
b=オブジェクトb
319Name_Not_Found:2015/02/25(水) 19:18:40.12 ID:???
プロトタイプベースはこの辺がややこしい

厳密にはクラスが無いし
320Name_Not_Found:2015/02/25(水) 19:24:09.88 ID:???
うん。だからクラスがないからインスタンスという言い方もしない。

だからHogeオブジェクトになる。

ただし、Hogeオブジェクトをクラスにように使うことを想定している場合、
つまりnewを使って生成する場合、Hogeクラス(のようにみなして)
Hogeクラスのインスタンスを生成するという言い方をする。
321Name_Not_Found:2015/02/25(水) 19:26:57.12 ID:???
クラスが無いというと語弊がある。
実体と抽象という関係のオブジェクトとクラスではないということだろう。
もしくは上から下の継承ではなく、下から上の譲渡という考え。
322Name_Not_Found:2015/02/25(水) 19:28:54.65 ID:???
JSではコンストラクタによって作られるオブジェクトをインスタンスって呼ぶんだよ
323Name_Not_Found:2015/02/25(水) 19:36:29.23 ID:???
インスタンスと呼ぶのはそのオブジェクトがnewで作られたものだけ
324Name_Not_Found:2015/02/25(水) 19:51:01.86 ID:???
関数はFunctionクラスのインスタンスではないということ?
325Name_Not_Found:2015/02/25(水) 20:58:43.57 ID:???
関数は通常Functionのインスタンスだけど、絶対そうであるとは限らないよ。
[[Call]]を持ってるオブジェクトなだけだから。
326Name_Not_Found:2015/02/25(水) 21:09:48.85 ID:???
function Hoge() {
 var cr = [Array, RegExp, Date, Number, String, Error];
 return Object.create(cr[Math.random()*cr.length|0].prototype);
}
var hoge = new Hoge;

このhogeもHogeオブジェクトと呼ぶの?
327Name_Not_Found:2015/02/25(水) 21:12:39.89 ID:???
なかなかトリッキーなの思いついたなw
328Name_Not_Found:2015/02/25(水) 22:17:15.45 ID:???
普通に考えたら hoge instanceof Hoge が true になるかどうか、じゃないか?
言い換えれば、hoge のプロトタイプチェーンに Hoge.prototype が含まれているなら、hoge は Hoge のインスタンス。

なので>>326の hoge は Hoge のインスタンスとは言えないだろう。
仕様書でも instance という単語はそういう意味で使われている
329Name_Not_Found:2015/02/25(水) 22:33:41.88 ID:???
それはES5までのどうしようもない仕様だろ
ES6からは@@hasInstanceを使って何をインスタンスとするか自由に決められる。
「オブジェクト instanceof 関数」である必要もない
「プリミティブ instanceof オブジェクト」も許容されるよう改善された。
330328:2015/02/25(水) 22:39:29.47 ID:???
うお、マジだった。恥ずかしい
>>328はなかったことにしてくれ
331Name_Not_Found:2015/02/25(水) 22:42:24.10 ID:???
'str' instanceof String // false
なのもどうかと思ってたが
null instanceof Null // true
とか
x instanceof StringOrNumber
みたいなのもできるようになるな
332Name_Not_Found:2015/02/25(水) 23:33:33.29 ID:???
>>331
なにそれ怖い
333Name_Not_Found:2015/02/26(木) 00:02:34.51 ID:???
もはやただの関数呼び出しだな
334Name_Not_Found:2015/02/26(木) 00:21:18.25 ID:???
"prototype"に縛られずプロトタイプベースを謳歌しましょうということだろう

const Base = {
 [Symbol.hasInstance](o) { return Object.getPrototypeOf(o) === this },
 new() { return Object.create(this) }
};

const Vehicle = { __proto__: Base,
 new(kind) { return Object.assign(super.new(), {kind}) }
};

const Car = { __proto__: Vehicle,
 new(name, type, maker) { return Object.assign(super.new('Car'), {name, type, maker}) }
};

let car = new Car('CX-5', 'minivan', 'mazda'); //Object {kind: "Car", name: "CX-5", type: "minivan", maker: "mazda", new: function…}

car instanceof Car //true
335Name_Not_Found:2015/02/27(金) 04:57:48.66 ID:???
webpackで出力されたjsファイルのデバッグに質問です

2つのjsファイルをwebpackにて一つのbundle.jsへとパックし、
devtoolオプションにてsource-mapを指定してソースマップを出力、

元のファイル構成が
app.js
foo.js
index.html

webpack後が
bundle.js
bundle.js.map
index.html

となり、ChromeでSettings -> General -> Enable JavaScript source mapsを有効化し、
index.htmlからbundle.jsをロードし、ソースマップから参照出来るパック前のapp.jsコード、foo.jsコードそれぞれにbreakpointを貼った所、
Chromeで再読み込みするとapp.js側のbreakpointが外れた状態でbreakpointが止まる為、再度の再読み込みをする前にbreakpointを貼り直す必要が出ています。

このような問題の解決方法はないでしょうか。

Chromeはバージョン 40.0.2214.115 m
webpackはgulp-webpack 1.2.0
です、ちなみにbrowserify 9.03でもbreakpointが上手く機能しませんでした。
336335:2015/02/27(金) 06:11:55.91 ID:???
自己解決しました
ソースマップではなくdevtoolでevalを指定したらbreakpointが上手く機能しました
337335:2015/02/27(金) 08:21:24.69 ID:???
経過報告です
その後ファイルを増やすとbreakpointを設定しているのに止まってくれない箇所が発生しました
ただ、あとは自力で解決してみようと思います、ありがとうございました
338Name_Not_Found:2015/02/27(金) 13:22:46.59 ID:???
自動ログアウト処理のようなことを実装したいのですが、
同じドメインでのページ移動では何もしないのですが、
別ドメインへのページの移動、もしくはブラウザを閉じた時にイベントを発生させたいです。
unload系のイベントだと思いますが、そのような都合のいいことは出来ますか?
339Name_Not_Found:2015/02/27(金) 13:47:12.23 ID:???
その仕組だとブラウザが不意に落ちた時などには対応しきれないだろう。
最も良い方法はServiceWorkerとセッションを結んでおき、切れたらログアウトさせること。
340Name_Not_Found:2015/02/27(金) 14:39:54.84 ID:???
>>339
ありがとうございます。
ServiceWorkerは触ったことないので早速見てみます。
341Name_Not_Found:2015/02/27(金) 15:07:37.03 ID:???
keypressでフォーム入力中にEnterを押したらフォームをクリアしたいのですが
this.value="";だとリセットされたあとに1回Enterが押されて改行された状態になってしまいます

form1.addEventListener("keypress", function(e){
if (e.keyCode==13){
this.value="";
}
},false);

どうしたら改行あかないようにできますか?
342Name_Not_Found:2015/02/27(金) 15:40:01.60 ID:???
>>341
keypress が DOMが更新される前に生じるのが理由だろうから
DOMが更新された後のタイミングでリセットすればいいだろう
input イベントか keyup イベント( input イベントの後)
343Name_Not_Found:2015/02/27(金) 15:49:20.40 ID:???
>>342
おー出来ました!ありがとうございます
こんなんでいいのかわかりませんが

form1.addEventListener("keypress", function(e){
if (e.keyCode==13){
this.addEventListener("keyup", function(){
this.value="";
}, false);
}
},false);
344Name_Not_Found:2015/02/27(金) 15:57:04.61 ID:???
↑ちゃんとremoveしないとだめでした
変なコード晒してすみません
345335:2015/02/27(金) 16:01:56.58 ID:???
取りあえずの解決策です

最終的にWebStormだとちゃんとbreakpointが機能しました、参考にしたurlです
https://github.com/webpack/webpack/issues/238

Chromeのデバッグ機能だと、
devtoolがevalはwebpackのrequireを使用したソースだとbreakpointが機能せず
devtoolがsource-map(とinline-source-map)だと2ソース以上でbreakpointを貼った際に1ソースのbreakpointしか機能しない
となった為、Chromeのデバッグ機能はまだ発展途上だと言う事で諦め、WebStormを使う事に落ち着きました。
346Name_Not_Found:2015/02/27(金) 16:13:40.20 ID:???
innerHTMLで削除した場合子要素や子要素に設定されているイベントリスナもちゃんと削除してくれるんでしょうか?
347Name_Not_Found:2015/02/27(金) 22:06:52.52 ID:???
Blinkでは弱参照で実装されているのでしかるべき時に消えますが、しかるべきでない時でも消える仕様バグが有ります。
348Name_Not_Found:2015/02/28(土) 14:14:37.45 ID:???
>>346
前に似た質問したときは消さない親要素にリスナ付けてtarget判定入れろろって言われたな
349Name_Not_Found:2015/02/28(土) 15:38:17.33 ID:???
jQuery ライブラリ 総合質問所 vol.4 から誘導されて来ました…



querySelectorAllで、sectionタグ下のimgタグは対象としたい。

 → document.querySelectorAll('section img')

しかし一方でsectionタグ下でもIDがexceptのdivに含まれるimgタグは除外したい
(section div#except img は対象外)。
このようなときにセレクタはどのように記述すればよいですか?

 → document.querySelectorAll('section img:not(section div#except img)')

では(案の定)ダメでした。
sectionの下のimgが必ず何らかのdivに囲まれてるとは限りません。
よろしくお願いします。
350Name_Not_Found:2015/02/28(土) 16:16:27.34 ID:???
section>img, section div:not(#except) img
とか?
351Name_Not_Found:2015/02/28(土) 16:27:02.42 ID:???
"abc".lastIndexOf("abc", 0);

"abc".lastIndexOf("abc", 2);
の結果が同じなんですけど、どうして前者は-1にならないんですか?
文字列の後方から検索して特定のインデックスより前に存在しないかどうやって確認したらいいですか?
352Name_Not_Found:2015/02/28(土) 16:49:49.85 ID:???
"cba".indexOf("cba", 0);
"cba".indexOf("cba", 2);

じゃだめなのかね

"abc".split("").reverse().join("")
353Name_Not_Found:2015/02/28(土) 19:59:39.77 ID:???
>>349
jQuery ライブラリ 総合質問所 vol.4でも書きましたが、
jQueryでいいなら


jQueryならこれでいいだろう。
$('section img').not('section div#except img')

ただ、IDは一個しか無いのが普通だから、これでいいはずだし、
$('section img').not('#except img')

exceptは普通幾つもありそうだからこっちのほうが良さそうだが
$('section img').not('.except img')
354469:2015/03/01(日) 06:34:23.46 ID:V6oJr0+J
なーにわけわからないことやってるんだ。
document.querySelectorAll('section:not(#except) img')
だろ。
355Name_Not_Found:2015/03/01(日) 10:20:32.53 ID:???
質問文をちゃんと嫁
356Name_Not_Found:2015/03/01(日) 11:00:42.28 ID:???
>>349
そのセレクタ指定は実は正しい。
取得できないのは:not()の中に子孫セレクタを使う方法にブラウザが対応していないから。
https://developer.mozilla.org/ja/docs/Web/CSS/:not
一方jQueryは:not()の中に子孫セレクタを使う方法に対応しているので、>>349のセレクタをそのまま書くだけでオッケー。

jQueryを使わずに一発で取得できる方法はないと思う。
(>>350だと<section><div id="except"><div><img>にもマッチするので不可)
ループを回して一つずつ確認するしかないだろう。
357Name_Not_Found:2015/03/01(日) 13:43:17.93 ID:???
>>354のようなjQuery以外方面だけに知識が偏っていて間違った回答なら無いほうがマシです
質問しても変な方向に切り返してきていちいち訂正するのが面倒くさいです
無視したら誠実さを疑われるのでスルーするわけにもいかないですし
たくさんの間違った知識で答える回答よりも確かな知識でjQueryで回答してくれる方が何倍も価値があります
358Name_Not_Found:2015/03/01(日) 14:12:53.84 ID:???
css4になればあるいは
359Name_Not_Found:2015/03/01(日) 14:18:14.87 ID:???
jquery/sizzle
Implement CSS4 Selectors #237
https://github.com/jquery/sizzle/issues/237
360Name_Not_Found:2015/03/01(日) 16:10:55.59 ID:???
セレクタって正規表現つかえないんだっけ?
361Name_Not_Found:2015/03/01(日) 16:50:58.81 ID:???
属性セレクタにってことか?
前方一致、後方一致、部分一致とかはあるけど、正規表現は無理
362Name_Not_Found:2015/03/01(日) 18:11:12.65 ID:???
document.querySelectorAll('section *:not(#except) img')
で対応できるんじゃないの?
363Name_Not_Found:2015/03/01(日) 18:41:28.59 ID:???
またjQueryの存亡をかけた自演チックな質問か。
jQueryがなきゃできないと誘導するための質問をあちこちに拡散して投じるというミエミエの工作なw
そんなもん、今はcontains()がIEだけのものじゃないから、誰でも簡単にフィルターできるんだよ、馬鹿が。
jQueryは終わってんだよ。いつまでも使ってんじゃねえよ、公害。
364Name_Not_Found:2015/03/01(日) 19:17:01.60 ID:???
jQueryはVirtual DOMと競合するけど、readonlyで使う分には便利よ、
ただ使わないコードで肥大化するのは頂けないが
365Name_Not_Found:2015/03/01(日) 19:18:40.66 ID:???
さんざんスレチだからライブラリスレ池言っといて
ライブラリスレ行っても同じ事やってる奴って一体なんなの?w
366Name_Not_Found:2015/03/01(日) 19:33:31.86 ID:???
jqueryが終わってるなら何が使われてるんだよ
367Name_Not_Found:2015/03/01(日) 20:35:38.38 ID:???
lodash
368356:2015/03/01(日) 22:01:20.98 ID:???
>>362
>>356で言ったように、それは<section><div id="except"><div><img>にもマッチするので不可

>>363
自演と言われるのは心外だな。
自演でもないしjQueryを不必要に勧めているわけではない。既にあるjQueryでの回答が若干ズレてたので指摘しただけだ。
あと恥ずかしながら、.contains()を使う方法は知らなかった。できたらそれを使った方法を教えてくれるとありがたいが、可能だろうか?
369Name_Not_Found:2015/03/01(日) 22:04:07.20 ID:???
DOM操作系はReact的なもの。
細かなAPIはポリフィルじゃね。
あとは従来通りにやるならAngelerか、
Polymerとか使ってそもそも作り方を大幅に変えるって手もある。
370Name_Not_Found:2015/03/01(日) 22:19:27.90 ID:???
<section><div id="except"><div><img>にはマッチする〜とか言い出したらIDが複数ある場合とかいくらでも穴はあるでしょうに。
371Name_Not_Found:2015/03/01(日) 22:23:05.86 ID:???
XPathを使え
372Name_Not_Found:2015/03/01(日) 22:28:51.41 ID:???
>>369
> DOM操作系はReact的なもの。

ReactはDOM操作というより、フレームワークだから
HTMLページの一部にちょっとだけ取り入れたいって時に
不便なんだよな。ページ全体の再設計が必要になる。

将来的にはWeb Componentsでコンポーネントを作り
そのコンポーネント同士を結びつける(コンポーネント内部じゃなくてね)のに
DOM APIを使う。そのよりベターなAPIとして簡単に記述できるjQueryを
使うって方向に戻るんじゃないか?って思ってる。
373Name_Not_Found:2015/03/01(日) 22:38:40.43 ID:???
>>371
こんな感じ?
var itr = document.evaluate('//section//img[not(section//div[@id="except"]//img)]',document,null,XPathResult.ANY_TYPE,null);
var res=[];while(e=ret.iterateNext()){a.push(e);};

>>372
要するにAngeler.jsに入っているようなjQueryのミニマムサブセットがいいんじゃないの?
ちょっと取り入れたいだけなら別もそれも要らなくて、自前で関数数個書けばいいだけと思うけど。
374Name_Not_Found:2015/03/01(日) 22:49:37.48 ID:???
> 自前で関数数個書けばいいだけと思うけど。

あれこれ、自前で関数作っていくと、
jQueryでいいんじゃね?ってことになるんだよ。
375Name_Not_Found:2015/03/01(日) 22:58:59.39 ID:???
>>374
もちろんあんたがそうであることまで否定したりはしないよ。
でも今はちょっとだけ何かがほしい時大きなライブラリは不便っていう一般的な話をしているんだよ。
376Name_Not_Found:2015/03/01(日) 23:16:17.15 ID:???
>>375
だから大きなフレームワークの導入じゃなくて、jQueryのような小さな
ライブラリを使おうって話をしているんだが。
377Name_Not_Found:2015/03/01(日) 23:34:19.74 ID:???
jQuery厨はそれがあるのが当たり前と思ってるからまともに話しても無駄
だから隔離スレができたというのに
378Name_Not_Found:2015/03/01(日) 23:36:34.67 ID:???
圧縮して100KBあるライブラリが小さいとよ
ふざけるのもいいかげんにしろ
379Name_Not_Found:2015/03/02(月) 00:03:13.54 ID:???
>>378
圧縮とミニファイの区別をつけてくれ。

古いブラウザにも対応した、jquery-1.11.2.min.js で94KB
最新だけで良ければ、jquery-2.1.3.min.js で83KB

これはミニファイで、圧縮した状態なら32.6KB
jquery-2.1.3.min.js 29KB だよ。

もちろんキャッシュが効くから、最初の一回目にしか転送は必要にならないし、
GoogleなどのCDNが使えるから、速くてサーバーの負担にもならない。
380Name_Not_Found:2015/03/02(月) 00:07:27.97 ID:???
ライブラリを使って、最初の一回ですませるか、
本質的なコードの量を削減して転送量を減らすか。

ライブラリを使わずに、長いコードを書いて
転送量を増やすかの違い。
381Name_Not_Found:2015/03/02(月) 00:12:29.64 ID:???
反jquery厨は
単に自分もjqueryじゃない回答も書けばいいだけだろ
質問者にしてみればいろんなケースの回答があった方が便利なのは当たり前
はい論破
382Name_Not_Found:2015/03/02(月) 00:20:52.07 ID:???
ライブラリ許容のこちらは隔離スレだから相手にするだけ無駄
383Name_Not_Found:2015/03/02(月) 01:16:04.76 ID:???
意味不明w
便利なスレの方が隔離スレかよ
不便なスレ方が隔離されてるだろ常識で考えて
384Name_Not_Found:2015/03/02(月) 01:36:36.97 ID:???
ライブラリを他人に押し付けるのは隔離スレにおいても便利なことではない。
誰の得にもならない愚行だよ。
隔離スレの存在意義は、質問者がライブラリを使用した回答を期待している場合と、
多少のライブラリの良し悪しについての雑談のため。
布教は誇示は対象外だから他所でやってくれ。
385Name_Not_Found:2015/03/02(月) 01:40:25.78 ID:???
押しつけって何のこと言ってるんだ??
どうやったら押しつけられるんだよ
超能力者かよ
ライブラリの話題が出ようが、使うも使わないも自由
当たり前のことだろ
書くも書かかないも自由だし使うも使わないも自由
簡単なことです
386Name_Not_Found:2015/03/02(月) 01:55:17.58 ID:???
変化の激しい分野で標準でもない一つのライブラリにフォーカス当て続けるのも危険だよ
現にVirtualDOMと競合してるわ、よりコンパクトなlodashの利用に移ってるわで縮小傾向にある
過去の資産が多いか利用者が多いのならそれが選択の一つにはなると思うがjQueryは
資産も多いし利用者も多いし実際便利だから使っても良いなと思いました
387Name_Not_Found:2015/03/02(月) 02:13:01.90 ID:???
バーチャルドムってDOM操作を最小限にする技術だろ?
jqueryとはまた別じゃないの
388Name_Not_Found:2015/03/02(月) 02:55:14.96 ID:???
勉強が足りんな。
というか想像力がない。
jQuery前提の設計思考ばかりしてるとこうなるんだな。
こわっ
389Name_Not_Found:2015/03/02(月) 03:00:06.63 ID:???
メモリ上のDOM構造(以下仮想DOM)に、新しい仮想DOMが来たら差分だけを実際のDOM(以下本DOM)としてブラウザ側へ書き出すって仕組みだから、
ブラウザ側で本DOMを操作するとメモリ上の仮想DOMとずれてしまい上手く差分書き出しが出来なくなるのよ。

jQueryは本DOMを操作するライブラリだから、操作自体がVirtualDOMと競合してしまい併用が出来なくなる。

あと、VirtualDOMにしたからと言って仮想DOM構築にはコストかかるよ、
まあブラウザ側の本DOM構築コストよりは遥かに安いから気にしなくても良くなるけど。
一応ReactにはshouldComponentUpdateっていう仮想DOMの再構築をするかの判定メソッドを使ってさらにチューニング出来る。
390Name_Not_Found:2015/03/02(月) 03:03:37.81 ID:???
>>389
なるほど
併用自体が駄目になるのか
391Name_Not_Found:2015/03/02(月) 03:10:07.14 ID:???
でも、たとえばあるコンテンツを含む領域のサイズとかって
実際に表示してみないと計測できなくない?
ブラウザごとに変わる可能性あるから。
バーチャルドムはそのへんどうしてるんだろ
392Name_Not_Found:2015/03/02(月) 03:26:44.57 ID:???
>>390
それどころか通常のDOM APIも併用できないよ。

React使うなら、React経由でしかDOMをい
じれないと思った方がいい。
393Name_Not_Found:2015/03/02(月) 03:31:27.86 ID:???
おそらくこれはひどい例だと思うんだけどさ、
React使ったらこんなにコード長くなるわけ?

http://blog.zigomir.com/react.js/jquery/2015/01/11/jquery-versus-react-thinking.html

ライブラリと違ってフレームワークはこれが怖いんだよな。
完全にフレームワークにのっとった開発にしないといけないから混ぜるのが難しくなる。
React本当に普及するの?すぐに廃れるんじゃ?っていう感じ。

それよりかWeb Componentsの方が期待できるんだよな。DOM標準だし。
単に要素を拡張して新しい要素を追加するだけだから、
新しいタグが増えたぐらいの感覚でいい。

そこから発生したイベントは、前と同じくDOM APIやjQuery APIでつなげていく。
シンプル・イズ・ベストだと思うな。
394Name_Not_Found:2015/03/02(月) 03:36:42.75 ID:???
<div id="hoge">hogehogehogehoge</div>

var width = $('#hoge').width();

をバーチャルドムでできるの?
395Name_Not_Found:2015/03/02(月) 04:02:13.23 ID:???
個人的にはHandlebars等でレンダリング部分をtemplateファイルに切り出せてたのが好みだった、これでもそこそこ速いし
Reactは構造上一つのクラスでView・Controllerを持つから、クラスの肥大化を防ぐのがユーザの手に委ねられたのが開発時に気を付けたい所

>>394
componentDid(Update | Mound)でjQueryで取得しても良いし、
Reactの作りに従って
render: function() {
 var width = this.hogeTxt.length;
 return ( <div id="hoge">{this.hogeTxt}</div> );
}
としても良い、最適化するならjQueryは毎回のselectorが冗長かつ重いからReact風にした方が良いかも
396Name_Not_Found:2015/03/02(月) 04:14:50.61 ID:???
Reactって130KBもあるのか。(´・ω・`)

jQueryなら83KBでいいのに
397Name_Not_Found:2015/03/02(月) 04:36:29.36 ID:???
アプリの規模やパフォーマンスで決めてけば良いんじゃないかな、
小規模でReactはFramework部分の記述率が多い印象、
逆に規模大きくなるとjQueryだけだとカバーしきれないから今までもBackbone(& Marionette)やKnockoutを使うようになってたし
398Name_Not_Found:2015/03/02(月) 04:39:28.23 ID:???
それはウェブアプリを作る場合だよね。

ウェブサイトやウェブページに使うぐらいなら
jQueryで十分だと思う。
399Name_Not_Found:2015/03/02(月) 04:45:32.80 ID:???
サイトでFramework系はオーバーワークだね、そこならjQueryでも十分だし、Vueも良いと思う
400Name_Not_Found:2015/03/02(月) 06:23:30.87 ID:???
>それは<section><div id="except"><div><img>にもマッチするので不可
っていってるけど>>356=>>349なの?
>>349の条件はそれが不可なんて言ってないと思うんだけど
401Name_Not_Found:2015/03/02(月) 06:28:00.50 ID:???
途中でおくってもうた

・sectionタグの中のimgが対象である
・div id="except"中のimgは除外する
・全てのimgがdivに囲まれているわけではない(他の要素に囲まれてるとは言っていない)

つまり><section><div id="except"><div><img>
これは条件に合致してると思うのだけど
402Name_Not_Found:2015/03/02(月) 06:47:54.85 ID:???
もういいよ。
質問者も解決できたでしょ。
403Name_Not_Found:2015/03/02(月) 14:12:54.74 ID:???
virtualdomとjqueryどっちが速いの?
404Name_Not_Found:2015/03/02(月) 15:19:51.08 ID:???
Virtual DOMってどんだけ早いの?測ってみた
http://dsuket.hatenablog.com/entry/2014/12/02/125230

> ん?ちょとまて! React も Virtual DOM使ってるんじゃなかったのかよ。
> Backboneに負けるのかよ!!

こんな程度らしい。

そのBackboneとjQuery。比較するまでもないよね?
405Name_Not_Found:2015/03/02(月) 15:28:18.51 ID:???
同じVirtual DOM実装のMercuryやElmが圧倒的なんですがそれは
406Name_Not_Found:2015/03/02(月) 16:03:59.01 ID:???
なんか聞いたことのないライブラリが沢山あるんだな・・・・
どう考えてもライブラリの話題禁止とか言ってる場合じゃない
時代に取り残されるわ
407Name_Not_Found:2015/03/02(月) 16:14:01.86 ID:???
ライブラリというかフレームワークの部類だし、
全くライブラリらしい物から、ES7やHTML.nextで標準に入りそうな機能の物まで挙がってるし話は複雑だよ。
今のいろんな機能はライブラリを元に書かれることも多いしね。
そうなればライブラリというよりただ先行実装版やポリフィルを使ってますということになる。
ただし時が流れ標準のほうが熟成してくるとライブラリが取り残されることになる。
今その状況なのがjQuery。
408Name_Not_Found:2015/03/02(月) 17:09:55.17 ID:???
去年XPの延長サポートが終わりIE8が消えていく時代だしね
2017年にはVistaのサポートが終わってIE9も切れる
409Name_Not_Found:2015/03/02(月) 17:15:12.22 ID:???
jQueryどころかDOM APIすら使わない時代なんだよな。

このスレの意味が無いw
410Name_Not_Found:2015/03/02(月) 17:18:53.79 ID:???
フレームワークを使うと、作り方が全く変わってくるからね。
ウェブサイトの作り方じゃない。
ウェブアプリを作るならそれでもいいけど、
いわゆるホームページ+α的なものだとやり過ぎ。

だから、
ウェブアプリ=フレームワークを使う(jQueryもDOM APIも使わない)
ウェブサイト=jQueryを使う。

の二極化していくんじゃないかな?
フレームワーク or jQuery

どちらにしろDOM APIはもう使わないよ。
411Name_Not_Found:2015/03/02(月) 17:58:55.84 ID:???
virtualdomって要するに
HTMLの差分を計算して勝手に適用してくれるのか
412Name_Not_Found:2015/03/02(月) 18:03:24.22 ID:???
>>411
ゲームに例えればわかりやすいよ。
ゲームは一秒間に30フレームだとか
60フレームだとか毎回画面を書き換えている。

毎回書き換えて処理速度大丈夫なのか?って思うかもしれないが、
それを減らすために、書き換える必要があるところだけ書き換えてる。

そのゲームで使われていた技術を持ち込んだのがVirtualDOM
413Name_Not_Found:2015/03/02(月) 18:05:59.49 ID:???
クローラーに引っかかることが重要ではない
ウェブアプリならその方法でいいんだけどな。

例えばWikipediaのようなサイトにVirtualDOMは
似合わないかな。そもそもそこまでJavaScript必要じゃないし。
たいていの情報系サイトはそうじゃないかな?
414Name_Not_Found:2015/03/02(月) 18:08:20.60 ID:???
今時のクローラはJS実行後の画面を取得できるって
このスレで見たよ
415Name_Not_Found:2015/03/02(月) 18:15:09.06 ID:???
クローラーってのはGoogleだけじゃないかなねぇ
416Name_Not_Found:2015/03/02(月) 20:02:38.85 ID:???
http://www.snip2code.com/Snippet/197131/Backbone-VirtualDOM-using-fiduswriter-di

backboneでもvirtualdomを使えるみたいですね
既存フレームワークとの親和性は高いのかな?
417Name_Not_Found:2015/03/02(月) 22:44:50.95 ID:???
https://github.com/fiduswriter/diffDOM

diffDOMの説明を読むと、DOMとDOMのdiffを取るもののようですが
こういうのもvirtualDOMっていうんでしょうか・・?
418Name_Not_Found:2015/03/03(火) 02:13:23.90 ID:fuflqn7b
「いつものパン」があなたを殺す (デイビッド パールマター 三笠書房 2015/1/16)
http://www.amazon.co.jp/dp/4837957552

長引く痛みの原因は、血管が9割  (奥野祐次 ワニブックスPLUS新書 2015/2/7) 
http://www.amazon.co.jp/dp/4847060792
http://www.wani.co.jp/event.php?id=4606

あなたの不調、実は「脳脊髄液減少症」かも!?
http://i.imgur.com/0NSOYDs.jpg
http://i.imgur.com/7F0FC8r.jpg

すべての不調は首が原因だった!
http://i.imgur.com/1A6Mlx6.jpg
http://i.imgur.com/suxOFYT.jpg
http://i.imgur.com/PTTTnPh.jpg

その不調は遅延型フードアレルギーです!
http://i.imgur.com/JeFV27f.jpg
http://i.imgur.com/X1qpw5n.jpg
http://i.imgur.com/YCNj1tJ.jpg
http://i.imgur.com/KUk7fZ2.jpg

食品容器に多用されるビスフェノール(BPA)が脳の発達に異常をもたらすとの新研究
http://i.imgur.com/4irq8qS.jpg

腸でセロトニン 鬱病
http://i.imgur.com/JxwJP4v.jpg
http://i.imgur.com/qxLPW1b.jpg

ダダモ博士のNEW血液型健康ダイエット(集英社文庫)
O型とB型は小麦粉、とうもろこし、蕎麦を食べると体調が悪くなり太ります
http://www.amazon.co.jp/dp/4087604330
419Name_Not_Found:2015/03/03(火) 03:13:36.34 ID:???
>>418

ワロタw

「健康が悪い人の9割は一週間以内にパンを食べていた」
「犯罪者の9割は一週間以内にパンを食べていた」

みたいなネタをリアルでやってるw
420Name_Not_Found:2015/03/03(火) 06:42:04.97 ID:???
結果は置いといて、これはちゃんと対比実験になってるから科学として正当だよ。
421Name_Not_Found:2015/03/03(火) 14:27:47.85 ID:???
その前に何目的でこんな書き込みをしたのか
ネトウヨみたいに洗脳されてそう
422Name_Not_Found:2015/03/04(水) 10:57:32.74 ID:???
人類は皆ミームによって突き動かされてる。
423Name_Not_Found:2015/03/05(木) 17:19:59.51 ID:???
正規表現について質問です
マッチ対象のグループ化数が不明の時に、正規表現によってグループ一覧を取得する方法はないでしょうか

例えば、
matches = "aaaBBBaaaBBB".match(/(([a-z]+) | ([A-Z]+))/)
としたら、
["aaa", "BBB", "aaa", "BBB"]
という結果を取り出したいです
424Name_Not_Found:2015/03/05(木) 17:24:13.80 ID:???
時計に合わせて10分間隔で通知を出すタイマーを作りたいのですが設計をどうすればいいでしょうか

例えば11時3分にタイマーをスタートしたら11:10 11:20 と通知を出したいのです。
(window.alert は使いません)

今考えてるのは↓これなんですがアドバイスお願いします。

開始ボタン

直近の10分までsetTimeout

10分間隔でsetInterval
425Name_Not_Found:2015/03/05(木) 17:54:33.19 ID:???
>>423
/([a-z]+|[A-Z]+)/g

>>424
ブラウザのタイマーを信用するならそれでいい。
426Name_Not_Found:2015/03/05(木) 17:54:38.84 ID:???
>>423
var matches = "aaaBBBaaaBBB".split(/([a-z]+)/);
→[ '', 'aaa', 'BBB', 'aaa', 'BBB' ]
空文字列が出ちゃうな
まぁfilterに掛けるなりすればいいし、そんな感じでやればいいと思う
427Name_Not_Found:2015/03/05(木) 17:56:15.27 ID:???
>>423
gフラグ
match(/regex/g)

>>424
動けばなんでもいいんじゃね
まぁちょっとずつずれるし
10分おきに時間計算しなおしてsetTimeoutしなおしたほうがいいんじゃね
428423:2015/03/05(木) 18:00:21.18 ID:???
自己解決しました
力技ですが、下記のようにorマッチ部分を分解して、再帰的にいずれかのマッチ結果を取り出すにして対応出来ました

// CoffeeScript
str = 'aaaBBBaaaBBB'
a = []

while true
 matched = str.match(/^([a-z]+)(.*)/)
 if (matched)
  a.push(matched[0])
  str = matched[1]
  continue

 matched = str.match(/^([A-Z]+)(.*)/)
 if (match)
  a.push(matched[0])
  str = matched[1]
  continue

 break # マッチ完了

console.log(a) # ['aaa', 'BBB', 'aaa', 'BBB']
429Name_Not_Found:2015/03/05(木) 18:01:20.73 ID:???
リロードしてませんでした・・・
>>425-427
ありがとうございます!
430424:2015/03/05(木) 18:02:11.49 ID:???
>>425>>427
ありがとうこざいます!
全部setTimeoutの方が楽そうなのでとりあえずそっちでやってみます
431Name_Not_Found:2015/03/05(木) 19:46:48.10 ID:???
動けばいいといっても限度がある
流石に>>428みたいなのは解決とは呼べない
432423:2015/03/06(金) 00:51:48.11 ID:???
>>431
おっしゃる通りです、最終的に/gを付けて解決する事が出来ました
433424:2015/03/06(金) 02:07:38.77 ID:???
すいません。10分後までの秒数を調べる方法教えてください > <
434Name_Not_Found:2015/03/06(金) 09:41:16.82 ID:???
>>433
600秒-《現在時刻の分の1の位》*60-《現在時刻の秒》
ちっとは頭使え。
435Name_Not_Found:2015/03/06(金) 09:43:37.57 ID:???
436424:2015/03/06(金) 14:31:17.52 ID:???
>>434-435
数学は苦手で条件分岐6個書くとこだった
ありがとう!!
437Name_Not_Found:2015/03/06(金) 15:30:59.19 ID:???
小学低学年でも分かる算数だろ……
プログラミングってのは算数からは逃げられないぜ。
438Name_Not_Found:2015/03/07(土) 11:59:35.85 ID:???
>>436
条件分岐6個に興味があるんだけど、
どんなアルゴリズムを思い付いたんだ?
439Name_Not_Found:2015/03/07(土) 17:51:56.53 ID:???
さすがに条件分岐6個はあれだけど、[10, 20, 30, 40, 50, 60] のようなテーブルを用意して
ってのは有りだと思う
正時から10分ごとっていう仕様が変わらなければ一つの計算で出してもいいけど
440Name_Not_Found:2015/03/07(土) 18:09:57.08 ID:???
>>438
if (分 == 0) {}
if (分 == 10) {}
if (分 == 20) {}
if (分 == 30) {}
if (分 == 40) {}
if (分 == 50) {}

だろ?
441Name_Not_Found:2015/03/07(土) 18:19:05.35 ID:???
>>437
プログラミングには、算数は小学生レベルでいいけど、語学力と歴史学は修士レベルが必要だよ。
442Name_Not_Found:2015/03/07(土) 19:07:24.31 ID:???
歴史学はいらんだろw
443Name_Not_Found:2015/03/07(土) 19:19:22.08 ID:???
ロジカルシンキングが得意であったほうがいい

算数と言うより数学の方だな

英語は公式のドキュメント読む時は必須
444Name_Not_Found:2015/03/07(土) 19:27:32.66 ID:???
いつも思うが、数学というか、
ロジカルシンキングがあればいいだろ。
445Name_Not_Found:2015/03/07(土) 19:44:17.60 ID:???
プログラミングに必要なのは美的センス
446Name_Not_Found
>>445
それはそうなんだが絵的な美的感覚とも違うんだよな

論理性の美しさって言うか問題解決の簡潔さや無駄の無さ