X



+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2015/01/24(土) 16:23:05.20ID:???
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です)
0002Name_Not_Found
垢版 |
2015/01/24(土) 16:23:50.09ID:???
■質問テンプレート
【環境】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/
0003Name_Not_Found
垢版 |
2015/01/24(土) 16:24:22.71ID:???
■主要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 中でやるとか。
0004Name_Not_Found
垢版 |
2015/01/24(土) 16:24:52.20ID:???
■各種仕様 ( 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)
0005Name_Not_Found
垢版 |
2015/01/24(土) 16:26:32.69ID:???
■諸注意
vol.116で一人の心ない人が勝手に決めたライブラリ禁止は撤回されました。
今後はライブラリに関する質問も受け付けます。
ライブラリ禁止を叫ぶやからはスルーしてください。
0006Name_Not_Found
垢版 |
2015/01/24(土) 16:28:43.46ID:???
■関連スレ 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/
0007Name_Not_Found
垢版 |
2015/01/24(土) 16:31:31.71ID:???
■関連スレ 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/
0009Name_Not_Found
垢版 |
2015/01/24(土) 19:52:14.47ID:vwrk6Z7/
以前、質問した者です
おかげさまでシステムが完成して300万円で飛ぶように売れてますw
教えてくれてありがとうございましたw
0012Name_Not_Found
垢版 |
2015/01/27(火) 00:53:56.92ID:???
lodash 3.0 キタ━━━━(゚∀゚)━━━━!!
0013Name_Not_Found
垢版 |
2015/01/30(金) 22:59:11.73ID:???
>>11
毎回そうだけど、現行スレでライブラリ禁止の話が出ると次スレを乗っ取ろうとしてフライングして立てる人が出てくる
いつもの事ながら呆れる
0014Name_Not_Found
垢版 |
2015/02/02(月) 13:53:34.15ID:???
結局乱立させた自分のスレがどこも伸びないからって戻って荒らしてるよ
この状態が何年続くのかね
0015Name_Not_Found
垢版 |
2015/02/02(月) 14:08:49.57ID:???
細分化しても伸びないんだから
JavaScriptは全部一つにまとめろって。
0016Name_Not_Found
垢版 |
2015/02/13(金) 23:22:56.63ID:qxiSVRF8
前スレ>>1000
解答になってません
0017Name_Not_Found
垢版 |
2015/02/13(金) 23:25:10.66ID:???
言う事が全て嘘だからフォローする事もできないな...
0018Name_Not_Found
垢版 |
2015/02/13(金) 23:26:39.86ID:???
あまりにも小出しな上に文句しか言わないからめんどくさい。
0019Name_Not_Found
垢版 |
2015/02/13(金) 23:27:37.77ID:???
何でJS使わないといけない縛りしてんの
0020Name_Not_Found
垢版 |
2015/02/13(金) 23:27:48.96ID:qxiSVRF8
もういいです!
JavaScriptの質問なのにCSSでしか解答しない人には用はありません
0021Name_Not_Found
垢版 |
2015/02/13(金) 23:29:03.22ID:???
「ヘッダー固定 アンカー」でググれば腐るほど答え出てくるけどな
0022Name_Not_Found
垢版 |
2015/02/13(金) 23:29:09.54ID:???
そんなにJavaScriptを使いたいならJavaScriptでCSS追加すれば解決するだろうに考える頭もないのか
0023Name_Not_Found
垢版 |
2015/02/13(金) 23:31:11.64ID:???
「(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。」と書いてあっただろうに
テンプレを全く読んでないんだろうな
0024Name_Not_Found
垢版 |
2015/02/14(土) 04:46:48.50ID:???
chromeのtweetdeckが最近急に落ちるようになりました
タブごと死ぬのです
JavaScriptが原因でブラウザが落ちるってヤバくないですか?
0025Name_Not_Found
垢版 |
2015/02/14(土) 04:57:04.44ID:???
JavaScriptでChromeが落ちることはありえないので、
つまりJavaScriptが原因じゃないってことです。
0026Name_Not_Found
垢版 |
2015/02/14(土) 05:07:08.17ID:???
tweetdeckはJavaScriptで動いているはずなので他に原因は考えられませんが
0027Name_Not_Found
垢版 |
2015/02/14(土) 05:09:29.15ID:???
react.jsっていうのを知りました
http://qiita.com/koba04/items/4d13caf5ab4507974bf0
React.jsではJavaScript内にVIRTUAL DOMとしてDOM Treeのような構造体を持っています。
rerenderされる際に、その構造体の前後の状態を比較し、最小限の変更で実際のDOMに反映します。

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

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

Strict Mode 影響下にあるのだから this === undefined になるべきだと思うが、考え違いをしているのだろうか
なぜ後者だけグローバルオブジェクトを参照できるのか理解できない
そもそも、こういう場合はスコープの関係上、Function を使うものだと思っていたのだが…
0037Name_Not_Found
垢版 |
2015/02/14(土) 11:43:56.04ID:???
だと思うじゃなくてコードを実行しろよ
(function(){
console.log(this);
})()
0039Name_Not_Found
垢版 |
2015/02/14(土) 12:18:18.97ID:???
>>37
「Function を使ってグローバルオブジェクトを取得する方法を教えてくれ」という質問だと勘違いしてるんじゃない?
0040Name_Not_Found
垢版 |
2015/02/14(土) 13:04:01.97ID:???
ところで、このスレは継続して使うのかな
荒らしの立てたスレだから誰かが前スレで作られたテンプレ通りに立て直すものだと思っていたんだけど
(自分は制限ホストの為、立てられない)
0041Name_Not_Found
垢版 |
2015/02/14(土) 13:05:39.16ID:???
>>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)以降を満たさないので、グローバルスコープで実行される。
004236
垢版 |
2015/02/14(土) 13:44:05.58ID:???
>>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 でもグローバルオブジェクトを参照する方法を求めて質問したのだと想像するが…
004336
垢版 |
2015/02/14(土) 13:56:20.43ID:???
改めて確認してみたが、"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 を使用するコードが無難になるのか
004441
垢版 |
2015/02/14(土) 14:48:51.13ID:???
>>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の指摘のある通りそもそもバッドノウハウの部類なのであまりお勧めできないだろう。
0046Name_Not_Found
垢版 |
2015/02/14(土) 17:47:35.78ID:???
>>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/
0047Name_Not_Found
垢版 |
2015/02/14(土) 18:21:32.72ID:???
本来は放置するのが鉄則だし
あくまで避難先にしてテンプレ固まり次第早々に建てたほうがいいよ
0048Name_Not_Found
垢版 |
2015/02/14(土) 18:24:05.08ID:???
>>47
そしたらまた建てなおされるだけだぞ。

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

うん。

で、お前だけが書き込むのか?
0061Name_Not_Found
垢版 |
2015/02/14(土) 19:06:26.24ID:???
>>60
今まで放置され続けてきたのに今更何を言ってるのか
そんなに使いまわしたいなら君が率先して>>11の若いスレから使ってきなよ
0062Name_Not_Found
垢版 |
2015/02/14(土) 19:11:04.36ID:???
>>54
JS側にそういう仕様があるわけではない
Chromeにそういう機能が付いてる
006336
垢版 |
2015/02/14(土) 19:13:15.81ID:???
>>44
> それに、非Strict Mode でも this が window 以外のことはいくらでもあるから、Strict Modeが関係あるというのは語弊があると思った。
> まあこの辺は言い方の問題なので、あまり突っ込まないでほしいw
了解した
0064Name_Not_Found
垢版 |
2015/02/14(土) 19:18:15.90ID:???
荒らしが新スレを立てようが放置すればいいだけ
荒らしの立てたスレを使うから荒らしが調子に乗って新スレを立てる
多分、近いうちにvol.124も立つだろう
使われると分かれば間違いなく立てる
立てても無駄だと理解させないと駄目
0065Name_Not_Found
垢版 |
2015/02/14(土) 19:19:28.29ID:???
わかりやすく変な改行してるんだからスルーしときゃいいものを
0067Name_Not_Found
垢版 |
2015/02/14(土) 19:33:23.69ID:???
>>62
ありがとうございます
知らないうちにそんな機能が付いてたんですね
0069Name_Not_Found
垢版 |
2015/02/14(土) 20:07:47.33ID:???
別に立てんでもいいだろ
何個もこの板に乱立すんな
0070Name_Not_Found
垢版 |
2015/02/14(土) 20:10:26.89ID:???
幼稚なアホがまた立てたのか
0072Name_Not_Found
垢版 |
2015/02/14(土) 21:15:48.46ID:???
相変わらずカオスだな、JavaScriptスレは…
0073Name_Not_Found
垢版 |
2015/02/14(土) 21:26:46.81ID:???
ようやくスレが立った

■現行スレ
+ 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)
0074Name_Not_Found
垢版 |
2015/02/14(土) 21:44:44.91ID:???
下から二番目は単なるミスっぽい気もするが
とにかくお疲れさま
0075Name_Not_Found
垢版 |
2015/02/14(土) 21:45:33.93ID:???
いちいち荒らしとか認定してる奴が幼稚きわまりない
ネトウヨかよ
あるスレを淡々と消化していけよ
しょうもない
0077Name_Not_Found
垢版 |
2015/02/14(土) 21:53:04.36ID:???
しれないな
じゃねーよクズが
0078Name_Not_Found
垢版 |
2015/02/14(土) 21:56:27.12ID:???
よく見たらスレありすぎわろた
スレ立て権を無駄に消費すんな
先に立ったスレに優先権があるんだからそのスレを粛々と使っていけばいいだけ
0079Name_Not_Found
垢版 |
2015/02/14(土) 21:56:52.73ID:???
こうしてvol. 123スレは4つできたわけかw
次スレはいくつできるだろうかね?w
0080Name_Not_Found
垢版 |
2015/02/14(土) 22:06:33.11ID:???
荒らしの学習能力の無さに笑った
vol.124でも無駄に新スレ立てるんだろうな
0081Name_Not_Found
垢版 |
2015/02/14(土) 22:23:19.22ID:???
今だに手作業で次スレを立てるのって何でなの?
手間かかるし、混乱と喧嘩が絶えないし、良いこと無いように見えるけど。
0082Name_Not_Found
垢版 |
2015/02/14(土) 22:27:16.83ID:???
とりあえず全部解消するまでスレたてんなや
0083Name_Not_Found
垢版 |
2015/02/14(土) 22:35:56.55ID:???
>>81
2chに要望を出すか、2chに代わる掲示板システムを君が開発してくれ
0084Name_Not_Found
垢版 |
2015/02/14(土) 23:05:44.06ID:???
>>80
たてるなよ。たてるなよ。
ダチョウ倶楽部ですね?
0085Name_Not_Found
垢版 |
2015/02/14(土) 23:08:18.74ID:???
自動で立つと切りがいいからここで終わりにしようって事が出来なくなるだろ
それに新規に建てる事なんていくらでも出来るし自動で建てる事のメリットはほぼ皆無
精々スレ番がちゃんとインクリメントされるぐらいだ
0086Name_Not_Found
垢版 |
2015/02/15(日) 00:02:53.34ID:???
テンプレに相当する情報をwikiのような共有スペースにして次スレ作成ボタンを主導で押して次スレを立てられるなら便利かもな
同じスレグループは同一リストに入れる事も出来るし
0087Name_Not_Found
垢版 |
2015/02/15(日) 00:12:25.14ID:???
そしてテンプレに相当するwikiを書き換えて
スレ立てボタンを押す。いいね。面白いw
0089Name_Not_Found
垢版 |
2015/02/15(日) 14:30:21.34ID:???
window.hogeに何も値を入れなければundefinedですが
一時的にwindow.hogeに値を入れて削除したい場合はwindow.hogeにundefinedを代入すればいいんですか?
それともdelete window.hogeしたほうがいいですか?
0091Name_Not_Found
垢版 |
2015/02/15(日) 16:07:39.50ID:???
>>89
値を代入する前と同じ状態にしたいなら、delete
0092Name_Not_Found
垢版 |
2015/02/15(日) 16:15:13.80ID:???
つかいますをつかうようにしますdelete
0093Name_Not_Found
垢版 |
2015/02/15(日) 16:25:35.98ID:???
あとすいません
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を削除できないんですか?
0095Name_Not_Found
垢版 |
2015/02/15(日) 21:27:33.58ID:???

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

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

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

-[]って使い道ある?
0108Name_Not_Found
垢版 |
2015/02/16(月) 03:26:01.85ID:???
質問をコピペしないでください。マルチポストになってしまいます
0109Name_Not_Found
垢版 |
2015/02/16(月) 06:40:42.44ID:Ig42YN7J
ふと思ったのですがjavascriptにはgotoがありませんが
特に困った記憶がありません
なぜgotoがなくても問題ないのでしょうか?
011093
垢版 |
2015/02/16(月) 10:16:04.97ID:???
>>93おねがいします
0111Name_Not_Found
垢版 |
2015/02/16(月) 12:11:06.36ID:???
このスレで回答してくれるのは恐らく荒らしだけなので、回答が付かないようであれば移動することをお勧めします。
0112Name_Not_Found
垢版 |
2015/02/16(月) 15:12:21.62ID:???
>>109
無理やりスパゲッティコードでも
文脈の外へgoto また文脈の中へ gotoくらいなら
callback関数でなんとかなるからかな

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

https://bitflyer.jp/gift/fn0tlipl

外部ウォレットに送金できるので、とにかく一応もらっておくといいです。
0117Name_Not_Found
垢版 |
2015/02/16(月) 19:55:14.14ID:???
>>115
C だったら long_jump 使うことはあるんじゃね?
0118Name_Not_Found
垢版 |
2015/02/16(月) 20:45:07.31ID:???
>>117
setjmp, longjmpだな
それは基本的にブロックどころか関数外に飛ぶ為のもんだ (スタックポインタをいじる為のもん)
0119Name_Not_Found
垢版 |
2015/02/16(月) 22:23:07.74ID:???
>>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の機能が無いか、
あってたとしても少し機能が足りないから。
0120Name_Not_Found
垢版 |
2015/02/16(月) 22:29:53.33ID:???
>>119
随分適当だな…
gotoの代わりになってるのは2.5.だぞ
> 実はgotoは1〜5の機能を実装できる万能機能。
ジャンプ出来るのは関数内だけだ
そう考えると関数を越えられる5も違うと言える
ようするに2だけ
0121Name_Not_Found
垢版 |
2015/02/16(月) 22:50:29.94ID:???
>>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なくても困らないよ。
0122Name_Not_Found
垢版 |
2015/02/16(月) 23:10:54.39ID:???
htmlとcssとjqueryをやり始めて三ヶ月なんですが自分が作っているサイトでjqueryを使いたいのですがどうしてもscrollがうまくいきません
アドバイス欲しいんですがファイルをアップしたら見てもらえますか?
ダメそうならもうちょっと考えます
0125Name_Not_Found
垢版 |
2015/02/16(月) 23:37:49.16ID:???
jQueryのステマだよ。
jQueryは役割終了しているけれど、これを有料で布教して食っている、非技術系デザイナーのクズが少なからず存在しているからな。
因みに、ここ2年のJS実装では、匿名関数が本当に無名関数になった。jQuery布教者どもが匿名関数を何故か無名関数無名関数とほざいていたからか、JSが折れた形w
0126Name_Not_Found
垢版 |
2015/02/16(月) 23:49:28.15ID:???
>>123
テンプレ見てなかった
すんません
でもjqueryは書くほどのレベルじゃないっていうかホントに初心者用参考書のレベルなんです
コードは間違ってないと思うんだけど…
とりあえず後で書いてみます

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

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

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

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

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

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

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

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

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

画面をスクロールするとnavが表示されるようにしたいのですがうまくいきません。
先輩曰くcssのpositionのせいで動かないらしいんですが具体的に何がどうなったら動かないっていうのは説明できない(わからない)そうです
ブラウザはchromeです
よかったら知恵を貸してください
0139Name_Not_Found
垢版 |
2015/02/17(火) 10:59:29.82ID:???
見えてないだけとか?navの縦サイズとcssはどうなってんの
0140122
垢版 |
2015/02/17(火) 11:41:26.92ID: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の表示は上手くいきました
0141Name_Not_Found
垢版 |
2015/02/17(火) 12:01:32.61ID:???
まずはscrollイベントのリスナが実行されているかどうかをalertやコンソールで角煮する
さらにscrollTopが動いているかどうかを同様に確認する
そこから原因を推測して修正する

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

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

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

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

2度押し防止のdisabledをやったことがない人はいないと思うんで。
0149Name_Not_Found
垢版 |
2015/02/17(火) 20:59:17.64ID:???
古いブラウザでもってのはポリフィルの役目じゃね
jQueryはブラウザ間の誤差を埋めて貧弱な標準機能を補完するために生まれたと思うが。
0150Name_Not_Found
垢版 |
2015/02/17(火) 21:22:50.36ID:???
<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にも「日本」が入ってるような感じです。
0151Name_Not_Found
垢版 |
2015/02/17(火) 21:26:52.60ID:???
>>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/
こういうのは正しい書き方をしているのに、ブラウザのバグで動かないわけで
見つけづらいバグになる可能性が高い。
0152Name_Not_Found
垢版 |
2015/02/17(火) 22:04:08.77ID:???
それを言い出したら、jQuery自体にもバグはあるからな
ブラウザ固有のバグに比べたら少ないかもしれないが、だからと言ってjQueryを盲信すべきではない
0153Name_Not_Found
垢版 |
2015/02/17(火) 22:09:40.11ID:???
1.viewでdomイベントをハンドリング
2.modelを変更
3.modelのイベントを、viewがハンドリング
4.viewが自分を変更

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

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

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

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

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

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

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


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

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

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

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

という文章も出てきました。コレクションというのはbackboneではモデルの集合のことです。
JavaScriptがクライアントサイドである以上、
モデルに対しても表示まわりのイベント発行は許されるのでしょうか
そこまで分離してないというか
0171Name_Not_Found
垢版 |
2015/02/19(木) 01:27:14.49ID:???
>>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ができるようになったのかよって苦笑してる。
0173Name_Not_Found
垢版 |
2015/02/19(木) 01:29:55.44ID:???
>>168
> Modelが入力イベントに対して反応するのはMVC的には変。

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

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

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

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

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

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

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

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

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

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

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

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

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

1秒待機して実行したいんですが、これ2回目以降はundefinedが出力されるのはなぜですか?
0206Name_Not_Found
垢版 |
2015/02/20(金) 22:40:23.33ID:???
function f(t){
console.log(t);
setTimeout(f, t, t);
}
f(1000);
0209Name_Not_Found
垢版 |
2015/02/20(金) 23:27:54.30ID:???
あ、そうか、たしかに引数をあたえてなかったですね!
0211Name_Not_Found
垢版 |
2015/02/21(土) 11:13:39.33ID:???
Cとかまともに書いたことなくて変数の型や初めて使うArrayBuffer(結果出力のみに使用)に苦戦しながら
やっと動かせたRGB→HSV色変換関数のasm.js版
Firefoxは122ms→374msで3倍遅くなったのにChromeでは241ms→62msに4倍速くなって驚いた
まだ変数とかそのままだから>>198のようにすれば高速化できるのか
0212Name_Not_Found
垢版 |
2015/02/21(土) 13:15:07.13ID:???
asm.jsはFxではオーバーヘッドが大きいし、ネイティブ関数と同じでインライン化等の最適化が効かないから
一般に小さくてとても軽い関数では効果はでない。asm.jsで書くなら書けるところ全部をそうしないと。それが罠。
0214Name_Not_Found
垢版 |
2015/02/22(日) 01:02:35.94ID:???
node.jsってwindowsでも使えるんですか?
0216Name_Not_Found
垢版 |
2015/02/22(日) 09:54:55.42ID:???
じゃあ使ってみたいですけど
サーバサイドをやるのはちょっと怖いです
みんなやってるんですか?
0217Name_Not_Found
垢版 |
2015/02/22(日) 10:42:36.05ID:???
やっている人もいますし、やっていない人もいます
はい次の人
0218Name_Not_Found
垢版 |
2015/02/22(日) 12:27:23.71ID:???
普段使っている言語なので、他のサーバ環境よりは使いやすいはずですよね
0219Name_Not_Found
垢版 |
2015/02/22(日) 13:38:55.08ID:???
http://andreryu.hatenablog.com/entry/2014/04/12/230425
ここを見てやったらひな形サイトがすぐに表示できました
expressの使い方はまだ分かりませんが
publicの中にindex.htmlを作成したら、それが表示されました
動的要素のないサイトならすぐにサーブできますね
0220Name_Not_Found
垢版 |
2015/02/22(日) 13:40:06.68ID:???
>>211
Chromeは既存のV8のエンジン内でasm.jsのコードを高速に動かす最適化がかなり進んでる
Firefoxの場合はAOTの別エンジンで実行するから、コードの一部だけをasm.js化しても
オーバーヘッドの方がデカくなってしまう
ゲームみたいに全部asm.jsだと超高速に動くようになる
0221Name_Not_Found
垢版 |
2015/02/22(日) 17:09:17.48ID:???
本当に「"use asm"」をターゲットに最適化をするTuboFunはまだChrome安定版で有効になっていないだろう。
現状asm.jsで早くなるのは汎用的な最適化によるもの。
0222Name_Not_Found
垢版 |
2015/02/22(日) 17:27:09.00ID:???
型注釈だけでも速くなりそうな感じはするけど
0223Name_Not_Found
垢版 |
2015/02/22(日) 19:03:03.24ID: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はまだ使うべきではありませんか?
0224Name_Not_Found
垢版 |
2015/02/22(日) 19:08:57.39ID:???
未消化のスレがあったのですね。失礼しました・・・
0225Name_Not_Found
垢版 |
2015/02/22(日) 19:20:05.04ID:???
>>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()」だけであるなら
俺は多分関数にはしない。
0226Name_Not_Found
垢版 |
2015/02/22(日) 19:32:41.89ID: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."));
}
});
});

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

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

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

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

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

$function() {

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

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

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

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

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

> constは外します。未来の自分がやらかさないか不安ではありますが・・・。
外すのはいいけど、代わりにvarをつけるようにw
古いブラウザに対応する必要があるならこれ。
0232226
垢版 |
2015/02/22(日) 20:10:42.73ID:???
今から外に出るので帰ったらjsdoに上げて見たいと思います
その間で変なところを見つけましたら修正してから上げますのでご指導お願いします
0233Name_Not_Found
垢版 |
2015/02/22(日) 20:12:48.01ID:???
>>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の使い方に違和感を覚えた。
0234Name_Not_Found
垢版 |
2015/02/22(日) 20:15:48.17ID:???
>>232
じゃあ課題として、とりあえず
8000行まで減らしてみ。
JavaScript入門書を見ながらさ。
最小限の知識しか持ってないのがバレバレ
0235Name_Not_Found
垢版 |
2015/02/22(日) 20:19:01.46ID:???
>>233に追記しておくと
違和感っていうのは、この例だとhover使わずに
mouseenterとmouseleaveに分けたほうが良さそうに見えるから

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

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

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

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



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

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


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

$(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行でできるはずなんだよな。
0240Name_Not_Found
垢版 |
2015/02/23(月) 04:58:36.22ID:???
必要もないのにjQueryを乱用するのはやめい
0241Name_Not_Found
垢版 |
2015/02/23(月) 08:06:26.74ID:???
>>239
ここはjQueryスレじゃない。

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

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

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


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

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

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

やり方を押し付けるな?お前は全力でjQuery押し付けてるわけだが?
カス野郎
0248Name_Not_Found
垢版 |
2015/02/23(月) 16:36:30.66ID:???
テンプレ見りゃわかると思うけどここは隔離スレみたいなもんだから
0249Name_Not_Found
垢版 |
2015/02/23(月) 16:59:36.94ID:???
ライブラリの話はいいが、宣伝や説教は禁止な
0250Name_Not_Found
垢版 |
2015/02/23(月) 17:06:04.77ID:???
ここは自由なスレだから
何も禁止じゃない
あえて言うなら禁止とか言うの禁止
0251Name_Not_Found
垢版 |
2015/02/23(月) 17:12:42.72ID:???
禁止とか言うの禁止とか言うの禁止とか言うの禁止とか言うの禁止
0253Name_Not_Found
垢版 |
2015/02/23(月) 18:53:44.03ID:???
嫌とかじゃなくて質問スレなんだから当然質問以外はご法度だし。
ライブラリの作法なんかの話題はスレチになる。
0254Name_Not_Found
垢版 |
2015/02/23(月) 18:58:58.87ID:???
>>253
ちょっとまてw
回答もだめなのか?www
0255Name_Not_Found
垢版 |
2015/02/23(月) 19:38:25.44ID:???
初期データに関してはajaxで読むのではなく
サーバで最初から埋め込んだ方がいいと本に書いてあったのですが
何故ですか?
処理がややこしくなるのでajaxで読んだ方がいいように思います
0256Name_Not_Found
垢版 |
2015/02/23(月) 19:54:57.51ID:???
通信が1回分減るからじゃ?というか理由書いてなかったの?
0257Name_Not_Found
垢版 |
2015/02/23(月) 20:16:22.12ID:???
もうhttp2の時代になっていくしバッドノウハウだよ。
0258Name_Not_Found
垢版 |
2015/02/23(月) 20:56:39.06ID:???
scrollBy()で相対スクロールさせるところまで作れたんですが、
スクロールをスムーズにするにはどうしたらいいでしょうか?
ご教示お願い致します
0259Name_Not_Found
垢版 |
2015/02/23(月) 20:58:52.57ID:???
>>255
> 処理がややこしくなるのでajaxで読んだ方がいいように思います

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

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

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

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

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

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

HTTP2は将来的には問題を解決することができるかもしれんが
今すぐできる技術じゃないんで、現実的ではない。
0265Name_Not_Found
垢版 |
2015/02/23(月) 21:46:21.55ID:???
ところで、Web作成にプロトコルの知識って必要なの?
サーバとブラウザでいい具合に調整してくれるんじゃないの?
0266Name_Not_Found
垢版 |
2015/02/23(月) 21:50:35.58ID:???
>>265
その知識がないと、サーバーを選ぶことが出来ない。
0267Name_Not_Found
垢版 |
2015/02/23(月) 21:57:42.82ID:???
カス野郎 と言いがかりをつけてライブラリ禁止を悪く見せようとする工作員さんお疲れ様です
0269Name_Not_Found
垢版 |
2015/02/23(月) 22:06:38.16ID:???
ちなみにライブラリ許容の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
0270Name_Not_Found
垢版 |
2015/02/23(月) 22:09:23.34ID:???
>>261
その時代はいつかは来るだろう。
必要度が減少していっているものを新たに使わない、学ばないというのは原則。
0271Name_Not_Found
垢版 |
2015/02/23(月) 23:10:33.90ID:???
>>278
誰も学ばないなんて言ってないんだが?
0272Name_Not_Found
垢版 |
2015/02/23(月) 23:17:25.01ID:???
seoを考えると、初期データ埋め込みどころか結果のhtmlをサーバで生成出来た方がいい
はい論破
0273Name_Not_Found
垢版 |
2015/02/24(火) 00:07:07.74ID:???
江戸時代かっ
今はajaxの結果もきちんと拾ってくれるっつうのに
0274Name_Not_Found
垢版 |
2015/02/24(火) 00:08:36.61ID:???
スレタイを鵜呑みにするなら、
jQueryもここで答えていいと思うんですけど
こっちの人が丁寧に答えてくれるよって誘導するのもありかもね
0275Name_Not_Found
垢版 |
2015/02/24(火) 00:16:22.95ID:???
jQueryスレがあるのになぜ
0276Name_Not_Found
垢版 |
2015/02/24(火) 00:43:12.26ID:???
>>273
え、まじで?
たしかにサーバサイドJSがもはや一般的だから
そんなことも出来そうだけど
そんな時代になってたか
0277Name_Not_Found
垢版 |
2015/02/24(火) 00:50:43.94ID:???
サーバサイドJSとクローラのJS解釈に何の関係があるのか……
今のクローラっていうのはどちらかと言うとサーバでのスクレイピングというより自動化ブラウザに近い存在だぞ。
0278Name_Not_Found
垢版 |
2015/02/24(火) 00:56:16.38ID:???
いや直接関係なくても無関係ではないだろ
0279Name_Not_Found
垢版 |
2015/02/24(火) 01:33:11.91ID:???
>>260
ありがとうございます
scrollTopメソッドをanimeteする方法はわかりましたが、これをscrollByに転用するのがうまくできなかったので諦めす
0282Name_Not_Found
垢版 |
2015/02/24(火) 11:32:30.97ID:???
>>274
そもそも、ライブラリはどこまで行っても簡単にする為のライブラリ。
それが1種類っていうならともかく、現在は山ほど出ているわけで、
jQueryで回答されるのは、迷惑なのだよ。jQueryわかってない奴に
とっては、余計なライブラリを読み込ませた上に、そこだけそんな
コードを押し付けられてるわけで。

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

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

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

と書いているようにしか見えないんだわ。
0288Name_Not_Found
垢版 |
2015/02/24(火) 12:22:22.81ID:???
> querySelectorAllでいいところにというが、
> IE8では使えないわけで、
???
0290Name_Not_Found
垢版 |
2015/02/24(火) 12:36:03.34ID:???
> querySelectorAllでいいところにというが

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

$('.class').on('click', function() { });
0292Name_Not_Found
垢版 |
2015/02/24(火) 13:50:42.91ID:???
ライブラリ拒絶してる人は、ライブラリを使わない回答をすればいい
そして質問者がどのコードが最もいいか判断すればいい
0293Name_Not_Found
垢版 |
2015/02/24(火) 16:26:57.81ID:???
>>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.

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

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みたいに入れないとだめってことでしょうか?
0295Name_Not_Found
垢版 |
2015/02/24(火) 22:04:44.40ID:???
>>294
えとさ、1マイクロ秒速くして
意味があると思ってる?

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

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

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

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

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

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

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

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

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

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

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

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

var Hoge = function(){};

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

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

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

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

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

ただし、Hogeオブジェクトをクラスにように使うことを想定している場合、
つまりnewを使って生成する場合、Hogeクラス(のようにみなして)
Hogeクラスのインスタンスを生成するという言い方をする。
0321Name_Not_Found
垢版 |
2015/02/25(水) 19:26:57.12ID:???
クラスが無いというと語弊がある。
実体と抽象という関係のオブジェクトとクラスではないということだろう。
もしくは上から下の継承ではなく、下から上の譲渡という考え。
0322Name_Not_Found
垢版 |
2015/02/25(水) 19:28:54.65ID:???
JSではコンストラクタによって作られるオブジェクトをインスタンスって呼ぶんだよ
0323Name_Not_Found
垢版 |
2015/02/25(水) 19:36:29.23ID:???
インスタンスと呼ぶのはそのオブジェクトがnewで作られたものだけ
0324Name_Not_Found
垢版 |
2015/02/25(水) 19:51:01.86ID:???
関数はFunctionクラスのインスタンスではないということ?
0325Name_Not_Found
垢版 |
2015/02/25(水) 20:58:43.57ID:???
関数は通常Functionのインスタンスだけど、絶対そうであるとは限らないよ。
[[Call]]を持ってるオブジェクトなだけだから。
0326Name_Not_Found
垢版 |
2015/02/25(水) 21:09:48.85ID:???
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オブジェクトと呼ぶの?
0327Name_Not_Found
垢版 |
2015/02/25(水) 21:12:39.89ID:???
なかなかトリッキーなの思いついたなw
0328Name_Not_Found
垢版 |
2015/02/25(水) 22:17:15.45ID:???
普通に考えたら hoge instanceof Hoge が true になるかどうか、じゃないか?
言い換えれば、hoge のプロトタイプチェーンに Hoge.prototype が含まれているなら、hoge は Hoge のインスタンス。

なので>>326の hoge は Hoge のインスタンスとは言えないだろう。
仕様書でも instance という単語はそういう意味で使われている
0329Name_Not_Found
垢版 |
2015/02/25(水) 22:33:41.88ID:???
それはES5までのどうしようもない仕様だろ
ES6からは@@hasInstanceを使って何をインスタンスとするか自由に決められる。
「オブジェクト instanceof 関数」である必要もない
「プリミティブ instanceof オブジェクト」も許容されるよう改善された。
0330328
垢版 |
2015/02/25(水) 22:39:29.47ID:???
うお、マジだった。恥ずかしい
>>328はなかったことにしてくれ
0331Name_Not_Found
垢版 |
2015/02/25(水) 22:42:24.10ID:???
'str' instanceof String // false
なのもどうかと思ってたが
null instanceof Null // true
とか
x instanceof StringOrNumber
みたいなのもできるようになるな
0333Name_Not_Found
垢版 |
2015/02/26(木) 00:02:34.51ID:???
もはやただの関数呼び出しだな
0334Name_Not_Found
垢版 |
2015/02/26(木) 00:21:18.25ID:???
"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
0335Name_Not_Found
垢版 |
2015/02/27(金) 04:57:48.66ID:???
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が上手く機能しませんでした。
0336335
垢版 |
2015/02/27(金) 06:11:55.91ID:???
自己解決しました
ソースマップではなくdevtoolでevalを指定したらbreakpointが上手く機能しました
0337335
垢版 |
2015/02/27(金) 08:21:24.69ID:???
経過報告です
その後ファイルを増やすとbreakpointを設定しているのに止まってくれない箇所が発生しました
ただ、あとは自力で解決してみようと思います、ありがとうございました
0338Name_Not_Found
垢版 |
2015/02/27(金) 13:22:46.59ID:???
自動ログアウト処理のようなことを実装したいのですが、
同じドメインでのページ移動では何もしないのですが、
別ドメインへのページの移動、もしくはブラウザを閉じた時にイベントを発生させたいです。
unload系のイベントだと思いますが、そのような都合のいいことは出来ますか?
0339Name_Not_Found
垢版 |
2015/02/27(金) 13:47:12.23ID:???
その仕組だとブラウザが不意に落ちた時などには対応しきれないだろう。
最も良い方法はServiceWorkerとセッションを結んでおき、切れたらログアウトさせること。
0340Name_Not_Found
垢版 |
2015/02/27(金) 14:39:54.84ID:???
>>339
ありがとうございます。
ServiceWorkerは触ったことないので早速見てみます。
0341Name_Not_Found
垢版 |
2015/02/27(金) 15:07:37.03ID:???
keypressでフォーム入力中にEnterを押したらフォームをクリアしたいのですが
this.value="";だとリセットされたあとに1回Enterが押されて改行された状態になってしまいます

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

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

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

最終的に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を使う事に落ち着きました。
0346Name_Not_Found
垢版 |
2015/02/27(金) 16:13:40.20ID:???
innerHTMLで削除した場合子要素や子要素に設定されているイベントリスナもちゃんと削除してくれるんでしょうか?
0347Name_Not_Found
垢版 |
2015/02/27(金) 22:06:52.52ID:???
Blinkでは弱参照で実装されているのでしかるべき時に消えますが、しかるべきでない時でも消える仕様バグが有ります。
0348Name_Not_Found
垢版 |
2015/02/28(土) 14:14:37.45ID:???
>>346
前に似た質問したときは消さない親要素にリスナ付けてtarget判定入れろろって言われたな
0349Name_Not_Found
垢版 |
2015/02/28(土) 15:38:17.33ID:???
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に囲まれてるとは限りません。
よろしくお願いします。
0350Name_Not_Found
垢版 |
2015/02/28(土) 16:16:27.34ID:???
section>img, section div:not(#except) img
とか?
0351Name_Not_Found
垢版 |
2015/02/28(土) 16:27:02.42ID:???
"abc".lastIndexOf("abc", 0);

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

じゃだめなのかね

"abc".split("").reverse().join("")
0353Name_Not_Found
垢版 |
2015/02/28(土) 19:59:39.77ID:???
>>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')
0354469
垢版 |
2015/03/01(日) 06:34:23.46ID:V6oJr0+J
なーにわけわからないことやってるんだ。
document.querySelectorAll('section:not(#except) img')
だろ。
0356Name_Not_Found
垢版 |
2015/03/01(日) 11:00:42.28ID:???
>>349
そのセレクタ指定は実は正しい。
取得できないのは:not()の中に子孫セレクタを使う方法にブラウザが対応していないから。
https://developer.mozilla.org/ja/docs/Web/CSS/:not
一方jQueryは:not()の中に子孫セレクタを使う方法に対応しているので、>>349のセレクタをそのまま書くだけでオッケー。

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

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

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

将来的にはWeb Componentsでコンポーネントを作り
そのコンポーネント同士を結びつける(コンポーネント内部じゃなくてね)のに
DOM APIを使う。そのよりベターなAPIとして簡単に記述できるjQueryを
使うって方向に戻るんじゃないか?って思ってる。
0373Name_Not_Found
垢版 |
2015/03/01(日) 22:38:40.43ID:???
>>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のミニマムサブセットがいいんじゃないの?
ちょっと取り入れたいだけなら別もそれも要らなくて、自前で関数数個書けばいいだけと思うけど。
0374Name_Not_Found
垢版 |
2015/03/01(日) 22:49:37.48ID:???
> 自前で関数数個書けばいいだけと思うけど。

あれこれ、自前で関数作っていくと、
jQueryでいいんじゃね?ってことになるんだよ。
0375Name_Not_Found
垢版 |
2015/03/01(日) 22:58:59.39ID:???
>>374
もちろんあんたがそうであることまで否定したりはしないよ。
でも今はちょっとだけ何かがほしい時大きなライブラリは不便っていう一般的な話をしているんだよ。
0376Name_Not_Found
垢版 |
2015/03/01(日) 23:16:17.15ID:???
>>375
だから大きなフレームワークの導入じゃなくて、jQueryのような小さな
ライブラリを使おうって話をしているんだが。
0377Name_Not_Found
垢版 |
2015/03/01(日) 23:34:19.74ID:???
jQuery厨はそれがあるのが当たり前と思ってるからまともに話しても無駄
だから隔離スレができたというのに
0378Name_Not_Found
垢版 |
2015/03/01(日) 23:36:34.67ID:???
圧縮して100KBあるライブラリが小さいとよ
ふざけるのもいいかげんにしろ
0379Name_Not_Found
垢版 |
2015/03/02(月) 00:03:13.54ID:???
>>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が使えるから、速くてサーバーの負担にもならない。
0380Name_Not_Found
垢版 |
2015/03/02(月) 00:07:27.97ID:???
ライブラリを使って、最初の一回ですませるか、
本質的なコードの量を削減して転送量を減らすか。

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

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

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

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

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

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

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

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

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

をバーチャルドムでできるの?
0395Name_Not_Found
垢版 |
2015/03/02(月) 04:02:13.23ID:???
個人的には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風にした方が良いかも
0396Name_Not_Found
垢版 |
2015/03/02(月) 04:14:50.61ID:???
Reactって130KBもあるのか。(´・ω・`)

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

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

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

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

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

こんな程度らしい。

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

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

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

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

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

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

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

例えばWikipediaのようなサイトにVirtualDOMは
似合わないかな。そもそもそこまでJavaScript必要じゃないし。
たいていの情報系サイトはそうじゃないかな?
0414Name_Not_Found
垢版 |
2015/03/02(月) 18:08:20.60ID:???
今時のクローラはJS実行後の画面を取得できるって
このスレで見たよ
0415Name_Not_Found
垢版 |
2015/03/02(月) 18:15:09.06ID:???
クローラーってのはGoogleだけじゃないかなねぇ
0418Name_Not_Found
垢版 |
2015/03/03(火) 02:13:23.90ID: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
0419Name_Not_Found
垢版 |
2015/03/03(火) 03:13:36.34ID:???
>>418

ワロタw

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

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

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

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

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

開始ボタン

直近の10分までsetTimeout

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

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

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

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

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

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

論理性の美しさって言うか問題解決の簡潔さや無駄の無さ
0447Name_Not_Found
垢版 |
2015/03/09(月) 08:55:35.74ID:???
その点JSはそーゆーの考えなくていいようにできてるよね
メモリ管理とか圧縮とか
0448Name_Not_Found
垢版 |
2015/03/09(月) 09:29:41.92ID:???
客観的に批評してもらいながら10年書けば誰でも一人前に良質なコードを書けるようになる。新聞記者や作家と育て方は同じ。
数学なんか要らない、特にこういったC系言語には。
0449Name_Not_Found
垢版 |
2015/03/09(月) 12:13:18.24ID:???
プログラミングに必要なのは数学でもなくプログラミングセンスだよ
数学は必要な人と必要ない人がいるから一概に必要とも言えない

プログラミングセンスはハカー的な考えに似ている相当マニアックなもの
0450Name_Not_Found
垢版 |
2015/03/09(月) 12:19:28.17ID:???
変数xの0と1を入れ替える程度ならx ^= 1;を使うというような?
0451Name_Not_Found
垢版 |
2015/03/09(月) 13:13:51.25ID:???
>>450
いや違うかな
プログラミングセンスは兎に角目的のものを瞬時に実装できる力に似ているな
気付いたら実装しちゃってるみたいな
だから手段を選ばないからソースが糞ソースになってたりする

そういう人は企業の歯車として働くには向いてないだろうね
だいたい嫌われる
0452Name_Not_Found
垢版 |
2015/03/09(月) 13:54:16.07ID:???
webの仕事は塗り絵だからね
プログラマーじゃなくてSEと呼ばれる所以
0453Name_Not_Found
垢版 |
2015/03/09(月) 15:59:44.13ID:???
あれ、仕事が減ったPCの業務系ソフトやさらに上級なゲームソフト出身の人が
Web方面に攻め入って来てからずいぶん経ったような気がするけど
まだそんなレベルのものでも通用させられるんだw
0454Name_Not_Found
垢版 |
2015/03/09(月) 23:28:11.89ID:???
>>450
バカは自分のスレに帰ってやってね(笑)
0455Name_Not_Found
垢版 |
2015/03/09(月) 23:32:37.16ID:???
>>451
> だから手段を選ばないからソースが糞ソースになってたりする

じゃあだめじゃんw
いきあたりばったりにコード書いてるからそうなるんだよ。

優れた人っていうのは頭の中で動くコードはできあがってるんだよ。
検証のための捨てるコードを書くことはあるけど。

頭の中で動くコードが出来上がった状態で
それをどのように表現すればシンプルになるかを考えながら書く。

お前がやってるのは、頭の中で書いた動くコードをそのまま書いているだけ。
もしくは書きながら動くコードに仕上げてるかのどちらかだ
0456Name_Not_Found
垢版 |
2015/03/10(火) 00:02:44.89ID:???
>>455
重要なのはそこじゃないし、自分の事を言ってるわけじゃないぞ…
とにかく難しいと思ってるような事でも実装が速いって事だ
まぁ常に糞コードだったらいつか破綻するってのはあるかもね

逆に変にこだわってるのか知らんが、実装遅いやつはずっと遅いままで速くなる事はないな
そういう奴の割合が多いとデスマーチ化しやすいと思われる(完全に主観だが)
0457Name_Not_Found
垢版 |
2015/03/10(火) 00:05:28.03ID:???
書き方には学習も現れると思うよ。

MVCフレームワークも知ってるかどうかで沿った書き方を出来るか変わってくるし、
鯖との通信はJSONで行い、蔵との密結合を緩和するって方向になってる

ロジック部分も、今は関数型言語を学ぶのがトレンドだけど、
結局のところはコードの再利用性を上げてシンプルに、
冗長性を排除して書くって事を目的にしてるわけだし、
その一つがC#のLINQの様々な言語への移植だったりする。

何が言いたいかというと、毎回arrayを作り直すmapやfilterはクソ
0458Name_Not_Found
垢版 |
2015/03/10(火) 00:05:35.91ID:???
>>456
だからクソコードの時点でダメだって言ってんだよ。
クソコードになる時点でセンスが無いってこと
0459Name_Not_Found
垢版 |
2015/03/10(火) 00:15:13.44ID:???
>>456
たぶん、あんたの基準が低すぎるんじゃないだろうか?

まずほぼ素人の人。コードを書けないから
クソコードを増やすこともないw

で、次は頑張って動くコードを書ける人。だけど書くコードはクソコード。
俺にとってはこれはまだ一人前に到達してないレベルなんだが、
書けない人よりかは、速いだろうね。
おそらく、あんたはこれぐらいの人しか知らない。

間をいくつか飛ばして。

そして一人前のプログラマは動くコードをかけるのは当たり前の話で
それを正しい設計でパフォーマンスやメンテナンス性まで考えてコードを書く。
このレベルになるとコードを書くことよりも書かないで同じことが実現できないか?って考える。

自分で実装する力にこだわっているような感じをするから、
動くコードを書くのが精一杯の人しか知らないんだろうね。
0460Name_Not_Found
垢版 |
2015/03/10(火) 00:17:09.28ID:???
>>457
> 何が言いたいかというと、毎回arrayを作り直すmapやfilterはクソ

なんで?

実行速度が遅くなるからっていうだけの
どうでもいい理由ですか?
0461Name_Not_Found
垢版 |
2015/03/10(火) 00:25:20.85ID:???
>>460
コンパイラに任せるはずの最適化を手動で行う方法を長々と本に書いてるような言語で何を言う
0462Name_Not_Found
垢版 |
2015/03/10(火) 00:28:54.67ID:???
「コンパイラに任せるはずの最適化を手動で行う方法」って何のこと?
0463Name_Not_Found
垢版 |
2015/03/10(火) 00:30:10.00ID:???
あと質問に答えてないよね?
0464Name_Not_Found
垢版 |
2015/03/10(火) 00:35:11.82ID:???
>>459
長過ぎるな…
> 逆に変にこだわってるのか知らんが、実装遅いやつはずっと遅いままで速くなる事はないな
↑これに近いよ、長文書く人って
0465Name_Not_Found
垢版 |
2015/03/10(火) 00:35:14.75ID:???
メソッドのオーバーヘッド解決、プロパティのキャッシュ、インクリメントの前置、
リテラルの推奨、use strictの使用(これは今までの動的型付けが悪いだけな気がする)
思いつくのはこれくらい

あと、mapやfilterの多様はGC無駄に走らせるからチューンは必要よ、モバイルだと特に
0466Name_Not_Found
垢版 |
2015/03/10(火) 00:44:03.38ID:???
>>464
えとさぁ、それだけしか言うことが出来ないなら
レスしなくていいよ。

>>465
あー、やっぱりだw

技術的に未熟だから、メリットとデメリットを
比較して考えることができてない。
視野が狭いよ。一方的な点からしか見えていない。
0467Name_Not_Found
垢版 |
2015/03/10(火) 00:45:06.64ID:???
> メソッドのオーバーヘッド解決、プロパティのキャッシュ、インクリメントの前置、
を長々と本に書いてるような言語

という話だったね?

その本の名前は?
0470Name_Not_Found
垢版 |
2015/03/11(水) 08:57:15.01ID:???
絵本朗読会はこちらですか
0472Name_Not_Found
垢版 |
2015/03/11(水) 21:02:49.90ID:???
英単語の単数形から複数形を作成するみたいな処理がありますが
特殊な変化をする単語の場合どうするんですか?
datum→dataみたいなやつです
0473Name_Not_Found
垢版 |
2015/03/11(水) 22:32:13.90ID:???
そりゃあデータを持って照合するしかあるまいよ。
0474Name_Not_Found
垢版 |
2015/03/11(水) 23:07:47.99ID:???
Railsの話で申し訳ないけど、Railsのpluralizeって複数形変換メソッドは、
特殊な単語は辞書(ActiveSupport::Inflector::Infelctions)から、
それ以外は機械的な変換って振り分けてる
0475Name_Not_Found
垢版 |
2015/03/11(水) 23:32:27.50ID:???
そういう辞書を持ってるんですね
ありがとうございます
0476Name_Not_Found
垢版 |
2015/03/12(木) 01:51:40.70ID:???
ごく少数だが、綴りが同じで意味が違っていて複数形が異なる単語もあったような
そういうのはエスパーしなければならなくなる
0478Name_Not_Found
垢版 |
2015/03/12(木) 18:04:08.35ID:???
index → indexes, indicies

indexes がデータベースインデックスの複数形
indicies が添字の複数形

のように使い分けられてる気がするが
公に認められたものかどうかはちょっと怪しいかも
0479Name_Not_Found
垢版 |
2015/03/13(金) 05:11:29.83ID:???
そんなこと言い出したら米英でもちがうじゃん。
0480Name_Not_Found
垢版 |
2015/03/13(金) 06:37:07.72ID:???
ロケール指定というものがあってだな
0481Name_Not_Found
垢版 |
2015/03/13(金) 17:52:23.61ID:???
createdOn: { type: Date, default: Date.now }

というコードがありました
defaultに関数をセットして、インスタンス生成時に呼び出すという処理です
このようなことが出来ると言うことは、
Date.nowの内部ではthisを使ってDateにアクセスしていないということなのでしょう
しかし内部でthisを使っていないということが何故分かるのでしょうか?
0482Name_Not_Found
垢版 |
2015/03/13(金) 18:46:05.67ID:???
そこらへんの仕様は262-3に書いてなかったか?
0484Name_Not_Found
垢版 |
2015/03/14(土) 00:20:20.22ID:???
thisを使わない方が普通なのですね
ありがとうございました
0485Name_Not_Found
垢版 |
2015/03/14(土) 11:31:43.17ID:h2F/X0xX
確認をしたいのですけど
var para = { "parame" : paraValue };
このように書かれている宣言で
para ってどのように使えばいいのですか?
調べ方がよくわからなくて、、、
0486Name_Not_Found
垢版 |
2015/03/14(土) 12:02:49.35ID:???
そこらへんの仕様は1-2に書いてあったな
0487Name_Not_Found
垢版 |
2015/03/15(日) 01:41:54.40ID:???
脳みそに干渉できるってすげー技術だなw
0489Name_Not_Found
垢版 |
2015/03/15(日) 19:34:43.12ID:???
new SharedWorkerっての最近知ったんだけどコレ凄くない?
2chのスレ複数ブラウザで開いててもこれあれば専ブラみたいな事全部出来ちゃいそうなんだけど
0490Name_Not_Found
垢版 |
2015/03/15(日) 20:01:39.70ID:???
負荷を下げられるって点ではいいけど、
できることは今までと変わらんよ。
0491Name_Not_Found
垢版 |
2015/03/15(日) 20:29:55.22ID:???
>>490
でもドメイン違っても一つのjsで管理できるって凄くない?
共有してる全ページ閉じたらクリアされるけど、それまで変数とか残ってるから
タブで開きまくってもshareworkerで統括してコントロール出来るってマジすげぇ
拡張機能でもないのに
0492Name_Not_Found
垢版 |
2015/03/15(日) 20:50:07.12ID:???
>>491
これの話?

http://javascript-api.sophia-it.com/reference/%E5%85%B1%E6%9C%89%E3%83%AF%E3%83%BC%E3%82%AB%E3%83%BC%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E3%82%84%E3%82%8A%E5%8F%96%E3%82%8A%E3%81%99%E3%82%8B%E3%82%92%E3%81%AB%E3%81%AF%EF%BC%9F
指定するファイルはセキュリティ上、urlの生成元(オリジン)が起動側と同じものに限定されます。
オリジンとは、スキーム(urlの「http://」の部分)、ドメイン(urlの「www.example.com」の部分)、
ポート(urlの「:8080」の部分)を合わせたもののことです。
0493Name_Not_Found
垢版 |
2015/03/16(月) 07:43:54.66ID:???
>>491
オリジンは超えられない
それとあえて挙げるならServiceWorkerの方でしょ
こっちはSharedWorkerの機能に加え、管理しているURL化のアクセスを全て横取りして任意のデータに差し替えられる
これでオフライン時のキャッシュ周りだとか、いろんなことが可能になる
更にページが全て閉じられても残って、プッシュ通知もできるような方向で策定が進められている
0494Name_Not_Found
垢版 |
2015/03/16(月) 09:21:16.40ID:???
へーhtml5ってこんな事もできるのか
canvasとaudioだけじゃないんだな
0495Name_Not_Found
垢版 |
2015/03/16(月) 10:29:56.77ID:???
HTML5の意味広すぎぃ!?
0496Name_Not_Found
垢版 |
2015/03/16(月) 12:10:46.02ID:???
オレなんかHTML5で昨日カレー食ったぜ
0497Name_Not_Found
垢版 |
2015/03/16(月) 14:41:50.53ID:???
html5はマジ色々と多すぎて
底なし沼のようにも思える
0498Name_Not_Found
垢版 |
2015/03/16(月) 17:59:47.80ID:???
ジェネレータとイテレータもなかなか面白い
0499Name_Not_Found
垢版 |
2015/03/16(月) 18:03:33.61ID:???
真面目な話WhatWGの方のLivingStandardの方のHTMLはなんて呼べばいいんだろうな。
「HTML」じゃあわかりにくいし、Web3.0にするか?
0500Name_Not_Found
垢版 |
2015/03/16(月) 22:02:16.38ID:???
「真面目な話WhatWGの方のLivingStandardの方のHTML」って呼べばいいのではないか?
0502Name_Not_Found
垢版 |
2015/03/16(月) 23:29:16.95ID:???
HTMLSがいいんじゃない?5に似てるし
0503Name_Not_Found
垢版 |
2015/03/17(火) 01:13:33.58ID:???
html5って未だに追加してる途中なの?
0504Name_Not_Found
垢版 |
2015/03/17(火) 16:40:49.25ID:???
そもそもHTML4.1の後、XHTMLではなくやっぱりHTMLを発展させていこうとやりだしたのはW3CではなくWhatWGなのよ。
そしてWhatWGはHTMLをLSにした。つまり永遠に完成しない状態なわけ。
HTML5ってのは単にそこからW3Cが適当に切り出してバージョン付けしただけ。
HTML5は「バージョン付けした」ということのみが意味があって中身の仕様はベンダーが見ることもないし価値はない。
0505Name_Not_Found
垢版 |
2015/03/17(火) 21:31:10.61ID:???
ブラウザによって全部の仕様が実装されている保証がないから
結局ブラウザのバージョンを見て処理を切り替えるコードは捨てられない・・・
0506Name_Not_Found
垢版 |
2015/03/17(火) 21:32:20.13ID:???
儲かるのは、解説本を売る出版社ばかり。
0507Name_Not_Found
垢版 |
2015/03/17(火) 21:33:43.37ID:???
バージョンで分岐するのはかなり前のやり方じゃないか?
いまはAPIの存在で分岐するのが主流だと思うが
0509Name_Not_Found
垢版 |
2015/03/18(水) 10:51:42.48ID:???
「HTML5」ってのは結局『HTML5』のサブセットなんだよね
0510Name_Not_Found
垢版 |
2015/03/18(水) 11:22:51.49ID:???
IEのCSS3やhtml5への対応の遅さはなんなの?
なんであそこだけ異常に遅いの
0511Name_Not_Found
垢版 |
2015/03/18(水) 13:05:05.14ID:???
そんなに遅くはないよ。
ただ常時機能がアップデートされないからリリースから年月が立つごとに遅れていくだけ。
Win10ではIEとは別にSpartanが搭載されるみたいだから、IEの方が企業向けの役割を担って、
Spartanの方はモダンブラウザになってくれることを期待してる。
0512Name_Not_Found
垢版 |
2015/03/19(木) 01:55:51.65ID:???
最近Safariの対応が遅くなってきているのが気になるな。
0513Name_Not_Found
垢版 |
2015/03/19(木) 06:22:03.65ID:???
いあんひくそん君みたいな凡人がエラそうに上に立ってボンクラ仕様を作っても俺ならてきとうにあしらって絶対に実装せんわwww
0514Name_Not_Found
垢版 |
2015/03/19(木) 06:23:06.30ID:???
tweetdeckの検索ボタンにマウスを載せるとツールチップが出るようになりましたが
このツールチップがテキストフォームに重なって邪魔です
アホなのでしょうか?
0515Name_Not_Found
垢版 |
2015/03/19(木) 08:24:41.55ID:???
いつの間にかchromeで禁則が効くようになったようです
contenteditableを使っているので変なところで改行して欲しくないんですが
前はこんな挙動じゃなかったですよね?
0516Name_Not_Found
垢版 |
2015/03/19(木) 14:35:06.84ID:???
そろそろフルCanvasで完璧な互換表示を実現するものが必要そうだな。
0517Name_Not_Found
垢版 |
2015/03/20(金) 11:15:45.53ID:???
webサーバー使わずローカルでこういうのって出来ますか?
http://www.hp-workshop.com/image/0103server.gif
ローカルPC@→http://peace.2ch.net/1ch.html
ローカルPCA→http://peace.2ch.net/2ch.html
ローカルPCB→http://peace.2ch.net/2ch.html
みたいに開いてて
webサーバー→http://peace.2ch.net/main.js
みたいな感じでmain.jsが指令出してアレやれコレやれみたいにして
main.jsはいくら開いても全部重複しないで1個開いてる時と変わらないみたいな
0518Name_Not_Found
垢版 |
2015/03/20(金) 14:29:51.64ID:???
SharedWorkerというのがうってつけ
0520517
垢版 |
2015/03/20(金) 18:00:45.54ID:???
>>518-519
すぐ上の方で話してたんですか、恥ずかしい
ありがとうございます
0521Name_Not_Found
垢版 |
2015/03/20(金) 20:38:23.18ID:???
そう言えばGoogleがCompositorWorkerを発表してたな。
これはライブラリとかDOMの扱いにだいぶ影響をあたえるだろうな。
0522Name_Not_Found
垢版 |
2015/03/21(土) 00:45:18.76ID:???
ウェブワーカーってワーカー内だと
proxyだろうがなんだろーがlローカルストレージ使えないのが嫌だ
0523Name_Not_Found
垢版 |
2015/03/21(土) 04:52:10.49ID:???
IndexedDBがあるじゃない。
0524Name_Not_Found
垢版 |
2015/03/22(日) 12:34:19.55ID:???
またまた本家に越されちゃいまちたね
0525Name_Not_Found
垢版 |
2015/03/22(日) 16:11:30.15ID:???
しかしJavascriptってのは変化が激しいね
複数の派閥がある紛争地帯で右往左往してるような感覚だよ
0527Name_Not_Found
垢版 |
2015/03/22(日) 18:32:32.97ID:???
こちらでの自演は終了の模様
0528Name_Not_Found
垢版 |
2015/03/22(日) 20:04:50.00ID:???
荒らしはしつこいから
最終的には荒らしスレの方が伸びるんだな
0529Name_Not_Found
垢版 |
2015/03/23(月) 06:56:40.52ID:???
テキトーに同じドメインにあるhtml開いてそれを連携?させたいとき
localstorage利用して全部のhtmlでwindow.addEventListener('storage',っての使えばlocalstorageの変更をキャッチできるんで連携出来ると思ったんですけど
もっと他の方法とかあるんですかね?
yahooとかgoogleから飛んできた時windowに名前つけることできないんでこれしか思いつかなかったんですが
0530Name_Not_Found
垢版 |
2015/03/23(月) 08:58:57.56ID:???
連携と言えば<frame>, <iframe>
0532Name_Not_Found
垢版 |
2015/03/23(月) 14:00:40.73ID:???
>>529
少し上で答えが出てるだろいいかげんにしろ
0533Name_Not_Found
垢版 |
2015/03/23(月) 17:48:14.85ID:LOrV//rr
>>529
new BroadcastChannel
0534Name_Not_Found
垢版 |
2015/03/23(月) 20:53:07.49ID:???
strict modeって var a = b = c = 0; みたいな書き方できなくなってるんですね
var a = 0, b = 0, c = 0; とするしかないんでしょうか?
0535Name_Not_Found
垢版 |
2015/03/23(月) 21:10:23.55ID:???
var a = b = c = 0;

var a
a = b = c = 0;
と同じだぞ
そんな書き方ありえないだろ
var a, b, c;
a = b = c = 0;

var [a, b, c] = [0, 0, 0]
としろ
0536Name_Not_Found
垢版 |
2015/03/23(月) 22:27:25.68ID:???
>>535
これはC言語の時代からの書き方なんですが?
0537Name_Not_Found
垢版 |
2015/03/23(月) 23:09:02.71ID:???
CはC、JavaScriptはJavaScriptでしょ。
0539Name_Not_Found
垢版 |
2015/03/24(火) 01:13:30.01ID:???
最近GO言語がはやってるんだってね。
0542Name_Not_Found
垢版 |
2015/03/26(木) 22:16:57.09ID:???
死に馬に鞭打っても意味ないしな。
捨てるのを怖がってたら新しい物は作れない。
0543Name_Not_Found
垢版 |
2015/03/27(金) 00:40:27.81ID:???
dartに乗っていった人への責任として
せめて何が駄目だったか言うべきだろ
0544Name_Not_Found
垢版 |
2015/03/27(金) 01:43:52.04ID:???
IE11からVBSがサポートされなくなる大事件に比べたらDartの件なんて目に見えないほどミクロなエピソードだ。
0545Name_Not_Found
垢版 |
2015/03/27(金) 02:34:16.50ID:???
vbsって
そんなの使ってる奴おらんやろw
0546Name_Not_Found
垢版 |
2015/03/27(金) 03:26:25.95ID:???
>>541
捨ててないよ
DartのSIMDAPIなんかはJSに引き継がれるし、
型付き周りの概念もSoundScriptで引き継荒れる。
ようは新しい言語としてじゃなくてJSでuse〜とすることでの新しいモードとして生まれ変わるだけ。
0547Name_Not_Found
垢版 |
2015/03/27(金) 04:14:18.34ID:???
ライブラリが標準機能に飲み込まれたみたいなものか
0548Name_Not_Found
垢版 |
2015/03/27(金) 12:45:44.35ID:???
>>546
生まれ変わるって言ってるじゃんw
死なないと生まれ変われないよ?
0549Name_Not_Found
垢版 |
2015/03/27(金) 16:55:12.75ID:sv45P92+
生まれ変わるのはDartの世界。
それとJSに大きな影響を与えた話は別。
0550Name_Not_Found
垢版 |
2015/03/28(土) 10:24:43.64ID:???
>>548
「新しい自分に生まれ変わる!」って言う人は、一度死んでるの?
0551Name_Not_Found
垢版 |
2015/03/28(土) 12:18:05.25ID:???
新しい"自分"なら自分に生まれ変わってるだろう。

JavaScriptに生まれ変わるなら、
Dartは死んだってことだろうw
0552Name_Not_Found
垢版 |
2015/03/28(土) 20:07:48.97ID:???
死ぬと捨てるは違うだろ
JSに引き継げるのなら死んでも捨ててはない
0553Name_Not_Found
垢版 |
2015/04/01(水) 23:40:41.67ID:???
ウェブワーカーについて質問です
test.html
var worker = new SharedWorker('sex.js');
var port = worker.port;
port.postMessage("送信データ");
port.onmessage =function(event){
console.log(event.data);
}

sex.js
onconnect = function(event){
var port = event.ports[0];
port.onmessage = function(event){
port.postMessage(event.data)
}
}


って書いてあるhtmlをF5で更新すると
接続できる→F5→接続できない→F5→接続できる→以下ループ
ってなります
new SharedWorker('sex.js');の接続するタイミングをページ読み込みから1000ms後ぐらいにすると発生しないんですが
何か良い解決方法ないんでしょうか?
0554Name_Not_Found
垢版 |
2015/04/02(木) 01:40:32.55ID:???
Workerから先にReadyを送ればいい
0555Name_Not_Found
垢版 |
2015/04/02(木) 10:14:12.81ID:???
>>554
new SharedWorker('sex.js');で接続してないのにworker側から先に送るなんてこと出来るんですか?
0556Name_Not_Found
垢版 |
2015/04/02(木) 14:29:18.37ID:???
質問です。
2つのセレクトボックスを用意し、片方(A)で選択した要素をもう片方(B)に移動させたいです。
もちろん、その逆(B→A)も行えるように、ボタンは2つ用意しました。

option要素の移動自体は、いろいろ調べたところ実装できたのですが、
Aのセレクトボックスにoptgroup要素を使用してグループ化しています。
■ Aのリスト
hogehoge
・hoge
・fuga
foobar
・foo
・bar

このとき、Aからhogeを選択してBに移動させたあと、
再度BからhogeをAに移動させる時、元々の場所(hogehogeのoptgroup要素内)に
移動させる方法はないでしょうか。

ブラウザはIE10以降/Firefox/Chromeで実行したいです。
よろしくお願いします。
0557Name_Not_Found
垢版 |
2015/04/02(木) 15:17:41.56ID:???
ワーカーは切断からワーカーが消えるまでに時間がかかる
更新だとhtml読み込んだ後に終了するぐらいの遅さ
対処法はワカラン
0558Name_Not_Found
垢版 |
2015/04/02(木) 18:53:10.62ID:???
ServiceWorkerにすればページにpushできるじゃん
0559Name_Not_Found
垢版 |
2015/04/02(木) 19:13:10.58ID:???
>>556
移動元要素は削除せず、不可視にしてはどうでしょう?
0560Name_Not_Found
垢版 |
2015/04/02(木) 19:22:41.57ID:???
接続できてるか確認して接続できてなかったら
var worker = new SharedWorker('sex.js');
var port = worker.port;
ってまたやればいいだけやん
0561556
垢版 |
2015/04/03(金) 12:30:12.11ID:???
>>559
返答有難うございます。
選択した要素をdisplay:none;で非表示にしたところ、
FirefoxとChromeでは正しく動作しましたが、IE11では非表示になりませんでした。
IEでも動作する方法はないのでしょうか・・・
0562Name_Not_Found
垢版 |
2015/04/03(金) 15:47:42.09ID:???
そこまで細かい動作に拘ろうとするのをやめるのが一番だぞ?
やめるんだったら簡単な方法が沢山出てくる。
0563Name_Not_Found
垢版 |
2015/04/03(金) 18:29:09.34ID:???
超質問です
var str ='PON-CON-PON-CON'
って文字列があってそれのPONとONだけに1回ずつヒットさせたいです
/PON|ON/ってやるとPONがヒットしただけで終わっちゃうし
/PON|ON/gってなると今度はPON,ON,PON,ONって2回ずつヒットしちゃいます
どうすればいいんでしょうか
0565Name_Not_Found
垢版 |
2015/04/03(金) 20:13:37.56ID:???
>>564
うっわ頭良い
それならON PONもPON ONも大丈夫ですね!
感動しました!
0566Name_Not_Found
垢版 |
2015/04/03(金) 20:16:59.22ID:???
ってそれじゃPON PONってPONが2回引っ掛かっちゃうからダメでした
説明不足でした
PONは1回まで、ONも1回までです
本当に申し訳ないです
0567Name_Not_Found
垢版 |
2015/04/03(金) 21:31:47.89ID:???
>>556
idとかdata-numberとか適当なところにA01〜、B01〜みたいな番号を振っておいて
戻すときにループで自身の番号と対象の番号を比較し適切な位置に挿入させるか
入れ替えたときにoptionsの参照を入れた配列をidなどを見てソート、その順番を反映させるかだと思う
0570Name_Not_Found
垢版 |
2015/04/03(金) 23:43:58.74ID:???
>>566
よく考えてみて。
「一回ずつヒットさせる」ということが目的ではないでしょ。
「両方1つだけ含まれているか否か」が分かればいいんでしょ?
自分で問題を難しくしちゃいけないよ。
0571Name_Not_Found
垢版 |
2015/04/04(土) 00:19:57.31ID:???
質問するときは大元の目的を書いてほしいね
質問者も回答者の配慮をすべき
0572Name_Not_Found
垢版 |
2015/04/04(土) 09:45:37.76ID:???
>>569
おかしいよ。ワザと手抜きかね?
そういう誤動作(元の位置に戻せない)をどう解決したらよいか分からないと質問しているのではないのかね?
0573Name_Not_Found
垢版 |
2015/04/04(土) 09:54:22.49ID:???
>>572
ならあんたが実装しろってw

元々の場所(hogehogeのoptgroup要素内)って書いてあるとおりだろ?

もしかして順番も維持しろって話か?
それは元のレスに書いてないし、元の質問者がレスしたら考えるよ。

お前は偉そうに言う立場にはない。
0574Name_Not_Found
垢版 |
2015/04/04(土) 14:36:48.25ID:???
順番が違うのに元の位置と言えるのかね?
0575Name_Not_Found
垢版 |
2015/04/04(土) 14:45:00.65ID:???
>>556の定義による。

> 元々の場所(hogehogeのoptgroup要素内)

って書いてあるのだから、hogehogeのoptgroup要素内であれば
それは元々の場所である。
0576Name_Not_Found
垢版 |
2015/04/04(土) 22:18:27.35ID:???
>>569
jQueryを使ってたり、option[value] が未定義なのはどうなんだ
0577Name_Not_Found
垢版 |
2015/04/04(土) 22:31:24.07ID:???
>>576
> option[value] が未定義なのはどうなんだ
問題無いですよね。HTMLの仕様読めば?
0578Name_Not_Found
垢版 |
2015/04/05(日) 00:07:38.96ID:???
>>564>>568>>570
ありがとうございます
普通に考えて最初に言われてた(PON|ON)ってのをreplace(REGEXP,function(str){
if()
})
ってやればよかっただけでした
一度冷静になって1から考え直すべきでしたすみません
0580Name_Not_Found
垢版 |
2015/04/05(日) 09:09:07.45ID:???
multiple="true" はHTML5では正しいが違和感あり。
確かにHTML5でmultiple属性の値は自由だから正しいが、
それはそもそも横暴なルール違反が多すぎて収集つかないからHTML5で正しいことにしてあげただけ。
正しいことにしてあげたHTML5でも、さすがに例示ではHTML4.01に則った書き方をしているのが笑うところ。

そもそも。
<select multiple>
このmultipleは、値だって知らないだろ。これは属性値。つまり、省略されているのは名、属性名。
属性名がmultipleの属性は、択一式(選択肢は1つだけだが)の属性値しか許容されなかった。
その属性値がmultiple。つまり、名も値も同じ。
択一式かつアルファベットだけなので、属性名も等号も引用符も省略できる条件を満たす。
name="value" → value ということ。
multiple="multiple" → multiple ということ。
(XML(XHTML)では省略できなかった。)
0581Name_Not_Found
垢版 |
2015/04/05(日) 09:15:22.31ID:???
HTML5の例示が<select multiple>なのには歴史的な理由がある。
15年前にXHTMLへの移行が進まなかった理由の一つに、属性名省略を止めるとIEがスルーしたバグがあった。
HTML5の中の人は当時二十歳前後だったが、当然それを経験していて知っている。
だから、<select multiple="multiple"> とは書けない体質になっているのかもしれないと思われる。
だから、無難な <select multiple> を例示に採用したのだろうと思われる。
0582Name_Not_Found
垢版 |
2015/04/05(日) 09:16:22.09ID:???
>>580
> multiple="true" はHTML5では正しいが違和感あり。
そこは単に間違えただけだよ。
揚げ足取るしか能がないのか?
0583Name_Not_Found
垢版 |
2015/04/05(日) 09:59:34.21ID:???
プログラミングって完璧主義者多いからな
良い事だけど
0584Name_Not_Found
垢版 |
2015/04/05(日) 10:04:19.13ID:???
>>580
> <select multiple>
> このmultipleは、値だって知らないだろ。

いや、普通に属性名だから(笑)
0585Name_Not_Found
垢版 |
2015/04/05(日) 10:08:01.98ID:???
なんか、オレオレ解釈を語ってる人がいるけど
XHTMLだけが異端で失敗しただけで、HTMLはXHTMLじゃないから。
XML Validにする意味はなかったという結論によって
元のHTMLに戻っただけ。そして正しいHTMLで書いているだけの話。
0586Name_Not_Found
垢版 |
2015/04/05(日) 10:20:24.46ID:???
>>581
> 属性名省略を止めるとIEがスルーしたバグがあった。
聞いたこと無いね。おそらく>>581の間違い。
0587Name_Not_Found
垢版 |
2015/04/05(日) 10:22:56.41ID:???
そもそも multiple="true" は HTML5 では間違いなんですが…
multiple か multiple="" か multiple="multiple" しか正しいのはない
0588Name_Not_Found
垢版 |
2015/04/05(日) 10:25:32.44ID:???
>>587
だから書き間違いだって言ったろ?
そして、揚げ足取るしか能がないのか?とも言ったろ?

もともと>>556の話だろうが?
なんでJavaScriptのスレで>>556の話と関係ない
HTMLの些細なミスを指摘してるのさ。

JavaScriptの話をしろよ。
0589Name_Not_Found
垢版 |
2015/04/05(日) 10:27:33.90ID:???
>>580に宛てたつもりだったが
そう怒るなよ
0590Name_Not_Found
垢版 |
2015/04/05(日) 10:28:52.28ID:???
>>589
了解した。

このスレにはコードを書かないで文句ばかり言う奴が多くてな。
0591Name_Not_Found
垢版 |
2015/04/05(日) 10:32:58.13ID:???
そうカッカするなよ
スルーしとけ
0592Name_Not_Found
垢版 |
2015/04/05(日) 10:35:29.98ID:???
いやぁ、レスが全然ないなぁと思ってね。
昨日からちょくちょく見て待ってんだけどw
0593556
垢版 |
2015/04/06(月) 09:24:46.78ID:???
すいません。バタバタしててスレを覗きに来れませんでした。

>>569
ありがとうございます!
ただ、>>573でご指摘あるとおり、「元々の場所(並び順も同じ)に戻したい」が理想でした。
最初の質問に記入し忘れていて申し訳ありませんでした。

>>567
ありがとうございます。
戻す際にループを行ってソートする方法も考えてはいたのですが、
実環境で使用するコンボボックスが200件近く表示される可能性もあり、
もしかしたら少し時間がかかってしまうのではないか、と思った次第です。
0595556
垢版 |
2015/04/06(月) 12:01:02.45ID:???
皆様、ありがとうございました。
頂いた回答と、optgroup内のソート処理を組み合わせることで、
意図した動作をIE/Firefox/Chromeのそれぞれで確認することが出来ました。

http://jsfiddle.net/fw1e85vy/1/

HTML規約的に妙な部分ことになっているかもしれないですが、
data-sort -> id にしても問題なさそうですかね・・・
0596Name_Not_Found
垢版 |
2015/04/06(月) 12:27:44.74ID:???
そこまでやるなら要素の外にごちゃごちゃくっつけるんじゃなくて
丸っとカスタムエレメントにすべきだよ。
0598Name_Not_Found
垢版 |
2015/04/06(月) 14:15:43.98ID:???
どこが嘘かね?
俺はHTML5がわざわざ正しいことにしてくれたから正しいと言っている。
0599Name_Not_Found
垢版 |
2015/04/06(月) 14:19:57.83ID:???
HTML5 とは >>594 みたいなバカに合わせて、酷かった現状に溜息まじりでアリバイを作ってくれたクソな仕様だよ。
0600Name_Not_Found
垢版 |
2015/04/06(月) 14:21:08.47ID:???
自分で自分をバカと言ったw
バカは >>597 だな。
0601Name_Not_Found
垢版 |
2015/04/06(月) 14:28:41.05ID:???
短く言い直してやるよ。
multiple="true" は現行HTMLで正しいことにしてくれたから正しい。
しかし、過去においてその間違いを犯していた大量のアホがいたから、ふつうは格好悪くて書けない。

(だからHTML5仕様の例示にも属性名省略で書いてある。)
(そして、そもそも、仕様を読めなかった大多数の低脳は省略が名であることを知らないから、過去において大量に間違えていた。)
0602597
垢版 |
2015/04/06(月) 14:33:55.93ID:???
>>599は別人だから責めんといてくれ

まず、multiple="true"は仕様に沿っておらず、validatorではエラーになる。
これは分かってるよな?
>>597にも書いたし、validatorでも確認できるから、先入観を持たずに確認してくれ。

次に、>>598は、仕様に沿ってなくても、自分の思い通りになれば「正しいことにしてくれる」って思ってるのか?
それなら、<select multiple="on">も<select multiple="yes">も>>598にとっては「正しい」のか?
0603Name_Not_Found
垢版 |
2015/04/06(月) 14:52:43.62ID:???
HTML4では値がmultiple一択だった。
HTML5では何でもいい。

しかし、JSのDOMでは、最初から真偽値だった。
当時のその現状を参考にしてDOM仕様がまとめられた。

HTMLの属性値で文字列としてしか取得できないのだが、見た目にtrueと書いてあると、JSを書く者には親近感が湧くのかもしれない。とにかくこの過去の仕様に照らしての間違いを過去においていたるところで見た。
なんと、HTML5で、何でも良いことにしてくれたw
HTML5での、属性名省略そのものの崩壊とtfootの位置、この2つが代表例だと思っているが、さすがにたまげたわ、馬鹿に合わせてここまで敷居を下げないと実情に合わないんだなって。笑うしかない。


ところで、お前は馬鹿だから現行HTMLでは何でもいいってどういうことか分かってないんだろ、どうせ。
multiple=""
multiple="false"
multiple="true"
multiple="multiple"
multiple
これらがぜんぶ同じ。笑うしかないわなw
お前みたいな馬鹿のせいでこうなったんだよ。
0604597
垢版 |
2015/04/06(月) 15:16:17.06ID:???
>>603はどなた?あと誰宛て?
0605Name_Not_Found
垢版 |
2015/04/06(月) 15:24:36.47ID:???
なんとなく語りたくなったんだろう
0606Name_Not_Found
垢版 |
2015/04/06(月) 15:30:48.54ID:???
603は何と戦っているのだろう?
0607Name_Not_Found
垢版 |
2015/04/06(月) 20:15:17.25ID:???
>>593
やっときたかw

> ただ、>>573でご指摘あるとおり、「元々の場所(並び順も同じ)に戻したい」が理想でした。

まあそうだろうと思って、あれからすぐに作っていたのだが
レスがあるまで待ってた。

http://jsfiddle.net/L2p6zkux/3/
0608607
垢版 |
2015/04/06(月) 20:28:48.07ID:???
>>595
補足するならば、ソート使ってないのでデータが増えても問題ないのと
HTML Validにしている。

>>596
> そこまでやるなら要素の外にごちゃごちゃくっつけるんじゃなくて
> 丸っとカスタムエレメントにすべきだよ。

>>595のコードの場合、data-sort=を減らすためだけに
カスタムエレメントにしろって話? それはやり過ぎだろう。

それ以前に俺のコードの場合は、data-sortという特殊な属性も必要なく
HTMLの標準のごく普通のselectだけを使ってるから
新たに要素を作るカスタムエレメントのする意味ないけどね。

で、一つ引っかかるんだけど、「そこまでやる」というけど、
たった14行だよ? (無理やり書けば4行ぐらいに収めることは可能)
たった14行で作れる小さな機能ためにカスタムエレメント導入するほうが、
そこまでやることじゃないって思うけど。

外部に分離する前に、まずんなの大したこと無い。簡単に短いコードで
実現できる。と思いつけるようにならないと。
0609Name_Not_Found
垢版 |
2015/04/06(月) 20:45:33.92ID:???
>>601
> (だからHTML5仕様の例示にも属性名省略で書いてある。)
multipleは値じゃなくて属性だよ。

http://www.w3.org/TR/REC-html32#select
> multiple
> The presence of this attribute signifies that the
> users can make multiple selections. By default only one selection is allowed.

HTML3やHTML4の仕様を見てみれば、昔から属性だってのはわかると思うんだが。
XHTMLだけが異端で、気の迷いでHTMLをXMLの仕様に歪めたために
multiple="multiple"などという変な表記が生まれた。

XHMTLはXMLだから厳格なんだ。故に正しいんだって思っているのかもしれないけど、
HTMLは(XHTMLを除いて)XMLではなく、例えば一部の終了タグとかも省略できるのが
正しい仕様。multipleはHTMLの仕様では昔から値無しの属性。
XHTMLの方が例外なんでもうなかったことにした方がいい。
0610Name_Not_Found
垢版 |
2015/04/06(月) 21:00:30.27ID:???
>>603
> ところで、お前は馬鹿だから現行HTMLでは何でもいいってどういうことか分かってないんだろ、どうせ。
> multiple=""
> multiple="false"
> multiple="true"
> multiple="multiple"
> multiple
> これらがぜんぶ同じ。笑うしかないわなw
> お前みたいな馬鹿のせいでこうなったんだよ。

そんなに不思議なことじゃない。というかおそらくHTML3とかの時代から
挙動は変わってない。

なぜならmultipleは属性であって、その属性があれば有効になるから
値が何であろうと、それを参照していない。

これは知らないものは無視するというHTMLの動きの原則にあっているし
昔からの挙動だと思う。
0611Name_Not_Found
垢版 |
2015/04/06(月) 21:27:19.02ID:???
>>597
別に煽ってるつもりはないし、相変わらず何も分かってないのはそっちでしょ。
>>The values "true" and "false" are not allowed on boolean attributes.
ってのはあくまでNoteであって、"true"/"false"を使ってはいけないという仕様があるのではなく、
"true"/"false"にboolean attributesとしての特別の意味はないから気をつけてね程度のもの。
実際は属性値として設定しておくことは可能でその場合はtrueとみなされる。
嘘は良くないよ。
0612597
垢版 |
2015/04/06(月) 22:13:53.36ID:???
>>611
煽ってるつもりがないなら悪かった
だが誤解しているのはそちらなので、譲りたくない気持ちは分かるがもう一度考えてくれ

> "true"/"false"を使ってはいけないという仕様があるのではなく、
断言する。ある。

NOTEのすぐ上にこう書いてある
https://html.spec.whatwg.org/multipage/infrastructure.html#boolean-attribute
> If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.
『属性が存在するなら、その値は「空の文字列」か「大文字小文字を区別せず属性名に一致する文字列」(前後に空白文字は認めない)である必要がある』
と、明記してある。
つまり、<select multiple>も<select multiple="">も<select multiple="multiple">も<select multiple="MuLtIpLe">もいい。
しかし、<select multiple="true">や<select multiple="hoge">や<select multiple="ok">はダメだ。

ちなみに「NOTE」は日本語の「ノート」という意味もあるが、「重要/注目/注記」という意味もある。
multiple="true"は君に限らず多くの人が間違えることなので、わざわざ注記してくれてるんだよ。
0613Name_Not_Found
垢版 |
2015/04/06(月) 22:28:54.23ID:???
>>612
横から失礼、それはあんたの勘違い。よく読み直そう。
0614597
垢版 |
2015/04/06(月) 22:41:25.57ID:???
教える価値のない相手なのでレスはやめる
スレ汚しすまなかった
0615Name_Not_Found
垢版 |
2015/04/06(月) 22:50:38.35ID:???
いやちょっと待て、あんた盛大に勘違いしといて「教える価値(ry」ってドンだけ….
0616Name_Not_Found
垢版 |
2015/04/06(月) 22:57:13.96ID:???
> 横から失礼、それはあんたの勘違い。よく読み直そう。

なんで勘違いって言ってるくせに
その勘違いの場所を具体的に指摘できないの?w

もうそれで勝負付いているんだけど、
気づいているかな?
0617Name_Not_Found
垢版 |
2015/04/06(月) 22:57:15.17ID:???
急に逃げててワロタww
どこが勘違いしてるか指摘してやって恥かかせてやろうぜ
0618Name_Not_Found
垢版 |
2015/04/06(月) 22:58:09.54ID:???
じゃあ今から、どの部分が勘違いか指摘していやる。
仕様書読むからちょっと待ってろ
0620Name_Not_Found
垢版 |
2015/04/06(月) 23:03:11.86ID:???
boolean attributeって書いてあるだけで、trueが許されるなんて書いてないんですがwww

あ、それが行間を読むってことなんですねw

書いてないけど、お前ん中ではそうなんだろうな理論ですねw
0622Name_Not_Found
垢版 |
2015/04/07(火) 04:25:19.86ID:???
>>620
横だけど、
"true"が許されないってどういう意味で言ってる?
getAttributeでは当然"true"が帰ってくる
値は何でもいいので属性があれば有効というのが正式な動作だよ
0624Name_Not_Found
垢版 |
2015/04/07(火) 08:49:24.85ID:???
>>622
> "true"が許されないってどういう意味で言ってる?
HTMLの正しい仕様の話に決まってるだろw

> getAttributeでは当然"true"が帰ってくる
JavaScriptは無関係ないので他所でやれw
0625556
垢版 |
2015/04/07(火) 10:16:28.32ID:???
>>607
おおお・・・シンプルかつ読みやすい方法、ありがとうございます。
これは元リスト側の選択したoptionを、別のタグ(template)に置き換えている、
という認識でしょうか。
自分の拙い頭脳では、どうやって元の場所と認識しているのか、まだピンときていませんが・・・
>>595でまとめた方法より見やすいので、こちらを採用させて頂きたいと思います。
ありがとうございました。
0626556
垢版 |
2015/04/07(火) 10:32:49.56ID:???
>>607
・・・あれ、jQuery 2.1.3を使用したら動かなくなりました(´・ω・`)
A→Bは動作しますが、B→Aが反応しないようです。
0627Name_Not_Found
垢版 |
2015/04/07(火) 21:20:22.94ID:???
>625
> これは元リスト側の選択したoptionを、別のタグ(template)に置き換えている、
> という認識でしょうか。
あってます。

>>626
> ・・・あれ、jQuery 2.1.3を使用したら動かなくなりました(´・ω・`)
あれ、ほんとだ。

edgeは正式版の最新版だと思ってたら3.0.0.preだったよ。

一応修正した。
http://jsfiddle.net/L2p6zkux/9/

ぐぐるとreplaceWithするとdataが消えるとかあるけど
仕様なのかバグなのかよくわからない。
少なくとも3.0.0 preでは挙動が変わってるようだ。
0628Name_Not_Found
垢版 |
2015/04/07(火) 21:28:36.37ID:???
やっていることは

位置を覚えておく必要があるから、optionを別のものに
置き換えてその場所をポインタにする。
置き換えるのはいいとしてなにに? template
(HTMLの使用上許されている物はこれしか無いから)

置き換えるのはreplaceWithでできるけど、
元に戻すための情報が必要だね。data()で保存。
保存する値は要素ごとに違うから、replaceWithは
関数を引数にして新しい要素を作ってdata()で保存させる。

戻すときはその情報を使って戻す。

まあこんな感じ。

考え方のコツは、要素(複数のoption)を一つ一つ
処理していくんじゃなくて、「複数のoption」という一つの塊をみて
どばっと置換。どばっと戻す。って考えることかな。

塊で処理したいけど、一つ一つの要素で微妙に違いがある場合は
このようにreplaceWithの引数に関数を指定すれば良い。

不具合のせいでreplaceWithがbefore & detachになってしまったけど。
0629Name_Not_Found
垢版 |
2015/04/07(火) 21:29:57.71ID:???
.replaceWith()は内部的に.remove()を使っている。
.remove()は仕様通りDataやイベントリスナを削除するので、.replaceWith()でもDataが消えちゃうみたいだね。
0630Name_Not_Found
垢版 |
2015/04/07(火) 21:35:45.21ID:???
あぁ、なるほど、だからdata()を使わずに
要素のプロパティに直接保存した時は問題なかったのか。

replaceWithした時に残る情報、残らない情報とがあって
統一されてないから3.0でバグとして修正されたのかな。

覚えておこう。
0631Name_Not_Found
垢版 |
2015/04/07(火) 22:05:43.46ID:???
ごめん、勘違いだったorz
ソースを見たところ、別に内部的に.remove()が使われているわけではなく、
.replaceWith()自体でDataの削除をしていた。
削除の挙動的には.remove()と同等みたいだけど。

あと、ドキュメントに該当の記述があったので参考までに。
http://api.jquery.com/replacewith/
Additional Notes:
The .replaceWith() method removes all data and event handlers associated with the removed nodes.
0632Name_Not_Found
垢版 |
2015/04/07(火) 23:07:19.17ID:???
<template>にそういう使い方があったのか
勉強になった
0633Name_Not_Found
垢版 |
2015/04/08(水) 04:43:44.44ID:???
>>624
正しいではなく上品な使い方の間違いでは?
HTMLは道具なんだからそれを意図的に使えれば正しいといえる。

HTML5はいろいろな場合における細かい挙動まで整備されたんだから、
HTML4以前のように上品に使わないと動作が保証されないということはない。
今回"true"を何が何でも使っちゃいけないという合理的な理由は見つからないし、
仕様に則っても間違いではない。

自分に無駄にルールを作って、道具に使われちゃいけないと思うよ。
それを意味もなく人に強制するのはもっとよくない。
早く誤ちを認めたらどう?
0634Name_Not_Found
垢版 |
2015/04/08(水) 08:47:48.03ID:???
>>633
"正しい" であってるよ。
HTMLには仕様書があって
その仕様書に書かれていることだから。
0635556
垢版 |
2015/04/08(水) 09:18:59.51ID:???
>>627-628
ありがとうございます!
わかりやすい解説も助かります!

それでは名無しに戻ります。
色々とありがとうございました。
0636Name_Not_Found
垢版 |
2015/04/08(水) 09:48:10.77ID:???
なんだ今度は言葉遊びが始まったのか
0637Name_Not_Found
垢版 |
2015/04/08(水) 12:00:56.95ID:???
>>634論外
仕様書が読めるようになってからまた来てね
0638Name_Not_Found
垢版 |
2015/04/08(水) 18:42:16.16ID:???
jQueryってまとめてできるんだ すげー
0639Name_Not_Found
垢版 |
2015/04/08(水) 21:06:28.73ID:???
>>638
それがjQueryのもっとも重要な所で、これをわかっているかどうかで
jQueryに対しての評価が違う。

時々document.querySelectorAllがあるからjQueryは
もう要らないっていう人がいるけどこれはわかってない人。

セレクタからDOM要素を取得することはできるけど、
その取得した要素に対して簡単に操作する方法をDOMは提供していない。

$('.class').remove(); 例えばこんなの

jQueryは.classに当てはまる要素全てを塊として、.remove()メソッドを実行できるが
DOMでやるならば、ループして一個づつ処理しないといけない。

DOM標準にjQueryのような仕様が入る気配はないし、
jQueryに変わるライブラリなら出来る可能性があるが、
.remove()、.add()、.attr()、.data()、.on()、・・・
必要なのを全部書いていたら、それjQueryでよくね?ってなっちゃう。

VirtualDOMを使うライブラリのように、jQueryどころか、
document.querySelectorAllを含むDOM操作がまったく必要ない
ライブラリを使うならば話は別だが、DOM APIを使うよりもjQueryの方が
良いという事実は今後も揺らぐことはないだろう。
0640Name_Not_Found
垢版 |
2015/04/08(水) 21:34:52.49ID:???
自分はループして一個ずつ処理するのでいいと思うけどな。
document.queryAll('.class').forEach(el => el.remove());程度の記述量で済むわけだし、
逆にただそれを省くために色々な不要な処理も入った半ばブラックボックス化してるライブラリを勉強して使った方がいいとは思えない。
jQueryの良いところはDefferdとかAnimationとかAjaxとかひと通り必要なものが揃ってたことであって、
それらが潰れた今となっては、もう必ずしも必要な存在ではないというか、使わない方が良い存在になってきているのは事実。
>>639が言ってるのは結局はまだほんの少し使える部分もあるよってことでしかない。
DOM操作だけのサブセットを使うというんならまだアリだと思う。けしてベストではないけど。
0641Name_Not_Found
垢版 |
2015/04/08(水) 21:35:59.64ID:???
> document.queryAll('.class').forEach(el => el.remove());程度の記述量で済むわけだし、

動かないだろw

わかってない証拠、
0642Name_Not_Found
垢版 |
2015/04/08(水) 21:38:47.91ID:???
DOM操作だけのサブセット = jQueryの中から必要な物を厳選 = jQueryの機能の殆ど = ならQueryでいいじゃんw

jQueryはよく絞り込まれてるよ。どのメッソドもほしいもの。
0643Name_Not_Found
垢版 |
2015/04/08(水) 21:42:13.10ID:???
>>641
どこがどう分かってないのか説明よろ。
>>642
それちきんとコード比でも見て言ってるの?
0644Name_Not_Found
垢版 |
2015/04/08(水) 21:42:32.89ID:???
document.queryAll('.class').forEach(el => el.remove());
を正しく書くなら
Array.prototype.forEach.call(document.querySelectorAll('.class'), el => el.parentNode.removeChild(el));
だな

議論に参加しようと思ったら突っ込まれるところを作ってはいけない
0645Name_Not_Found
垢版 |
2015/04/08(水) 21:43:26.62ID:???
>>643
> どこがどう分かってないのか説明よろ。

せめて動くコードを書けって言ってる。

想像の中で動くであろうコードを書いて、ほら短いといっても、
それはお前の頭んなかの想像の話だろwってことだ。
0646Name_Not_Found
垢版 |
2015/04/08(水) 21:47:11.05ID:???
> el => el.parentNode.removeChild(el)
この書き方は現状Firefoxでしか動かないから、これが現実的なところだろうね。

Array.prototype.forEach.call(document.querySelectorAll('.class'), function(el) { el.parentNode.removeChild(el) });

この後、メソッドチェーンしたいんだけど?と言われたら(笑)
0647Name_Not_Found
垢版 |
2015/04/08(水) 21:47:21.33ID:???
>>644
話の流れ的に紛らわしかったかもしれないけど、よく見て。
NodeListを返すquerySelectorAllじゃなくて、Elementsを返すqueryAllを使った。
ElementsはArrayを継承してるからforEachが直に使えるでしょ?
0648Name_Not_Found
垢版 |
2015/04/08(水) 21:48:51.19ID:???
>>646
メソッドチェーンしたければmapを使えばいいよ。
0649Name_Not_Found
垢版 |
2015/04/08(水) 21:49:12.95ID:???
>>647
え? remove()は?

もしかして、お前の想像の世界ではあるって
ことになっんの?

想像の世界の技術で反論(笑)

そんな感じで、さまざまなメソッドを
オレオレライブラリで作るんだろう?w

だったらjQueryでいいじゃんってなるって
最初から言ってる。
0650Name_Not_Found
垢版 |
2015/04/08(水) 21:50:30.15ID:???
>>648
だから動くコードを書けって言ってる。

結局書くと、ばれるのが怖いんだよ。

だから、擬似コード書いて
勝った気になってる。
0651Name_Not_Found
垢版 |
2015/04/08(水) 21:51:52.66ID:???
$('.class').remove();

Array.prototype.forEach.call(document.querySelectorAll('.class'), el => el.parentNode.removeChild(el));

可読性が大きく違いすぎるw
0653644
垢版 |
2015/04/08(水) 21:55:58.15ID:???
>>647
適当なこと言ってすまなかった
DOMのLS見てきたけど、今までとかなり変わってて驚いた
勉強し直してくる
0654Name_Not_Found
垢版 |
2015/04/08(水) 21:57:02.90ID:???
>>652
> オブジェクトは 'remove' プロパティまたはメソッドをサポートしていません。

説明してくれるかい?
0655Name_Not_Found
垢版 |
2015/04/08(水) 21:59:12.88ID:???
各ブラウザ間の互換性を取るための
ライブラリが必要だな!



jQuery(ボソッ)
0656Name_Not_Found
垢版 |
2015/04/08(水) 22:00:04.50ID:???
>>650
queryAllはまだどのブラウザにも実装されていないけど、モダンブラウザかIE11以降でエミュ可能。
removeはChromeとFirefoxで入ってるのを確認した。
ES6の構文は必要ならトランスパイラを使えばいい。
自分が問題視しているのは、学習コストとそれが古いものになることでの無駄。
もう標準が用意されるってわかった時点で、その機能はポリフィルに切り替えて行くべきだと思ってる。
0657Name_Not_Found
垢版 |
2015/04/08(水) 22:01:52.87ID:???
いや、だからjQueryでいいでしょ?

結局お前が示したコードよりも、
さらにjQueryの方が短くて、
どのブラウザでも動くんだし。
0658Name_Not_Found
垢版 |
2015/04/08(水) 22:06:06.68ID:???
どんなに頑張っても可読性はjQuery > DOMだからねぇ。
DOMの進化が10年遅すぎた。

その10年の間にjQueryは誰もが持ってる必須の知識となってしまったし、
DOMを使った結果、jQueryより劣ることしかできないんじゃ
なんのためにDOM使うのか理由がない。

せめてこれぐらいは、DOMでも25文字ぐらいでできてもらわないとね。
$('.class').remove();
0659Name_Not_Found
垢版 |
2015/04/08(水) 22:08:49.78ID:???
>>655
それは当然大事。
ただ、jQueryが生まれた当初と比べて、互換性がまだまだ取れないという点は未だ残っているが、
そもそも標準機能が不足してるという点は改善されてきてる。
各機能の有り様について標準が提供されているときは、それに従うべきだと思う。
そうするとライブラリというよりポリフィル的なものになる。
そういう意味ではjQueryはとりあえず使っとけと言うものでは無くなった。
特にjQueryは標準にかなり影響を与えていて、標準がjQueryを改善した、
似てるけれど少し違うものを用意しているという問題もある。
つまりjQueryのAPIは腐ってきてるということ。
ただしDOMAPIもそれほど豊富なわけではないのでまだまだDOM操作のフレームワークやライブラリは必要。
とはいえ比較的基礎的なAPIを提供するjQueryをわざわざ使う価値と、合うケースは減ってきてると思う。
0660Name_Not_Found
垢版 |
2015/04/08(水) 22:12:23.57ID:???
$ → $ = document.queryAll.bind(document)
on → ES7を先取りしてObserableに切り替える
でいいんじゃない
0661Name_Not_Found
垢版 |
2015/04/08(水) 22:18:05.80ID:???
Observableな感じを思い浮かべるとメソッドチェーン指向ってのは正しい気がする
そういうスタイルで書くならやっぱり同期メソッドもチェーンで書きたいよね
でもObservableとjQueryを組み合わせるのは難しそう
ここを標準に期待するのは無理だから、おそらくまたどこかのいいライブラリがデファクトスタンダードになって
それを標準が追いかけるようになるんだろうね
いつまでたってもライブラリからは逃れられずに時代は繰り返される
0662Name_Not_Found
垢版 |
2015/04/08(水) 22:20:24.65ID:???
あーでもExtensible Webに則るとそういう世界であってるか
0663Name_Not_Found
垢版 |
2015/04/08(水) 22:33:57.57ID:???
もしElementsにElementのメソッドつけようと思ったらこんな感じになる?
Elements.prototype.__proto__ = new Proxy(Array.prototype, {
 get(aryProto, key, elems) { return (key in aryProto) ? aryProto[key] : (...args) => elems.map(el => el[key](...args)) }
});
0665Name_Not_Found
垢版 |
2015/04/08(水) 23:41:12.44ID:???
>>663を試そうと思ったけど、なぜか手元のFF37だと上手くいかない…。
原因を調べるとどうやらprototypeとproxyを組み合わせると上手く動かない。
var o = Object.create(new Proxy({ hoge: 1 }, {
 get(){ return 2; }
}));
console.log(o.hoge); // 2
console.log(o.fuga); // なぜかundefined???
これはバグ?
0666Name_Not_Found
垢版 |
2015/04/09(木) 00:23:10.37ID:???
バグだよ、もう1年くらい前から放置されたまま
0668Name_Not_Found
垢版 |
2015/04/09(木) 08:20:21.95ID:???
バグだったのか
サンクス
0669Name_Not_Found
垢版 |
2015/04/09(木) 20:51:58.01ID:???
>>663
標準化される前に、標準のprototypeを拡張するのはよくないよ。
あとから標準化された時に名前がかぶっていたら互換性の問題が発生する。

Prototype.jsがそれで痛い目にあってる。
http://qiita.com/jwhaco/items/b5b474883d3020f6dc5f

標準のprototypeを拡張するぐらいなら、
独自のオブジェクトでラップした方がいいと思う。
それがjQueryでやってることでも有る。
0670Name_Not_Found
垢版 |
2015/04/10(金) 04:15:21.28ID:???
良いも悪いもElementsを拡張しようと思えばそうするしか無いでしょ。
まあサブクラスを作るのが一番筋がいいと思うけどな。
0671Name_Not_Found
垢版 |
2015/04/11(土) 00:52:09.93ID:???
> まあサブクラスを作るのが一番筋がいいと思うけどな。
それを実現しようと思ったら、document.getElementsByNameの
戻り値をサブクラスにするってことになるんだけど、
getElementsByNameはdocumentだけにあるものじゃない。

すべての要素に、getElementsByNameがあるわけだから
Elementsを拡張するのであれば、Elementを拡張しなければならなくなる。

もちろんgetElementsByNameだけじゃないね。getElementsByTagNameとかもそう

サブクラスを作るって言えば簡単に思えるかもしれないが、
実際には標準のDOMのElementのメソッドを書き換えまくることをしないといけない。

それで安定して動くのか?って考えると難しい話なんだよ。
だから現実には標準のprototypeを書き変えることをしない。

ブラウザという実行環境がユーザーの手にあって開発者の自由にできないものは、
開発者が自由に実行環境を決めることが可能なデスクトップアプリや
サーバーサイドアプリと同じやり方でやったらだめなんだよ。
0672Name_Not_Found
垢版 |
2015/04/11(土) 02:06:19.34ID:4ue2DbjV
callで置換されたthisを一時的に変更するにはどうすればいいでしょうか
例えば、
function A(x) {
this.piyo = new B(x);
this.C = x;
};
A.prototype.do = function() {
this.piyo.do.call(this); //(1)
};
function B(x) {
this.B = x;
};
B.prototype.do = function() {
console.log(this.B); // undefined
console.log(this.C); // 10
};

var hoge = new A("10");
hoge.do();

というコードがあったとします。
この時、(1)でthisをhogeとして呼び出したのでthis.Bがundefinedになりますが、
this.Bの時だけthisをpiyoとして呼び出したいのです。
(1)をthis.piyo.do();として、console.log(this.C);をconsole.log(B.C);とすると、クラス変数ではないのでundefinedとなります。
0673Name_Not_Found
垢版 |
2015/04/11(土) 03:02:58.80ID:???
>>671
頭が硬いね。
別にそうしなくてもSub.from(hoge)としてラップすればいいんだよ。
jQueryみたいな1から作るのと違うのはElementsのメソッドを活かしながら必要な機能のみを安全に拡張できるところ。
0674Name_Not_Found
垢版 |
2015/04/11(土) 03:27:54.79ID:???
必要な機能?

onは必要だしattrやpropやdataも必要
addもremoveも、insertもbeforeもafterもreplaceWithもだし、
eachやgrepも必要だろう。
もちろんメソッドチェーンも必要だし、
逆に必要じゃない機能ってなんだ?

結局jQueryの再実装をしているだけなんだが。
0675Name_Not_Found
垢版 |
2015/04/11(土) 03:30:29.40ID:???
>>673
標準のDOM要素に標準化されてないメソッドを追加すると
あとで同じメソッドが標準のDOM要素に追加された時困るから
やるべきじゃないよ。

継承しても一緒。継承元に有る標準のメソッドを
オーバーライドしてしまうことになる。
0676Name_Not_Found
垢版 |
2015/04/11(土) 04:42:32.48ID:???
>>675
オーバーライドしてしまうのなら問題ないよ。
>>663が問題なのはオーバーライドしないことで、同名の標準ができた時に壊れることだから。
それに標準のものには追加してないでしょ。
別個体のサブクラスに明示的にラップするという操作を伴うものだから、他への影響はないよ。

誰かがしちゃいけませんって言ったことを理由も考えずに信じ続けるのは良くない。
0677Name_Not_Found
垢版 |
2015/04/11(土) 11:07:38.98ID:???
>>676
> オーバーライドしてしまうのなら問題ないよ。
おいおいw 問題を認識してないのかよ。

DOM非標準のものならば、自分しか使わないから問題ないが
DOM標準の場合は、オーバーライドしてしまったら
他のライブラリが改変された関数を使ってしまうかもしれないだろ。

だからjQueryなどはDOMとは全く別のオブジェクトで
ラッピングするという手法をとっているのだが。

話をまとめるか?

1. 標準のElementsにはattr()というメソッドはありませんでした。
2. だから標準のElementsを拡張してattr()を追加しました。
3. このattr()は当然オレオレ実装です。
4. あるときElementsに標準仕様でattr()が追加されました。
5. オレオレattr()と標準attr()で仕様が違いました。
6. 他のライブラリは標準attr()だと思ってるのにオレオレattr()が呼び出されて困りました。

こういう話なんだが。これprototype.jsで実際に起きた話な。

で、お前はサブクラスなら問題無いと言っているわけだが、
サブクラスでも問題有るんだよ。なぜならElementsを返すのは誰?って話。

例えばdocument.getElementsByTagName()だけじゃなくて
全ての要素.getElementsByTagName() やその他多くの全て。

すべての要素のgetElementsByTagName()だけでなく、
createElement('div') で作られた要素のgetElementsByTagName()も
サブクラスを返すように改変しないといけない。
そうすると、DOMのElementのprototypeを改編する話だってのはわかるな?
0678Name_Not_Found
垢版 |
2015/04/11(土) 16:10:30.03ID:???
>>677
>>サブクラスを返すように改変しないといけない
だからそうじゃないって言ってるだろ。
>>673を見たのか?
逐一Elementsをサブクラスにラップして使うやり方について言ってるの。
だからElementsを利用してる他のものに影響を与えることはない。
まず人の話をよく聞いてから批判しような。
0679Name_Not_Found
垢版 |
2015/04/11(土) 16:24:25.13ID:???
>>678
あんたたサブクラスとラップという用語を
ちゃんとわかってないって言うことがよくわかったよw

ラップするならばサブクラスにする必要はないし普通はしない。
jQueryはDOM要素郡(そこでいうElements)をラップしたもの。
0680Name_Not_Found
垢版 |
2015/04/11(土) 16:25:41.48ID:???
> jQueryはDOM要素郡(そこでいうElements)をラップしたもの。

正確に言うならば、jQueryの$()などで返すjQueryオブジェクトは
DOM要素郡(そこでいうElements)をラップしたもの。
0682Name_Not_Found
垢版 |
2015/04/11(土) 16:49:55.33ID:???
そもそもElementsを何のサブクラスにするって言ってるんだろう?
ちゃんとわかってるなら○クラスのサブクラスにするって
具体的に言えるはずだ。 ぜひ○の中身を答えて欲しい。

先回りしていっておくと、世の中には○クラスを引数にする
関数が存在するが、○クラスを互換性がない形に改変すると
その関数の引数に入れられなくなる。(本当にサブクラスなら入れられる)
だが改変しないとメソッドチェーンが使えなくなる。
0683Name_Not_Found
垢版 |
2015/04/12(日) 01:02:35.47ID:???
>>679
分かってないのはあんた。
Elementsに元々あるメソッドを使うためにもそうするのが一番自然、
言い訳見苦しいよ。負けを認めなさい。
0684Name_Not_Found
垢版 |
2015/04/12(日) 01:39:27.58ID:???
>>683
> Elementsに元々あるメソッドを使うためにもそうするのが一番自然、
Elementsに元々あるメソッドって何のことだよw
なんのサブクラスにしたいわけ?
答えられてないよね?

> 言い訳見苦しいよ。負けを認めなさい。
ワロタw
勝ったつもりでいるんだw
0685Name_Not_Found
垢版 |
2015/04/12(日) 02:03:53.43ID:???
元々のメソッドを使う方が絶対にいいはずだって
固定観念を持っているんだろうね。

jQueryのeachではなく、
Elements.forEach(Array.forEach)を使ったほうが
いいはずだって思ってるのだろうけど、
forEachではメソッドチェーンが出来無くなってしまうわけで

元々のメソッドを使うとjQueryからすると劣化してしまう。
劣化しないように作るとなると元々のメソッドはほぼ全て使えなくなってしまう。

ここまで考えずに、元々のメソッドを使う方が絶対にいいはずだって
固定観念を持っているんだろうね。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0686Name_Not_Found
垢版 |
2015/04/12(日) 02:15:33.98ID:???
forEachでなくmapを使えばいいんじゃね?
0687Name_Not_Found
垢版 |
2015/04/12(日) 02:30:38.96ID:???
>>684
queryAllとかあるでしょ。
それらを一々再実装するの?
元からあるのを使った方がいいに決まってる。

>>685
mapを使えばmapはthisのコンストラクタを見て、
きちんとサブクラスのインスタンスに結果を追加していってくれる。
他のArrayのメソッドでも同じ。
そういう意味でもサブクラスにするのは正しい。
0688Name_Not_Found
垢版 |
2015/04/12(日) 03:04:21.11ID:???
>>687
> それらを一々再実装するの?
君はライブラリを使うってことを覚えようよw
jQueryが実現しているから使うだけ。

それにqueryAllが返すElementsの話だろ?
Elementsをサブクラスにしろっていう話なんだから。
queryAllがあるのはElementであってElementsじゃない。

mapがあるのはArrayであってElementにはない。
Elementsにも無い。(queryAllが返す要素の配列は、本当の配列じゃないから)

それらを一々サブクラスに再実装するの?w
0689Name_Not_Found
垢版 |
2015/04/12(日) 03:48:03.50ID:???
>>688
ライブラリを使えばいいというのはそのとおりだよ。ライブラリはダメとか言ってないだろう。
そういう話ではなく、どういう手法がいいかということで、
jQueryのように丸っと世界を構築するよりも、>>663のようにするよりも、サブクラスを用意するのが一番折り合いがとれてるという話をしてるんだ。
なにを勘違いして一人で苛立ってるんだ?

そしてElements.prototype.__proto__ == Array.prototypeだし、
queryAllが返すのだって列記としたArray exotic objectだから。
ES6からはビルトインコンストラクタはnewTargetを見て適切なプロトタイプを持ったインスタンスを作ってくれるでしょ?
継承するというのはそういうことだよ。

もうホントにね、人の話は聞かない、仕様も読まない知らない、考える力もない、反省もしない。
君と話してると呆れて疲れるね。
0690Name_Not_Found
垢版 |
2015/04/12(日) 08:57:02.29ID:???
>>689
焦点がずれてるな。サブクラスにする危険性をわかってない。

まずElementsがArrayだとしてjQueryに比べれば大幅にメソッドが足りない。
onとかattrとかきりがないから全部言わないよ?

そこでElementsのサブクラスを作ってメソッド追加しろって言いたいんだろ?
それが危険だという話。

ElementsのサブクラスはArrayでは無くなってしまうから。

なぜなら、
Elementsのサブクラスにhogeというメソッドを作った。
将来のArrayが拡張してhogeというメソッドを作った。
ElementsのサブクラスのhogeとArrayのhogeは別物
つまり、ElementsのサブクラスのはArrayではなくなる。

型あり言語なら型とシグネチャで正しくディスパッチしてくれるが
JavaScriptのような言語では無理

そして問題はまだある。

Elementsのサブクラスを作ったからといって、
queryAllがElementsのサブクラスを返してくれるわけじゃない。

DOMのあらゆるAPIがElementsの代わりに、
Elementsのサブクラスを返すようにモンキーパッチしまくらないといけない。
何かを忘れていると、よくわからないエラーが発生することになる。

危険性があるうえに、既存のメソッドを間違いなく修正するという大変な作業が必要。
サブクラスの仕様を考えただけで全てがうまくいくって考えてるようだが経験と想像力が足りないよ。
0691Name_Not_Found
垢版 |
2015/04/12(日) 09:00:27.79ID:???
あと、想像の世界の話をしてないで
実際の動くコード書きなさい。
jsfiddleって知ってるかい?
0692Name_Not_Found
垢版 |
2015/04/12(日) 09:57:34.37ID:???
またjQuery厨が暴れて生温かい視線を浴びてるのか。
0693Name_Not_Found
垢版 |
2015/04/12(日) 16:01:40.91ID:???
>>690
論点がずれてるのはあんた。
オーバーライドは問題にならないという話はもう上でしただろ。
想像力がないのか?
もし万が一新しいメソッドがArrayやElementsに追加され、
それがサブクラスと被ったら、ライブラリをバージョンアップすればいいだけ。
サブクラスは元クラスのプロトタイプ拡張と違って、明示的に使ってない周りへ影響を与えないし、
環境が新しくなっても、古いバージョンのライブラリに依存してる古いコードが壊れることもない。

それと、queryAllがサブクラスを返したりすることはやらないと言ってるでしょ。
一度ラップしてやれば、例えばmapなんかはArrayではなくきちんとサブクラスのインスタンスを返してくれるように
ES6では設計されているので、何度もラップしたりすることなくチェーンできる。
0694Name_Not_Found
垢版 |
2015/04/12(日) 17:47:51.65ID:???
細かくconsole.log()したいから無意味にチェーンしないさせない。

似て非なる物だが最近は右辺をカンマで長々しく区切るコードを少なからず目にする。
他人にはテストし難くてやや理解困難だから引き継ぐ時には丸ごと捨てられてやり直されるのだろうな。
0695Name_Not_Found
垢版 |
2015/04/12(日) 18:19:46.91ID:???
>>661が言ってるようにチェーンという選択肢は間違いではないと思う
但し非同期も同期もあらゆる処理をチェーンで書くメソッドが不足してる
JSの表現力からしたら可能だけど、世界が追いついてない
Observableとそれと共に現れるであろうフレームワークにはかなり期待してる
0696Name_Not_Found
垢版 |
2015/04/12(日) 18:38:49.87ID:???
>>693
> オーバーライドは問題にならないという話はもう上でしただろ。

それに対するレスを>>690で書いただろ

ホントお前人の話し聞かないなw
0697Name_Not_Found
垢版 |
2015/04/12(日) 18:47:22.12ID:???
将来のES6ではできるようになるんだ!と
言った所で今は使えないわけで、
将来は!将来は!って繰り返し言ってもなぁ
あと10年後にまたおいで。
0698Name_Not_Found
垢版 |
2015/04/12(日) 18:54:16.53ID:???
>>694
> 細かくconsole.log()したいから無意味にチェーンしないさせない。

もしかしてチェーンしたらconsole.logできないと思ってる?

そのための有名なメソッドがtapなんだけど。

残念ながらjQueryでは標準対応してないから、
たった4行だけ書かないといけないけど

$.fn.tap = function (callback) {
callback.apply(this);
return this;
};

これであっという間に、console.logができる。
function log() {
console.log(this);
}
$('#id').children().tap(log).children()
0699Name_Not_Found
垢版 |
2015/04/12(日) 19:01:29.15ID:???
>>697
ElementsがElementのメソットを使えるようにするにはどうするのがいいかの話をしているんだろ。
ElementsはES6前提だし、今更何言ってるの?
もう知らないのなら無理に話に入ってこなくていいから。
勉強して出なおしてね。
0700Name_Not_Found
垢版 |
2015/04/12(日) 19:05:22.99ID:???
ElementsがElementのメソットを使えるようにするにはどうするのがいいか?

全部再実装するんだろ?

で、あとからその実装したメソッドと同じ名前で
新たに標準追加されて大混乱w

既に過去に起きた事件だ
0701Name_Not_Found
垢版 |
2015/04/12(日) 20:10:36.78ID:???
Elementsに追加するわけじゃないなら混乱は起こらないでしょ。
そのElementsのサブクラスを使ってる部分だけで閉じてるんだから。
新規で使う上で気になるのならライブラリを更新すればいいだけだし、
古い物に依存してる場合も問題は起きない。
0702Name_Not_Found
垢版 |
2015/04/12(日) 20:34:47.08ID:???
え? 自分が言ったこと忘れたのか?
全てのDOM APIが、Elementsの代わりに
Elementsのサブクラスを返すようにするって
言ったばかりじゃんかw
0703Name_Not_Found
垢版 |
2015/04/13(月) 05:53:20.16ID:???
誰がそんなこと言ってるんだろう?
>>678が見えないのかな?
0704Name_Not_Found
垢版 |
2015/04/13(月) 08:01:00.91ID:???
まあ実際問題サブクラス経由のqueryAllがきちんとサブクラスのインスタンスを返してくれるようになるかは分からないけどな
Arrayとかネイティブの奴はES6できちんと継承が考慮がされた設計にされたけど
DOMの継承を利用した奴はこれから実装される段階だしおそらくissueになると思う

まあ例えElementsのままでもサブクラス側では機能を実装する必要はなくて
queryAll{return new SubClass(super.queryAll())}みたいなのでいいだろうし
全てのメソッドをオーバーライドするのが面倒臭ければそれこそProxyをプロトタイプに挟めばいいか
なんにせよこれは重大な問題提起だと思うね
0705Name_Not_Found
垢版 |
2015/04/13(月) 16:25:50.83ID:???
jQueryの質問です。
jQueryオブジェクトをコンソールで見ると配列形式で表示されますが、これはどのようにしているのでしょうか?

http://i.imgur.com/lX94ne4.png
> $("body")
> [ <body></body>]   ←これのことです

配列という訳でもないみたいですし…なにか条件があるのでしょうか?
0707Name_Not_Found
垢版 |
2015/04/13(月) 16:42:46.69ID:???
>>706
すみません説明不足でした。
配列というのはArrayのインスタンスという意味です。
Array.isArray($("body")) が false であることから分かるように、Arrayのインスタンスではありません。
Arrayのインスタンスでもないのに、なぜ配列形式で表示されるのか?という疑問です。

そしてその方法を使って、自分で定義したArrayのインスタンスでないオブジェクトにも同様のことをしたいと思っています。
0708Name_Not_Found
垢版 |
2015/04/13(月) 18:38:58.89ID:???
>>707
「配列のようなオブジェクト」で検索してみたら、こんな感じだった

{
"0": "0番目の内容",
"1": "1番目の内容",
"length": 2
}
0709Name_Not_Found
垢版 |
2015/04/13(月) 18:46:30.39ID:???
Arrayのインスタンス出ない≒配列でない
0711Name_Not_Found
垢版 |
2015/04/13(月) 22:22:38.14ID:???
>>704
結局それ、jQueryの実装そのものじゃないかw
0712Name_Not_Found
垢版 |
2015/04/13(月) 22:29:10.64ID:???
>>710
結論はそれかもしれないけど、各ブラウザのデバッグ機能は
jQueryに対して特別な対応をしていたはず。

NightlyのFirefoxではDOM要素にどんなjQueryイベントが紐付いているか見ることができる!
http://blog.mah-lab.com/2014/08/30/nightly-firefox-dev-tool/

http://www.buildinsider.net/web/chromedevtools/01
> ConsoleパネルからはDOM操作でページを直接編集できる。documentオブジェクトなどの
> 基本的なJavaScript機能を操作できるだけでなく、jQuery構文も利用できるようになっている。
0713Name_Not_Found
垢版 |
2015/04/13(月) 22:59:01.55ID:???
>>712
ありがとうございます!
ブラウザ自体がjQueryに対して特別な配慮をしてるんですね。
spliceの件もその配慮の一環なんですかね。

ただGoogleChromeの方は、ただ単にページにjQueryが使われているから使えるだけなのでは…?
0714Name_Not_Found
垢版 |
2015/04/13(月) 23:03:43.50ID:???
>>713
about:blankでも表示される。

そしてページにjQueryが使われているのであれば
$.fn.jqueryでjQueryのバージョンが表示されるが
それがない。
0715Name_Not_Found
垢版 |
2015/04/13(月) 23:04:47.09ID:???
jQueryじゃなくて、$が使えるだけかも^^
0716Name_Not_Found
垢版 |
2015/04/13(月) 23:08:55.31ID:???
>>714
あれ、そうなんですか?
すくなくとも手元のGC41のabout:blankではjQuery方式の書き方はできませんでした。
なにかフラグとか必要なのでしょうか?

$("body") === document.body; // true
$("body").text("hoge"); // Uncaught TypeError: string is not a function
0717Name_Not_Found
垢版 |
2015/04/14(火) 04:23:04.72ID:???
こいつさっきから何を言ってるんだ???
ただコンソールにおいて$がdocument.querySelectorAll相当になってるだけじゃん
それ以上でも以下でもない
0719Name_Not_Found
垢版 |
2015/04/14(火) 13:28:42.59ID:???
>>718
やはりそうですよね。
記憶違いかと焦りました。
ありがとうございます!
0720Name_Not_Found
垢版 |
2015/04/14(火) 19:57:30.56ID:???
だからすぐに訂正してあるじゃん?

715 自分:Name_Not_Found[sage] 投稿日:2015/04/13(月) 23:04:47.09 ID:???
jQueryじゃなくて、$が使えるだけかも^^
0721Name_Not_Found
垢版 |
2015/04/14(火) 20:44:54.91ID:???
ここは回答者が認められるスレではない
質問者を助けるスレだ
思い上がらないように
0722Name_Not_Found
垢版 |
2015/04/15(水) 07:12:43.88ID:???
>>720
かも、とか可能性レベルの話で回答する前にちゃんと確認しろよ
Aかもしれないし、Bかもしれないなんて回答にならん
0723Name_Not_Found
垢版 |
2015/04/15(水) 12:25:11.32ID:???
もうそういうのいいから
このスレには質問と回答しかいらない
0724Name_Not_Found
垢版 |
2015/04/15(水) 17:40:16.74ID:???
いや宗教論争は必要。
ツーチャンネルの技術板の価値は宗教論争だけ。
他の場所で宗教論争なんて本質に突っ込む議論を始めたら単なるキチガイだから。
0725Name_Not_Found
垢版 |
2015/04/16(木) 08:17:41.20ID:???
>>723
回答になってないから指摘されてるんだろ
0727Name_Not_Found
垢版 |
2015/04/16(木) 19:51:03.98ID:???
指摘される事が嫌ならキータに日報だか月報だかにしか見えない剽窃猿真似技術ブログでも書いて裸の王様やっとけよ雑魚が。
0729Name_Not_Found
垢版 |
2015/04/17(金) 08:18:39.86ID:???
参考にならない回答はいりません
0730Name_Not_Found
垢版 |
2015/04/17(金) 08:19:12.63ID:???
参考にならない回答はいりません
0731Name_Not_Found
垢版 |
2015/04/17(金) 18:01:54.71ID:???
回答でない参考はいりません
0732Name_Not_Found
垢版 |
2015/04/17(金) 21:44:13.15ID:???
日本語のおかしい意見はいりません
0733Name_Not_Found
垢版 |
2015/04/17(金) 22:01:51.21ID:???
池のおかしい日本はイリン
0735Name_Not_Found
垢版 |
2015/04/29(水) 23:00:49.36ID:???
var small_option=0;
if(document.chbox3 && document.chbox3.elements[0]){
small_option = document.chbox3.elements[0].checked ? 1 : 0;
}
って書いてますが、この場合、存在チェックって、
document.chbox3 && document.chbox3.elements[0]でよろしいでしょうか?
何かいい手がありますでしょうか?
0736Name_Not_Found
垢版 |
2015/04/30(木) 06:53:06.96ID:???
>>735
document.chbox3 &amp;&amp; document.chbox3.elements &amp;&amp; document.chbox3.elements[0]
0737Name_Not_Found
垢版 |
2015/04/30(木) 20:29:34.61ID:???
>>735
jQuery使っていいのなら

var small_option = $('[name="chbox3"]').prop('checked') ? 1 : 0;
(「? 1 : 0 」はいらん気もするが)

要素がなければundefinedになってくれる。
0個以上の要素として扱うと、こういう風にシンプルに書くことが出来る。
0738735
垢版 |
2015/04/30(木) 20:58:08.64ID:???
>>736-737
ありがとうございます。
small_optionはajaxで、php側に投げるデータで、php側でpostで受け取り、
1か0でないなら「small_optionが不正」ってエラーメッセージを出す仕様なので、
undefinedだとまずいです。
0739Name_Not_Found
垢版 |
2015/04/30(木) 22:07:02.76ID:???
じゃあ仕方ないね。? 1 : 0は必要ということで。
0740Name_Not_Found
垢版 |
2015/04/30(木) 22:08:38.99ID:???
と思ったけど、これでいいのか

var small_option = $('[name="chbox3"]').prop('checked') || 0;

もしくはこれ。(checkboxのvalueの1が設定されている前提)
var small_option = $('[name="chbox3"]').val() || 0;
0741Name_Not_Found
垢版 |
2015/04/30(木) 22:09:42.22ID:???
話がそれた。

存在チェックの話だったね。

jQueryを使えば存在チェックそのものが不要になる。ということで。
0742Name_Not_Found
垢版 |
2015/05/01(金) 04:47:49.35ID:???
jQueryみたいなライブラリ勧める上で決してお手軽ではないことは注意として挙げるべき
一部分だけjQueryのセレクタ使ってるようなコードに違和感がないならいいが
0743Name_Not_Found
垢版 |
2015/05/01(金) 19:34:06.86ID:???
ていうか、戻り値の型が場合によって違うのに平気とか、もうね、jQuery厨のショボさハンパないな。
0744Name_Not_Found
垢版 |
2015/05/01(金) 19:45:25.87ID:???
> 戻り値の型が場合によって違うの

え? どこが???
0745Name_Not_Found
垢版 |
2015/05/01(金) 20:32:28.14ID:???
prop('checked')はcheckしてないならundefを返す仕様のようですが、
jQueryって存在しないchbox3に対して
$('[name="chbox3"]').〜ってやっていいのでしょうか?
0746Name_Not_Found
垢版 |
2015/05/01(金) 21:22:55.45ID:???
>>745
問題ないように作られている。

NULLオブジェクトパターンとでも言えばいいかな?
コレクションだから少し違う気もするが、要素がなくても(NULLでも)
何も効果がないだけでコードは動くように作れる。

jQueryを使ったプログラミングでは「要素があるか?」という
条件文をなくすことが出来る。(これはNULLオブジェクトパターンの特徴でもある)

> $('[name="chbox3"]')
これだと分かりにくいかもしれないからちょっと変えて、
$(':checkbox ').prop('checked', true) を実行すると
すべてのチェックボックスのチェックをONにする。
言い換えると、0個以上のチェックボックスをONにする。
0個以上なので、0個の場合でもOK

反対にこれは、$(':checkbox ').prop('checked')見つかったようその内
最初の要素のcheckedを取得する。見つからなければundefined。
そのように作られている。
0748Name_Not_Found
垢版 |
2015/05/02(土) 20:12:29.31ID:???
jqueryって仕様が変わるたびに、jquery使用箇所を書き直す必要があるので
基本的にJavascriptで書いてますが、皆さんjQuery等って使ってますか?
0749Name_Not_Found
垢版 |
2015/05/02(土) 20:43:34.13ID:???
jQueryを使うこともある
使うときは基本的にバージョン固定にするよ
0750Name_Not_Found
垢版 |
2015/05/02(土) 20:53:36.58ID:???
>>748
jQueryの欠陥を指摘させて、吐く毒に紛れて見え隠れする次世代のアイデアをパクろうとしてないか?w
ソース読んでみたら?マズイ所ばかりでウンザリさせられるよ。
0751Name_Not_Found
垢版 |
2015/05/02(土) 21:58:56.77ID:???
>>740
> jqueryって仕様が変わるたびに

JavaScriptだって仕様が変わるたびに、見直し必要だろうw

もちろん滅多に仕様は変わらないが。あ、jQueryの話しね。
0752Name_Not_Found
垢版 |
2015/05/02(土) 22:03:28.36ID:???
>>748
> 皆さんjQuery等って使ってますか?

それに関してなら、どれくらい使われているかのデータが有る

http://w3techs.com/
JavaScript Libraries

Most popular JavaScript libraries

1. JQuery 63.8% +0.7% 95.1% +0.1%
2. Modernizr 8.1% +0.2% 12.1% +0.3%
3. Bootstrap 7.2% +0.4% 10.8% +0.5%
4. MooTools 4.1% -0.1% 6.1% -0.2%
5. Prototype 2.3% 3.5%

63.8%の人が使ってる一番使われているライブラリだそうだ。
0753Name_Not_Found
垢版 |
2015/05/02(土) 22:06:47.22ID:???
やっぱり皆使ってるんですね。ありがとうございました。
0754Name_Not_Found
垢版 |
2015/05/03(日) 08:26:50.02ID:???
jQueryなんか使いまくるからスマホが激熱になって、毎日のように落ちる。
閲覧者サイドで一番便利なスマホページとは、スクリプトを使っていないページ。まさに10年以上前のPCページと相似な状況。
0755Name_Not_Found
垢版 |
2015/05/03(日) 08:37:22.74ID:???
Javascript Good partsをボロボロになるまで勉強しました。
http://demon-uploader.rosepink.us/small.html?img=2015050308253711382.JPG
jQuery使わないとキツイとこはライブラリ使ってますが、
idクリックして関数実行とかはjQueryなしで実装できるので、使ってません。
Ajaxでphpにデータ送るとかは、ブラウザ毎の対策が面倒なのでjQuery使ってます。
0756Name_Not_Found
垢版 |
2015/05/03(日) 21:53:31.63ID:???
>>754
なにいってるんだ?
JavaScriptが動いてないところでは
jQuery使っていたって関係ねーよ。
0757Name_Not_Found
垢版 |
2015/05/03(日) 21:58:09.32ID:???
激熱になっただけで落ちるっていうのも意味不明だな。
まあ素人さんが嘘をついたらこうなるという実例w
0758Name_Not_Found
垢版 |
2015/05/03(日) 22:02:23.80ID:???
コンピュータにでたらめにキー入力したら
爆発するという映像表現を信じているとか?
0759Name_Not_Found
垢版 |
2015/05/04(月) 22:29:49.88ID:???
Ajaxはajax()ではなくfetch()のポリフィルを使っていこうぜ
0760Name_Not_Found
垢版 |
2015/05/11(月) 17:14:16.29ID:???
インターネットのネットワークリソースが枯渇する
みたいなニュースが最近あったので
ニュー速あたりで謎知識を聞きかじってしまったのではないかと
0761Name_Not_Found
垢版 |
2015/05/17(日) 01:42:37.09ID:???
普段はbootcampでwinを使っているのですが
winがおかしくなったのでosxで作業してます
chromeの場合は同じアプリがosxでも使えるのでありがたいですが
tweetdeckが、winと比べるとクッソ重いことに気づきました
jsの実行速度はOSによってかなり違うのでしょうか?
0762Name_Not_Found
垢版 |
2015/05/17(日) 05:50:49.96ID:???
糞アポ〜の標準アプリであるサファリを負かす事は許されないルール。だからgoogle chromeはosx用だけ嫌味のように遅い。
0763Name_Not_Found
垢版 |
2015/06/24(水) 14:32:56.89ID:???
普通に
func();
で実行するのと
function(){func();};
で実行するのと何が違うんですか?
0764Name_Not_Found
垢版 |
2015/06/24(水) 19:23:23.29ID:???
動くコードで質問してください
0766Name_Not_Found
垢版 |
2015/06/28(日) 10:28:05.45ID:???
Amazonのカートに保存する、戻すとか
リアルタイムに更新されるのはJavaScriptですか?
ああいったものを使いたいのですが難しいですか?
0767Name_Not_Found
垢版 |
2015/06/28(日) 11:50:30.98ID:???
使いたいの?
Amazonを使うだけなら、JavaScriptの知識は無用だよ。
0769Name_Not_Found
垢版 |
2015/06/28(日) 12:11:28.77ID:???
>>766
簡単だよ。

JavaScriptを普通に使えるプログラマなら簡単
0770age
垢版 |
2015/08/09(日) 22:43:04.48ID:???
age
0772Name_Not_Found
垢版 |
2015/09/03(木) 17:45:50.69ID:???
マウスホイールを使ったスクロールの向きって変更できるん?(´・ω・`)
0774Name_Not_Found
垢版 |
2015/09/14(月) 17:34:14.71ID:???
別スレより誘導されてきました
お願いします

スクロールしてもヘッダ(とcaption)は固定表示のtableを作りたいのですが、

・tableのwidthはパーセント指定
・theadのセルはwidth指定無し(可変)
・border-collapse: collapse

この条件だと、色々なチュートリアルサイトの方法やjQueryプラグイン等を試してもどうもレイアウトが崩れてしまいます

どうかアドバイスいただきたいです
お願いします!
0775Name_Not_Found
垢版 |
2015/09/14(月) 17:35:19.95ID:???
>>774について
申し訳ありません、現行スレに書き込みます
0776Name_Not_Found
垢版 |
2015/11/07(土) 17:19:55.93ID:vT73by48
(*´ω`*)
0777Name_Not_Found
垢版 |
2015/11/21(土) 21:03:23.21ID:TQXwcjzz
age
0778Name_Not_Found
垢版 |
2016/02/23(火) 18:57:33.18ID:???
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.
0781Name_Not_Found
垢版 |
2016/03/09(水) 03:51:29.17ID:XgsMBhcm
<SCRIPT Language="JavaScript">
<!--
function show_hide(id) {
disp = document.all(id).style.display;
if(disp == "block")
document.all(id).style.display = "none";
else
document.all(id).style.display = "block";
}
//-->
</SCRIPT>

クリックすると隠れていた文字列が表示されるスクリプトですが、
パカッと表示されるのではなく、スルッと表示されるようにできませんか?
0785Name_Not_Found
垢版 |
2017/07/18(火) 21:46:58.77ID:zI5VFuae
質問
よくあるhoverのmouseoutで子孫要素は無視するやーつの関連なんですが

<div>
<input type="text">
</div>

<div>には十分なpaddingがあるとして
<input>をダブルクリックとかしたときに出るブラウザUIの入力補完サジェストに
マウスを乗せると<div>でmouseoutイベントが発火するのだけれど
これを検知して除外するにはどうしたら良いでしょうか?

event.relatedTargetはnullでした
jQueryのhover()メソッドではmouseout扱いでした
0788Name_Not_Found
垢版 |
2018/05/01(火) 22:21:54.73ID:l1wYHpV1
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

D13NS
0789前半
垢版 |
2018/05/08(火) 22:59:23.73ID:Hk9pFs9a
関数構造で質問です。
【環境】IE9以上、他最新で動けば可。
【エラー】なし。
【期待する結果】結果は現状通り。コードの整理。
【サンプルコード】下記。

fanc-中1(){
 fanc-中1の処理
 fanc-下1(); fanc-下2(); fanc-下3();
}

fanc-中2(){
 fanc-中2の処理
 fanc-下1(); fanc-下2();
}

fanc-上(){
 fanc-中1(); fanc-中2();
}

で結果は正常ですが下1と2が2回呼ばれてしまいます。
下は再描画など処理後の後処理なので最後に各1回実行すればいいものです。
0790後半
垢版 |
2018/05/08(火) 23:02:03.60ID:Hk9pFs9a
fanc-上(){
 fanc-中1(); fanc-中2();
 fanc-下1(); fanc-下2(); fanc-下3();
}

としたいのですが、すると中用にもう1つづつfuncが必要になります。

fanc-中1(){
fanc-中1の処理
}

fanc-中2(){
fanc-中2の処理
}

fanc-中3(){
 fanc-中1();
 fanc-下1(); fanc-下2(); fanc-下3();
}

fanc-中4(){
 fanc-中2();
 fanc-下1(); fanc-下2();
}

これでもいいのですが、もっとスマートな書き方があれば
教えてください。
部分適用やカリー化の記事を見ましたが今ひとつ理解しきれません(そもそも関係ない?)。
よろしく願いします。
0792Name_Not_Found
垢版 |
2018/05/13(日) 12:02:16.36ID:UGay8i1c
>>791
中1未満の恥ずかしいレスだな
0793Name_Not_Found
垢版 |
2018/06/14(木) 20:16:29.39ID:Gh8UluMI
こっちのスレはなんなんだ?
0795Name_Not_Found
垢版 |
2018/10/18(木) 02:26:06.98ID:???
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
0796Name_Not_Found
垢版 |
2019/07/17(水) 08:19:50.64ID:???
JavaScriptでリアルタイムアクションゲームが作れる日は来るのだろうか?
0797Name_Not_Found
垢版 |
2020/01/28(火) 12:59:14.91ID:Es2xGDJk
ザックリすぎる
今でも2Dならそこそこ動くだろう
0798Name_Not_Found
垢版 |
2020/01/29(水) 00:41:32.98ID:???
>>797
ストリートファイター3はさすがに無理だよね?
0799Name_Not_Found
垢版 |
2020/01/29(水) 00:43:41.27ID:???
何でUnityはjavascriptを外したんだよ、バカヤロー。
あと、Unreal.jsって何なんだよ。
もっと本格的なjavascript用のゲーム開発ツールを作ってほしい。
0800Name_Not_Found
垢版 |
2020/05/03(日) 00:37:50.05ID:???
向こうが荒れてるので避難してきました
0801Name_Not_Found
垢版 |
2020/08/29(土) 04:28:53.07ID:9ArSnhkx
現在調べつつ手元で適当に色々と試していた初心者なのですが
document.write("alert" alert(1) "alert");
document.write("alert" alert(1) in"alert");
document.write("alert"(alert(1))"alert");
document.write("alert" (alert(1)) in"alert");
これで最後の物だけalert(1)が動作したのですが理由がわかりません
このin演算子はなんのためにあるのでしょうか
mozillaのリファレンスも読んだのですが論理値を返すということしか分かりませんでした
0802Name_Not_Found
垢版 |
2020/08/29(土) 13:25:29.44ID:???
1〜3番目は構文解析の時点でエラーになるので何も実行されない
4番目は"alert"(alert(1))という関数呼び出しとみなされその引数を得るためにalert(1)を実行するから
でもそのあとダイアログを閉じるとエラーになる

inの右側は文字列じゃなくてオブジェクト
その指定したオブジェクトにinの左側に指定した名前のプロパティが存在するかどうかを調べる演算子

それからdocument.writeなんて使わない。使ってるような所も手本にしちゃだめ
0803Name_Not_Found
垢版 |
2020/08/29(土) 18:22:55.22ID:???
とはいえおもしろいテストだな
0804Name_Not_Found
垢版 |
2020/08/30(日) 06:26:49.95ID:???
>>802
ありがとうございます!
"alert"()という関数と見做すんですね…関数名に文字列指定できるのは意外でした
とりあえずdocument.write()は使わないようにします
0805Name_Not_Found
垢版 |
2020/08/30(日) 20:35:45.00ID:???
質問です

JavaScript API 群のブラウザ実装状況
https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs

に記載されている数字の意味を教えてください

例えば一覧表のの一番上にあるAlarmは
Chrome あり
Edge なし
Firefox 45

とありますが、45の意味が分かりません
同じくこの表全体で数字が何を意味しているのかが分からないです。意味を教えてください。
0806Name_Not_Found
垢版 |
2020/08/30(日) 20:44:41.41ID:???
ブラウザのバージョンがその数字以降なら対応
0808Name_Not_Found
垢版 |
2020/09/10(木) 10:22:26.24ID:???
audio要素使ってautoplayしようとしたのですが
だいぶ前にブラウザのポリシーで塞がれてしまったようです
Chrome版Edgeとか一部のブラウザはまだいけるようです
ソシャゲでなってるのがあったのでソースをみたのですが
かろうじてCreateJS使ってるぐらいまではわかったのですが
そこから先は解読出来ませんでした
ChromeとFirefoxぐらいには対応したいのですがなんかハックありますか?
ググったら色々紹介されてはいるのですが
そのころよりさらにaudio事情が進んだようで今はもう使えないような感じでした
0809Name_Not_Found
垢版 |
2020/09/10(木) 13:05:02.23ID:???
>>808
再生ボタンを自動でクリックさせるようにしたらいいだけじゃなかろうか?

再生ボタン.click();

みたいな感じで
0810Name_Not_Found
垢版 |
2020/09/10(木) 14:17:40.13ID:???
Webサイトを提供する側の話で
利用する側の話ではないんじゃ?
0811Name_Not_Found
垢版 |
2020/09/10(木) 18:18:42.50ID:???
ブラウザゲーだとaudioタグじゃなくてWebAudioAPI使ってるかもね
0812Name_Not_Found
垢版 |
2020/09/11(金) 06:28:26.92ID:???
>>808
autoplayはもう自分の努力じゃ無理
統計的によく利用されてるサイトかどうかが許される基準に含まれてる
0813608
垢版 |
2020/09/11(金) 07:26:07.90ID:???
>>609-612
レスありがとうございます。
youtubeとか自動再生される時もあるのですが(基本手動)、
やっぱもう難しい感じなんですかね。
WebAudioAPIに関してですが、MDN見ると、
>自動再生のブロックは、Mozilla でもまだ開発中です。
と書いてるので、それもいずれ塞がれる方向なんですかね。
ゲームとかならサウンドONとか設定で選ばせばよさそうですが、
今回は思いもよらない音声で閲覧者を爆笑させるという趣旨だったので、
諦めようと思います。
0814Name_Not_Found
垢版 |
2020/09/11(金) 23:32:59.04ID:???
すみません、javascriptというよりDOMの質問なのですが教えて下さい。

ある要素の子に要素を追加したいとき、element.appendChild()
みたいな形ができると思いますが、大量に子要素を一気に追加したいとき、
なにかよいやり方あるのでしょうか?
element.appendChild()の引数で配列を渡せればよかったのですが、
うまくいきませんでした。
0816Name_Not_Found
垢版 |
2020/09/12(土) 06:02:59.35ID:???
>>814
$("#id").append(["<hr>", "<hr>", "<hr>", "<hr>"]);
$("#id").append([$("<hr>"), $("<hr>"), $("<hr>"), $("<hr>")]);
0818Name_Not_Found
垢版 |
2020/09/12(土) 10:26:10.92ID:???
Document.createDocumentFragment()
https://developer.mozilla.org/ja/docs/Web/API/Document/createDocumentFragment

フレームワークなどでは、DocumentFragment を使う

一旦、DOM と無関係の場所に、複雑な木を構築しておいて、
最後に、1回だけDOMにアクセスして、木を丸ごと追加する

これで、その都度、DOMアクセスしなくてもよい。
1回だけで済む
0819Name_Not_Found
垢版 |
2020/09/12(土) 10:54:59.01ID:???
>>818
ParentNode.append()も内部でDocumentFragment使ってるぞ

createDocumentFragment()して
fragmentにappendChild()する部分を代わりにやってくれる
0820Name_Not_Found
垢版 |
2020/09/12(土) 12:23:01.72ID:???
複雑でないなら
文字列で必要なhtml作っておいて
最後にポンと追加するのがバランスいい
0821Name_Not_Found
垢版 |
2020/09/15(火) 06:41:16.78ID:???
>>813
安定させたければ
PWAをインストールしてもらうしかない
0822Name_Not_Found
垢版 |
2020/09/25(金) 10:51:39.67ID:???
こんばんはー!

INPUTでpattern書いてバリデートしているときに
今入力文字列が正しいか正しくない(赤枠光ってる)かを
JavaScriptで拾うことは可能ですか?
0825Name_Not_Found
垢版 |
2020/09/25(金) 19:08:32.91ID:8PtQ+kvE
きちんと挨拶ができる良い子や( ;∀;)
0827Name_Not_Found
垢版 |
2020/09/27(日) 22:45:10.01ID:Fc5nNPVW
こんなコードあったんですがどういうこしですか?

(function test(){
 ここにいっぱい処理が書いてある
})();
0828Name_Not_Found
垢版 |
2020/09/27(日) 22:45:22.81ID:Fc5nNPVW
どういうこと
0829Name_Not_Found
垢版 |
2020/09/27(日) 22:57:44.92ID:???
>>827
関数を定義して実行してる(即時実行)
そのケースはスコープを切る目的で使ってる
0830Name_Not_Found
垢版 |
2020/09/27(日) 23:25:00.94ID:Fc5nNPVW
>>829
ありがとうございます
では

function test(){
 ここにいっぱい処理が書いてある
}
test();

と同じことですね?
なぜそんなひねくれたコードにするんですかね。
よくわからないのは混乱のもとなのに。
0831Name_Not_Found
垢版 |
2020/09/27(日) 23:25:28.75ID:Fc5nNPVW
スコープを切るとは何でしょう?
0832Name_Not_Found
垢版 |
2020/09/27(日) 23:46:20.27ID:???
>>830
そう書くとグローバルのスコープにtestという名前の関数ができて名前空間を汚染する
ライブラリの作者なんかを含めてみんながそれやっちゃうと名前が衝突するでしょ
0833Name_Not_Found
垢版 |
2020/09/27(日) 23:54:42.13ID:???
あー、moduleが一般的でない時代の名残だと思ってもらっていいよ
今はESのmodule使えば必要ない
0834Name_Not_Found
垢版 |
2020/09/28(月) 03:36:47.29ID:???
IE9で動きません直してくださいハヤク!!
0835Name_Not_Found
垢版 |
2020/09/28(月) 07:33:02.62ID:ris2Kj0n
IEで動くように修正しろ、今すぐ、いつ出来るか?すぐ返事
0836Name_Not_Found
垢版 |
2020/09/28(月) 11:47:59.18ID:???
babelとか使えばできるやろ
0837Name_Not_Found
垢版 |
2020/09/28(月) 15:21:42.70ID:???
IE9でもJSは動くようになりましたが、CSSのtransformが効きません
全部jQueryで書き直してください

ってことでサポート外ブラウザは仕事受けたら負け
0839Name_Not_Found
垢版 |
2020/09/28(月) 17:25:26.30ID:???
書き直せばええやん
そのためにIEサポート用の追加費用もらってるんやろ
0840Name_Not_Found
垢版 |
2020/09/28(月) 18:51:18.79ID:???
なお貰っておらず言われたらしぶしぶ追加対応する運ゲーやってるマヌケもいる模様
0841Name_Not_Found
垢版 |
2020/09/28(月) 19:08:12.17ID:egJtMyS+
個人相手だったら
そいつの年収の7割以上になるくらい発注しておいて
値下げに応じないなら全部引き上げますが
ってやるのよな
0842Name_Not_Found
垢版 |
2020/09/28(月) 23:23:48.29ID:???
やっぱ個人って下請け法の対象外なのか…
0843Name_Not_Found
垢版 |
2020/09/29(火) 05:42:31.38ID:???
初見 Mathjaxについて質問

これ、バージョンが2と3でstyle要素に書く文言が大きく変わったみたいなんだが、分かりやすく説明してるサイト教えて
0844Name_Not_Found
垢版 |
2020/09/29(火) 07:19:01.72ID:???
中小企業相手だと必要なくなっても打ち切れないの?
0845Name_Not_Found
垢版 |
2020/09/29(火) 20:36:06.71ID:???
>>844
人手不足だからその会社の業績が怪しくならない限り必要なくなるということが無い
0849Name_Not_Found
垢版 |
2020/09/30(水) 03:40:40.25ID:???
>>846
取りあえずレスサンクス
俺的にはデベロッパー目線の説明よりエンドユーザー目線での説明が欲しかったが。

今までVer2.7.5をCDNで使ってたんだが、今後ヘッダ部にどういう<script>要素を記入すればいいのか、
これまでにVer2.7.5で作ってきた数学の記事のソースをどうすればいいのか、分からないことだらけだわ
0851Name_Not_Found
垢版 |
2020/09/30(水) 04:02:07.62ID:???
>>847
MathJax = {
chtml: {
matchFontHeight: false
},
tex: {
inlineMath: [['$', '$']]
}
};
MathJax.Ajax.config.path["Contrib"] = "//cdn.mathjax.org/mathjax/contrib";
MathJax.Hub.Config({
TeX: { extensions: ["color.js","AMSmath.js","AMSsymbols.js","[Contrib]/xyjax/xypic.js"] },
tex2jax: { inlineMath: [['$','$'], ["\\(","\\)"]] }
});

このバージョン3用への書き換えが上手く行かない。。。。
0853Name_Not_Found
垢版 |
2020/09/30(水) 04:35:53.43ID:???
>>852
サンクス。ググってもVer3用のページってあんまりヒットしなかったのによく見つけたな
0854Name_Not_Found
垢版 |
2020/09/30(水) 04:42:39.50ID:6IfSIYk/
>>853
一体どんなぐぐり方を…
まあ頑張って
0855Name_Not_Found
垢版 |
2020/10/01(木) 04:16:35.09ID:???
>>854
>>847使った。
color.js, AMSmath.js, AMSsymbols.js,
はVer3にあるせいか、
loader: {
load: ['[tex]/color', '[tex]/ams']
}
っていう風に書き換えてくれるけど、

"[Contrib]/xyjax/xypic.js"]
の部分は正しく処理されてないな。

MathJax.Ajax.config.path["Contrib"] = "//cdn.mathjax.org/mathjax/contrib";
が関係してるんだろうけど、この部分をもちゃんと正しく処理したい
0858Name_Not_Found
垢版 |
2020/10/01(木) 06:37:57.05ID:???
教えてエロい人。
今からジャバスクリプトを始めようか悩んでます。
ジャバスクリプトをすっとばしてタイプスクリプトから始めるってのはありっすか?
0859Name_Not_Found
垢版 |
2020/10/01(木) 08:26:53.95ID:QYy4a5pt
>>858
やることはそんなに変わんないと思うけどね
TSはJSわかってる前提のような気もするが
0860Name_Not_Found
垢版 |
2020/10/01(木) 08:28:45.55ID:QYy4a5pt
途中で送信してしまった

でもまあ、大丈夫なんじゃない?
Excelとか今後、VBA捨ててTSにするらしいし
そしたら、JSなんて知らずにTS書く人がたくさんになるんだろうし
0861Name_Not_Found
垢版 |
2020/10/01(木) 10:16:03.71ID:???
>>860
そうなんですか。タイプスクリプトを勉強します。
ありがとうございます。
0862Name_Not_Found
垢版 |
2020/10/01(木) 11:38:05.18ID:GmDIVD3P
<body onload="test">
<body onload="test()">
<body onload="test();">

いつもどれか迷う。
迷いを消せるコツはありますか?
0863Name_Not_Found
垢版 |
2020/10/01(木) 11:46:16.23ID:OQcSSONw
>>862
ひとつ目と、残り二つは
全く違うよ
0864Name_Not_Found
垢版 |
2020/10/01(木) 12:05:34.79ID:GmDIVD3P
>>863
いや2番目以外は動かないんだが
0866Name_Not_Found
垢版 |
2020/10/01(木) 12:28:59.47ID:???
onload属性使わずにaddEventListenerする
0867Name_Not_Found
垢版 |
2020/10/01(木) 12:29:48.15ID:GmDIVD3P
>>863
どう違うの?
0868Name_Not_Found
垢版 |
2020/10/01(木) 14:33:10.52ID:OQcSSONw
>>867
onload属性に渡すのは関数なんだよ

1つ目は関数を渡してる
残りは関数を実行した結果の返り値を渡してる
0869Name_Not_Found
垢版 |
2020/10/02(金) 05:11:11.70ID:???
>>855っす。

xyjax.jsを使う部分だけが未だ未解決
0870Name_Not_Found
垢版 |
2020/10/04(日) 12:57:17.90ID:lPAmwpjc
すまんjsってエスケープは正規表現リテラルのときだけでいいのけ?
文字列型はしなくていいんだよな?
0871Name_Not_Found
垢版 |
2020/10/04(日) 12:58:09.66ID:lPAmwpjc
あ、スラッシュのことです
0872Name_Not_Found
垢版 |
2020/10/04(日) 14:46:13.11ID:???
そういうのはすぐブラウザで試せよ
0874Name_Not_Found
垢版 |
2020/10/05(月) 17:40:55.59ID:blOkqoWz
次の構文が作動しません。
0875Name_Not_Found
垢版 |
2020/10/05(月) 17:46:39.95ID:blOkqoWz
<!DOCTYPE html>
0876Name_Not_Found
垢版 |
2020/10/05(月) 18:07:39.68ID:blOkqoWz
<html>
0877Name_Not_Found
垢版 |
2020/10/05(月) 18:08:21.12ID:blOkqoWz
<head>
<meta charset="UTF-8" />
<title>JavaScript本格入門</title>
</head>
<body>
0878Name_Not_Found
垢版 |
2020/10/05(月) 18:09:22.17ID:blOkqoWz
<scritpt type="text/javascript">
0879Name_Not_Found
垢版 |
2020/10/05(月) 18:10:06.15ID:blOkqoWz
// window.alertは、指定された文字列をダイアログ表示するための命令です。
window.alert(’こんにちは、世界!');
0880Name_Not_Found
垢版 |
2020/10/05(月) 18:17:11.26ID:???
よく分からんが取り敢えず括弧が全角
0881Name_Not_Found
垢版 |
2020/10/05(月) 18:21:23.37ID:blOkqoWz
<>ですか。
0882Name_Not_Found
垢版 |
2020/10/05(月) 18:25:00.59ID:blOkqoWz
</script>
0883Name_Not_Found
垢版 |
2020/10/05(月) 18:25:14.67ID:???
scritpt → script
('こんにちは → ('こんにちは
0884Name_Not_Found
垢版 |
2020/10/05(月) 18:27:04.77ID:blOkqoWz
<noscript>JavaScriptが利用できません。</noscript>
</body>
</html>
0885Name_Not_Found
垢版 |
2020/10/05(月) 18:28:49.49ID:blOkqoWz
<ありがとうございました。)
0886Name_Not_Found
垢版 |
2020/10/05(月) 23:06:02.17ID:lEGDRgrm
なんでJqueryって廃れたの?使いやすいのに
0889Name_Not_Found
垢版 |
2020/10/06(火) 01:31:13.55ID:???
なんでjQueryって今年そんなに増えてるの?
0890Name_Not_Found
垢版 |
2020/10/06(火) 08:36:05.98ID:???
終わったと言っている人たちは
ウェブアプ系の開発をしている人たちなんだけど
数はそう多くないんだよ

日々アホみたいに大量に作られていく
企業、商品サイトやLPなどの
広告系ウェブページに比べたら

んで後者では相変わらずjQはフィットしてんだな
その量が最近増えてるってことだろう

みんなステイホームしてんだから
そりゃ広告も増えるよねということなんじゃないかな
0891Name_Not_Found
垢版 |
2020/10/06(火) 12:23:58.99ID:l4LmFXKj
UTFー8で保存したがsafariで開くと文字化けした。
0892Name_Not_Found
垢版 |
2020/10/06(火) 12:40:33.17ID:l4LmFXKj
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>JavaScript本格入門</title> </head> <body> <script type="text/javascript"> // window.alertは、指定された文字列で表示するための命令です。 window.alert(’こんにちは、世界!’); </script><noscript>JavaScriptが利用できません。</noscript> <body> </html>
ダイアログが開かない。
0894Name_Not_Found
垢版 |
2020/10/07(水) 13:00:20.31ID:D50L8YKE
【環境】 Win7-Pro,Chrome85.0
【何をしたのか】 文字列の最後の点「.」を削るコード
【エラーメッセージ】 無し
【期待する結果】 例えば、 -4. とあったとき、最後の点「.」が不要なのでこれを消したい

【サンプルコード】
対象の文字列を str としたとき
if( str.slice(-1) === '.' ) str.slice(0, -1);

でOKな筈ですが、console.logでは何ら変化がありません。何が問題なのでしょうか?
0895Name_Not_Found
垢版 |
2020/10/07(水) 13:53:28.99ID:???
何の問題もないぞ

let str = 'aiu.';
if( str.slice(-1) === '.' ) str = str.slice(0, -1);
console.log(str); //aiu
0896Name_Not_Found
垢版 |
2020/10/07(水) 14:37:39.88ID:???
再代入したくないならsplice使う手も。
0897Name_Not_Found
垢版 |
2020/10/07(水) 16:12:49.44ID:???
>>894
if (str.endsWith(‘.’)) で

2回スライスするのはちょっとね
0898894
垢版 |
2020/10/07(水) 16:43:50.49ID:???
>>895
原因が分かりました。
if の右側(処理式)で str = と書いておかないと、単に str.slice() だけでは上書きされない、
ということでした。
0899894
垢版 |
2020/10/07(水) 16:45:42.92ID:???
>>896-897
どうもすいません。行き違いになってしまいました。
0900Name_Not_Found
垢版 |
2020/10/07(水) 21:20:19.81ID:???
どこで質問したらいいのか分からないのでここで分かる方教えてください

もしかしたらスクリプトの設計によるのかもしれませんが
JavaScriptがブラウザの非アクティブタブではタイマーが遅くなったり通信や更新を行わなくなったりするみたいです
ブラウザ側で全てのタブでちゃんと全て機能させるようにするような設定は可能でしょうか?
0901Name_Not_Found
垢版 |
2020/10/07(水) 22:24:07.66ID:???
自分でブラウザを作ればできるのでは?
0902Name_Not_Found
垢版 |
2020/10/07(水) 22:46:28.75ID:???
>>900
非アクティブのUIスレッドでsetTimeoutやsetIntervalのタイマーが遅くなるのはブラウザの仕様
https://stackoverflow.com/questions/5927284/

やったことないけどChromeはDisableできるっぽい
chrome://flags/#intensive-wake-up-throttling
0903Name_Not_Found
垢版 |
2020/10/08(木) 17:54:26.20ID:???
レスありがとう
色々と調べてみた感じ同じことが書いてました
非アクティブタブをアクティブに見せかけてフル稼働させる機能なんか確かに自分でブラウザ作るしかないかもですね
0904Name_Not_Found
垢版 |
2020/10/09(金) 17:28:33.67ID:???
(外部ライブラリの読み込み設定が上手く行かず)mathjax 2.7.5を使ってるんだけど、
\mathop, \mathrel が機能して無いっぽいんだが、mathjaxではまだ実装できてないって事?
0905Name_Not_Found
垢版 |
2020/10/09(金) 17:43:32.05ID:???
Mathjax 2.7.5使ってます。

ヘッダ部で、
MathJax.Ajax.config.path["Contrib"] = "//cdn.mathjax.org/mathjax/contrib";
と指定しているんだが、Ver3ではここをどう変更すれば良いのかが分からない
0906Name_Not_Found
垢版 |
2020/10/09(金) 18:10:54.82ID:???
質問です

querySelectorの引数に
属性セレクタを渡すとき
属性値を囲むクォートを省略すると
Syntax errorとなるようになったのが
いつ頃からかご存知の方はいますでしょうか

JSエンジン毎に違いがあるとは思いますが
Chrome、V8でいつからかが知りたいのですが
ググってもなかなか見つからずでして

ざっくりでも良いのでよろしくお願いします
0907Name_Not_Found
垢版 |
2020/10/09(金) 18:13:59.42ID:???
>>906
エラーにならない時代を知らないな
念の為エラーになる記述例を書いてみて
0910Name_Not_Found
垢版 |
2020/10/09(金) 18:55:12.06ID:???
#はident-tokenになりえない文字なのでクォート無しで解釈で来てたのが仕様外
0911Name_Not_Found
垢版 |
2020/10/09(金) 19:20:48.15ID:???
>>909
あざます
クォートします

が、過去に書かれたJSの中からクォートなしのものがたくさん出てきて、いつ頃からかこれがエラーになってたのかを調べておりまして
0912Name_Not_Found
垢版 |
2020/10/09(金) 19:58:09.14ID:s1WSsLD3
mutation.observerのaddedNodesについてなんですが
返ってくるノードリストは追加されたノードの数によってlengthが変わるんですか?
それとも常にlengthは1で追加されたノードごとにレコードが生成されるんでしょうか?
今テストしてる環境だと常に1つしかないのでおたずねします
0913Name_Not_Found
垢版 |
2020/10/09(金) 20:21:58.78ID:s1WSsLD3
>>912
すいませんちょっと間違えました
追加されたノードがなかったときは空なので0か1なのか
それとも2以上になることがあるのかという質問です
0914Name_Not_Found
垢版 |
2020/10/09(金) 20:29:57.04ID:???
>>912
一括で追加すれば2以上になるよ
observer.observe(parent, config);
parent.append(a, b, c);
とかやってみれば分かる
0915Name_Not_Found
垢版 |
2020/10/09(金) 20:40:37.46ID:???
>>914
おお!デバッグ方法までありがとうございます
助かりました
0916Name_Not_Found
垢版 |
2020/10/09(金) 21:15:25.36ID:9smksWFw
ファイアフォックスやばすぎんか?
F12押したらjavascriptのインタプリタが起動するのマジヤバイ
最高
0917Name_Not_Found
垢版 |
2020/10/09(金) 22:06:55.82ID:???
変数の中身を足し算したいのですが、NULL判定を逐一取るのが面倒くさいです。
まとめて回避してくれる方法は無いものですか?
0918Name_Not_Found
垢版 |
2020/10/09(金) 22:14:26.22ID:???
null判定などしなくていい
nullなんて入らないだろ
0919Name_Not_Found
垢版 |
2020/10/10(土) 01:21:46.48ID:???
そういう人は、Type Script を使う
0921Name_Not_Found
垢版 |
2020/10/10(土) 13:58:08.74ID:???
ひとつでもNullが交じると、NaNになるみたいです。
0922Name_Not_Found
垢版 |
2020/10/10(土) 14:00:21.72ID:???
どうなれば回避したことになるのか
0923Name_Not_Found
垢版 |
2020/10/10(土) 14:33:39.59ID:???
>>921
ホント?
実行環境とサンプルコードを求む
0924Name_Not_Found
垢版 |
2020/10/10(土) 14:39:02.47ID:???
nullでNaNになるって事はわざわざparseIntやparseFloatしてるのかな?
0925Name_Not_Found
垢版 |
2020/10/10(土) 15:04:30.33ID:???
なるほど入力された文字列を数値として足し算したいという感じか
どうすれば回避したことになるのか次第だけどfilterでfalsyを除けば?

var foo = ["1", null, "2", null, "3", "foobar"]
foo.map(x=>parseInt(x)).filter(x=>x).reduce((a, b) => a+b)
0926Name_Not_Found
垢版 |
2020/10/10(土) 15:06:15.51ID:???
あとは“5man”みたいのをどうしたいかでparseInt()かNumber()かを使い分ける
0927Name_Not_Found
垢版 |
2020/10/10(土) 15:57:25.17ID:???
javascriptは難しい。
この言語を使いこなせる人はすごいですね。
0928Name_Not_Found
垢版 |
2020/10/10(土) 17:39:43.36ID:???
>>927
慣れじゃね?

日本語みたいな難しい言語だって
慣れてる俺らはペラペラだろ?
そんなもんよ
0929Name_Not_Found
垢版 |
2020/10/10(土) 18:10:50.28ID:???
thisを除くとJavaScriptが他の言語より難しいところって無いと思うけどな
0930Name_Not_Found
垢版 |
2020/10/10(土) 20:30:33.78ID:???
JavaScriptだけなら難しいのかもしれないが、俺たちにはMDNがある。
仕様書がチンプンな文系にも優しい。
0931Name_Not_Found
垢版 |
2020/10/10(土) 20:51:31.14ID:8+F1PmPj
JavaScriptだけなら難しいのかもしれないが、俺たちにはMDNがある。
仕様書がチンプンなアホにも優しい。
0932Name_Not_Found
垢版 |
2020/10/10(土) 21:19:50.13ID:bGSXK08N
JavaScriptだけなら難しいのかもしれないが、俺たちにはMDNがある。
仕様書がチンプンなカスにも優しい。
0933Name_Not_Found
垢版 |
2020/10/10(土) 21:27:48.26ID:???
バカにしたいのかも知れんがオリジナルのレスから既にへりくだってるのであまり煽りになっていない。
0934Name_Not_Found
垢版 |
2020/10/10(土) 22:15:10.87ID:???
JavaScriptじゃなくてJavascriptやろ?
0935Name_Not_Found
垢版 |
2020/10/10(土) 22:29:34.46ID:???
JavaScriptだよ。wikiれやカス。
0936Name_Not_Found
垢版 |
2020/10/17(土) 10:44:27.96ID:???
thisは全然難しくない
0番目の引数というだけ
そこにどういう状況で何が渡ってくるかを
考えたり覚えたりしないといけないのは
あらゆる言語のあらゆる関数に言えること

JSでややこしいのは暗黙の型変換、そしてnew演算子の振る舞いとクラスシステムくらい
0937Name_Not_Found
垢版 |
2020/10/17(土) 10:56:37.42ID:???
明示的に渡される引数と暗黙的に渡される引数とで
理解しやすさに違いがないと思うやつは単に頭が悪いだけでなく
理解してないものを理解したつもりになってるからかなり質が悪い

チームの足を引っ張るいわゆる老害タイプ
0938Name_Not_Found
垢版 |
2020/10/17(土) 11:00:40.03ID:wp9p6INR
>>937
全く差がないとは思わんけど
いうほど難解って気もしないけどなあ
0939Name_Not_Found
垢版 |
2020/10/18(日) 21:16:24.02ID:???
>>937
明示的なのは自分で定義した関数を自分で呼び出すときだけでしょ
そうでない場合は自明ではなくて、ある程度の決まりを覚えるか調べるか、
もしくは状況に当てはめて考えるかしないとわからないじゃないか
0940Name_Not_Found
垢版 |
2020/10/18(日) 22:11:25.34ID:???
>>939
マジで違いがわからないんだな
いつもの釣りネタかと思ってた
0941Name_Not_Found
垢版 |
2020/10/18(日) 22:27:08.70ID:???
Javaのthisってなんですか?

obj.foo

JavaScriptと同じで . の左側です。
JavaもJavaScriptもthisは . の左です。
0942Name_Not_Found
垢版 |
2020/10/18(日) 22:32:45.57ID:???
thisそれ自体は別に理解が難しくはないと思うけど、既存の他のOOP言語に慣れた人の先入観と
ずれた動作をするところがトラップになっているだけのように思うな。
0943Name_Not_Found
垢版 |
2020/10/18(日) 22:43:44.10ID:???
>>941
>JavaもJavaScriptもthisは . の左です。

もしそうだったなら何も難しくはなかっただろうに
0944Name_Not_Found
垢版 |
2020/10/18(日) 22:55:42.09ID:???
.の左がthisという認識で合ってるよ
@ドット演算子はその時に値を解決せずに、何から何が参照されたかの情報を持ったがリファレンス型を作る
そのリファレンス型が他所で参照されて壊されることなく関数呼び出しまでたどり着くと
参照元(左辺)がthisとして関数コンテキストが実行される
Aもし起点が参照型ではない状態=直接、関数が呼ばれるとthisは未定義となる
未定義の場合sloppymodeならglobalThis、strictmodeならundefinedとなる
基本的にはこの2つしかない
あとはB明示的にthisを設定して呼ぶ方法と、
C内部メソッドや外様APIから独自のルールでthisが設定されて呼ばれる場合くらいしかない
0945Name_Not_Found
垢版 |
2020/10/18(日) 23:15:03.85ID:???
>>944
必死杉w
「thisは . の左です」がなんでそんな長文に化けるんだよw
0946Name_Not_Found
垢版 |
2020/10/19(月) 00:07:21.83ID:0UToV77r
>>941
ほんとぉ?
イベントリスナは?
0947Name_Not_Found
垢版 |
2020/10/19(月) 00:34:11.78ID:???
>>941
> obj.foo
> ↑
> JavaScriptと同じで . の左側です。
> JavaもJavaScriptもthisは . の左です。

どれどれ…
let obj = {
foo: () => {
console.log(this)
}
}

obj.foo()
//=> window

ウソつきぃぃいいい!!!
0948Name_Not_Found
垢版 |
2020/10/19(月) 06:11:06.49ID:???
わざわざ例外を持ってきて嘘つきと言われてもね
0949Name_Not_Found
垢版 |
2020/10/19(月) 06:55:10.13ID:???
ビールの話をしているのにノンアルコールビールを持ち出して
違うじゃないかというようなもんだな
0951Name_Not_Found
垢版 |
2020/10/19(月) 09:49:19.42ID:???
>>949
obj.foo()がビールなのかノンアルコールビールなのかそれ以外なのか
どうやって見分ければいいんですか?
0952Name_Not_Found
垢版 |
2020/10/19(月) 11:57:34.08ID:u/+zd2qn
if文で1の位が1であるかどうかで条件分岐したいんですが、どう書けばいいでしょうか?
0953Name_Not_Found
垢版 |
2020/10/19(月) 12:15:14.46ID:???
JavaScript のthis は、関数をネストさせると、コンテキスト・文脈を判断できず、
グローバルのwindow を指してしまうので、非常に難しい

だから、ラムダ式、jQuery, Haxe では、thisがwindowを指さないように変えられた
0954Name_Not_Found
垢版 |
2020/10/19(月) 12:17:59.90ID:???
剰余を使えば?

正の整数を、10で割って、1余る。
負の整数は、知らないけど
0955Name_Not_Found
垢版 |
2020/10/19(月) 12:24:14.02ID:u/+zd2qn
>>954
ありがとうございます
ちょっとむずかしいのでテキストとして処理します
0957Name_Not_Found
垢版 |
2020/10/19(月) 13:05:26.63ID:???
>>953
お前thisわかってないじゃんw
windowを指すのは関数のネストと全く関係ない

関数を呼び出すときにobj.fooで呼び出すかfooで呼び出すかの違いなだけ
0958Name_Not_Found
垢版 |
2020/10/19(月) 13:35:47.27ID:???
どれどれ…
let foo = () => {
console.log(this)
}
let obj = {
foo
}

obj.foo()
//=> window
foo()
//=> window

ウソつきぃぃいいい!!!
0959Name_Not_Found
垢版 |
2020/10/19(月) 14:29:25.88ID:???
>>958
お前が呼び出してるのは関数じゃなくて
アロー関数じゃん
0960Name_Not_Found
垢版 |
2020/10/19(月) 14:34:22.68ID:???
アロー関数も関数じゃんw
ウソつきばっかりやな
0961Name_Not_Found
垢版 |
2020/10/19(月) 14:35:24.43ID:???
別もんだぞ?だから動きが違うだろうが
0962Name_Not_Found
垢版 |
2020/10/19(月) 14:50:31.39ID:???
どれどれ
let foo = () => console.log(this);

foo instanceof Function
//=> true

typeof(foo)
//=> “function”

Object.getPrototypeOf(foo)
//=> function ()

ウソつきもたいがいにせーよ!
0963Name_Not_Found
垢版 |
2020/10/19(月) 23:19:09.65ID:???
そうだそうだ!大うそつきだ!
動きは同じだ!だから問題は1つもない!
thisは難しくない!話はおしまい!
0965Name_Not_Found
垢版 |
2020/10/20(火) 01:19:40.00ID:pdzQdrSd
そんなに難しくないと思います(中2・女子)
0966Name_Not_Found
垢版 |
2020/10/20(火) 06:31:19.16ID:???
違うものを同じと認識してしまってるんだからそりゃ区別が付かなくて難しく感じるんだろうな
0967Name_Not_Found
垢版 |
2020/10/20(火) 09:39:40.70ID:???
関数の定義すら知らない人が
thisは難しくないとか言ったところで全く説得力ないよ
もうただただ痛い
0968Name_Not_Found
垢版 |
2020/10/20(火) 10:23:02.83ID:???
>>964
一連のやり取り見ればどちらに分があるかは
初心者にも明らかなのでもう続けなくていい
0969Name_Not_Found
垢版 |
2020/10/20(火) 12:09:40.95ID:fqzPr7AG
ちょっと考えりゃわかんだろ
20年以上、多くのプログラマが
当たり前のようにJS書いてて
特に問題なくthis使ってきたんだから
大したことないって

そりゃ理解力に個人差があるのはわかるけど
数字でわかることに他人を巻き込むのは良くねえよ

素直に自分の理解力の無さを認めて
ふつうに理解できてる人に教えを乞う方が
建設的だと思うぜ

別にわからないことは恥ずかしいことじゃねえよ
0970Name_Not_Found
垢版 |
2020/10/20(火) 12:52:31.91ID:???
何というか、実際は複雑で仕様書レベルで理解しようとしたら大変なものってたくさんあると思うよ。
でもthisってそこまで理解しないと使えないものではないと思う。
どちらかというと直感的に体で覚えて使える類のものだと思うよ。
もしどうしても詳細なロジックで理解したければ仕様書を読めばいいと思う。
0971Name_Not_Found
垢版 |
2020/10/20(火) 13:02:24.93ID:???
「thisが理解できない」という話は誰もしてないのにねw
「難しい」という言葉の意味すら理解できないんだなww
0972Name_Not_Found
垢版 |
2020/10/20(火) 13:19:43.17ID:???
言葉の定義を理解しようとしないのは頭の悪いやつに共通する特徴
0973Name_Not_Found
垢版 |
2020/10/20(火) 13:27:55.26ID:???
なるほどねー

「thisは難しい」を「thisが理解できない」と勘違いして
「thisは難しくない」と主張することで「俺はthisを理解してるぜ」とドヤりたかったと

にもかかわらず何も理解してなかったことが露呈したわけだ
噓つきディスおじさん乙
0974Name_Not_Found
垢版 |
2020/10/20(火) 15:52:52.28ID:???
頭大丈夫???

仕様書レベルで理解してる人なんてほとんど居ないし
それを目指そうとすれば難しいだろうけど、
そこまでする必要はないよと言ってるだけだよ

つまり反対に言うと、むしろ余りに深く理解しようとするから難しく感じるのでは?と言ってるわけだよ?
thisが理解できないなんて誰も言ってないでしょ?
0975Name_Not_Found
垢版 |
2020/10/20(火) 16:40:58.18ID:???
つまり理解してないくせに知ったかぶりでドヤってたわけだワラ
0976Name_Not_Found
垢版 |
2020/10/20(火) 18:02:28.00ID:???
難しいってのは常に相対的な言葉なんだよねー
何と比べてるのかも理解せず延々と知ったかぶりでドヤられてもねー
0977Name_Not_Found
垢版 |
2020/10/21(水) 06:35:23.46ID:???
何と比較してるかって
>>927-929 始まりを見ると
JSの全仕様及び多言語の仕様においてthisが特別に難しいかって話でしょ
自分の中でだけ勝手に基準変えちゃったのかな?
0978Name_Not_Found
垢版 |
2020/10/21(水) 07:25:47.11ID:???
>>977
使いこなすのに全仕様が必要なのか?
そんな理解しかできないのはお前だけw
頑張って考えた言い訳でもこれだから

仕様ヨムオも噓つきおじさんだわ
0979Name_Not_Found
垢版 |
2020/10/21(水) 23:13:55.07ID:???
こいつ意思疎通ができないぞ
さてはAIだな
0980Name_Not_Found
垢版 |
2020/10/22(木) 00:31:42.36ID:VV84UUrD
難しいつっても
100点中2点と5点の差みたいなもんじゃね?

とりたてて困るほどのものでもないというか
あーそういうことなのね、程度で済む範疇というか

何レスも消費して騒ぐほどのもんかね?
0981Name_Not_Found
垢版 |
2020/10/22(木) 01:11:36.20ID:???
初心者がthisを使いこなすせるようになるために理解すべきことを
わかりやすく説明すれば納得するんじゃね?
そうすればスレ的にも有意義だと思うよ

“thisは0番目の引数というだけ”や”thisは . の左です”では
まるでダメだから噓つき呼ばわりされる
0982Name_Not_Found
垢版 |
2020/10/22(木) 06:38:16.84ID:???
まず第一に初心者が使いこなすのが簡単な仕様なんて存在しないでしょ
例えばforファミリーだってfor-inの列挙のルールとかfor-letの変数の挙動とか
しっかり理解するのは初心者にとっては極めて難しいでしょ
thisの説明はそこそこしっかりしても>>944+アロー関数くらいのもので1レスに収まる程度でしょ
もちろんそれ以上に深く知ろうとすればforの例などと同じく結局他のJSのシステムまで理解しないといけないから
そりゃ細かく知ろうとするほど際限なく難しくなるでしょ

難しくないって言ってる人は様々に具体的に見解を述べてるんだからさ
むしろ難しいっていう理由のほうが聞きたいね
thisを理解してるそうだから答えられるはずでしょ?
0984Name_Not_Found
垢版 |
2020/10/22(木) 10:16:44.85ID:???
>>982
噓つきの言い訳長文ほど見苦しいものはないぞ

結局>>973が書いてる通りだったね
0985Name_Not_Found
垢版 |
2020/10/22(木) 10:55:06.00ID:???
簡単だけど、簡単なんだけど、簡単には説明できないんだッ!
せ、説明ができないだけで理解してないわけじゃないからなッ!!
う、う、ウソじゃないッ!!!
0986Name_Not_Found
垢版 |
2020/10/22(木) 11:54:29.28ID:???
「HTML5プロフェッショナル認定 レベル2」の問題が難しい。というか覚えなけれならないことが多すぎる。
0987Name_Not_Found
垢版 |
2020/10/22(木) 17:14:06.03ID:VV84UUrD
>>986
そんなのあるんだ…自信ねえな…
0988Name_Not_Found
垢版 |
2020/10/22(木) 20:16:16.95ID:???
Scanner scanner = new Scanner(System.in);

のこの一番最初のScanner は何なん?
0989Name_Not_Found
垢版 |
2020/10/22(木) 20:22:19.00ID:???
またメロンとメロンパンか…
0990Name_Not_Found
垢版 |
2020/10/22(木) 20:24:04.64ID:???
それはjavascriptではなくjavaなのでは?
クラス型変数宣言
0991Name_Not_Found
垢版 |
2020/10/22(木) 21:47:42.77ID:???
>>985
簡単だとか誰も一言も言ってないぞ
そもそも全て簡単ではないが、
特段JSのthisが難しい訳ではないと言ってるだろ
いい加減諦めろ
0992Name_Not_Found
垢版 |
2020/10/22(木) 22:37:48.49ID:???
難しくないと思うのは自由なんだけどさ
さも理解してるかのように語って初心者が困るような嘘を垂れ流し続けるのはやめてくれ
自己弁護の言い訳に終始しててほんとに見苦しいと思うよ
0993Name_Not_Found
垢版 |
2020/10/23(金) 01:17:49.41ID:???
初心者「難しい話をされて困るんです。
専門用語を使った間違いのない完璧な説明じゃなくて
分かりやすいたとえで説明してくれませんか?困るんです」
0994Name_Not_Found
垢版 |
2020/10/23(金) 02:57:12.75ID:???
シッタカ「分かりました。半可知識でさも知ったふうに語ります」
0995Name_Not_Found
垢版 |
2020/10/23(金) 04:28:33.74ID:awuRdqLf
まあでも
世の中そんなもんじゃない?

たいていの人にとって必要なのは
現状から一歩前に進むことであって
いきなり真理に到達することじゃないもの

だから真実ではないけど
みんな最初は古典物理を教わるわけで

極論だが、このスレで質問するようなレベルの人に
完璧な答えは必要ないんだよ、現状打破できれば

自転車乗れるようになってから
なんで倒れないのか知った方が理解が深いのと同じよ
0996Name_Not_Found
垢版 |
2020/10/23(金) 06:30:09.09ID:???
>>992
そう思うのは自由だが
それなら君が完璧な説明をしたらいいだけなのでは?
簡単でしょ?
0997Name_Not_Found
垢版 |
2020/10/23(金) 06:42:33.51ID:???
>>992
すまんけど俺は仕様書を読めるし長年読んできたし、
ES6の前からDiscasにも参加してクラスシステムやthisが絡むの議論にも
さんざん参加してきたし、十分深く理解してるから

つうかここまで色んな人がしたthisの説明は、合ってるから
100%正確を求めたら仕様書以外はみんな間違いになるから
誰も初心者が100%理解するために解説を述べてるのではなくて
thisが比較的難しくないことを述べるために概要を簡単にまとめ直して
どうそれを見るかを語っているだけだから

そもそもなんで巷に色んな解説があり仕様書もあるのに
こんなところで100%の解説をまとめようと思うのかも理解できないから
そもそも本当のことを語ったら初心者が困らないのかというとそれこそ嘘だから

初心者が本当のところをすべて理解するのは不可能で
そんなこと教えられてもそれこそ難しくて困るから
初心者にとって必要なのは嘘だけど簡単で概ね使える知識だから
そこから上級者になっていくにあたって本当のところを知っていくものだから
0998Name_Not_Found
垢版 |
2020/10/23(金) 12:49:04.10ID:???
仕様ヨムオとjQおじさんは完全に老害だな
役に立たないばかりか嘘をついて他人の理解を妨げてる
どれどれ君のほうが1000倍役に立つ
0999Name_Not_Found
垢版 |
2020/10/23(金) 13:15:43.52ID:???
JavaのthisやPythonのselfに比べても
同じプロトタイプベースのIoのselfに比べても
JavaScriptのthisは覚えるべきルールが多くて複雑
1000Name_Not_Found
垢版 |
2020/10/23(金) 13:31:35.67ID:???
なぜウソをつくのか?
=> 自分を認めてもらいたいから

なぜウソをついてまで自分を認めてもらいたいのか?
=> 常日頃他人に認められておらず承認欲求が満たされていないから

なぜ常日頃から他人に認められていないのか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2098日 21時間 8分 30秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況