X



+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2017/07/31(月) 21:10:56.03ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
・回答者同士のレスは原則禁止(>>6を参照)
・ライブラリの話題の投稿(>>6を参照)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
0003Name_Not_Found
垢版 |
2017/07/31(月) 21:12:08.92ID:???
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/

◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
  - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
  https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
 ▼要素を検証
 1. ページ上で右クリックして [要素を検証]
 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
 3. 右側のサイドバーから知りたいステータス名のタブを選択する
   - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
   - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
   - [Properties] タブ … 選択したDOMノードのプロパティを表示
 ▼コンソール
 1. JavaScript コード上で console.log('Hello, World!'); と入力
 2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
 3. [Console] パネルに "Hello, World!" と表示される
 (※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
0004Name_Not_Found
垢版 |
2017/07/31(月) 21:12:30.92ID:???
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

■各種仕様 ( http://fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 )
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/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 和訳)
0005Name_Not_Found
垢版 |
2017/07/31(月) 21:12:46.40ID:???
■各種仕様 (続き)
◆ 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
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
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)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
0007Name_Not_Found
垢版 |
2017/07/31(月) 21:18:10.88ID:???
クロスブラウザ問題も切り捨て時期に入りversion1の使う理由がなくる。
https://w3techs.com/technologies/history_overview/javascript_library/all
ここをみると今年に入ってからjQueryを使用している会社は0.4%増えているようだが
少数派の意見ではあるがうちの会社では年内でjQueryをきることが決まったぞ。
こういう会社もまれにあるってことを知ってほしい
0008Name_Not_Found
垢版 |
2017/07/31(月) 21:39:32.86ID:???
例外的な会社の話をするならば、
そりゃjQueryを切るところもあるだろうけど、
ぶっちゃけ、少ない方の事例じゃね?
0009Name_Not_Found
垢版 |
2017/07/31(月) 22:31:17.75ID:???
テンプレ滅茶苦茶じゃねーか
0012Name_Not_Found
垢版 |
2017/08/01(火) 05:27:35.42ID:???
>>2がぱっと見なんのライブラリ7日教えてくれ
0013Name_Not_Found
垢版 |
2017/08/01(火) 13:07:03.07ID:???
そもそもAjaxのころのライブラリ黎明期からHTML5ムーブメントまでの成長期なら分かるが
現代に主要ライブラリのリンクとか必要なのだろうか?

つうか全体的にリンクがあまりに多すぎじゃね
例えば仕様のリンクは多くてもスナップショットの和訳1つで良いだろう
最新の英語のLS版が知りたいやつがここのリンク参考にするとは思えんし

もっと言えばMDNだけで十分な気がする
MDNの各ページには仕様への適切なリンクが張ってあるし、
興味がある人ならそこから知るだろう

質問テンプレートもテンプレートなんて殆ど使われないし、
こういう質問の仕方にしてという注意事項形式に改めたり、
改善と言うか0からテンプレ作り直す必要があると思う
0014Name_Not_Found
垢版 |
2017/08/01(火) 17:09:07.30ID:???
>>13
テンプレ案で提案どうぞ スレ違い君
0015Name_Not_Found
垢版 |
2017/08/01(火) 18:18:42.11ID:???
無能にスレ違いって誰のことなんだよ?
0016Name_Not_Found
垢版 |
2017/08/01(火) 18:27:29.70ID:NaEiNuTz
スレチかもだけど
iOSでHTML、CSS、JavaScriptの編集、デバッグ(ここ重要)出来るアプリでお勧めあったら教えて
長文でも見やすくて、欲を言えばライブラリの追加とか出来ると素敵です
JSAnyWhereは試したけど、使い物にならなかった
もっと適切なスレあったら、誘導願います
0017Name_Not_Found
垢版 |
2017/08/01(火) 19:31:57.80ID:???
ここまで過疎ってる上にスレ分裂してるのにさらにテンプレ議論を別スレでさそうとは恐れいった
0018Name_Not_Found
垢版 |
2017/08/01(火) 22:58:38.87ID:???
好き勝手にやればいい
まともな質問がきて答えたければ答える
それ以外はゴミどもがくだらん喧嘩しててもスルーしときゃいい
0020Name_Not_Found
垢版 |
2017/08/02(水) 11:33:40.68ID:???
無能っていうか意図的にやってるんだよ
元のテンプレで注意されていた荒らし本人がずっとそうやってスレ立ててんの
0021Name_Not_Found
垢版 |
2017/08/02(水) 13:48:18.11ID:???
問題だー問題だーって騒ぐ割に
誰も具体的に指摘せず不備を直そうともしない
0022Name_Not_Found
垢版 |
2017/08/02(水) 14:11:24.34ID:???
いやwちっとも改善する意識の無いやつがスレを立てるなよ
ただでさえ乱立してる中立てるってことは
相当の意味を込めてないとおかしい
0023Name_Not_Found
垢版 |
2017/08/02(水) 14:56:05.51ID:???
JavaScriptが最終的に覇権握るわ。こんな応用きいて自由な言語ねえ
0024Name_Not_Found
垢版 |
2017/08/02(水) 15:05:45.36ID:???
var t = obj.typo;
こういうバグを発見できないJSは糞言語
0025Name_Not_Found
垢版 |
2017/08/02(水) 18:54:17.17ID:???
慣れればすぐ分かる
どうしても気になるなら存在しないときエラーを出すProxyで包んだりすればいいじゃないか
0026Name_Not_Found
垢版 |
2017/08/02(水) 20:45:42.89ID:???
効率は悪いがメモ帳みたいな最低限の環境でもできなくはないし、
1発とはなかなか行かないが問題なく動くものも作れるけど、
存在しないあるいは未参照だったりするオブジェクト・変数・メソッドをチェックしてくれるぐらいの環境は用意したほうがいいんじゃね。
そこまで本格的でなくても、typo程度ならシンタックスチェック入れるだけでもだいぶ変わるはず。
0027Name_Not_Found
垢版 |
2017/08/02(水) 21:30:45.31ID:???
typoは確かに良くするが大抵すぐ分かるけどな
コンパイルしてデバッグ実行のオーバーヘッド考えたらさほど大したことじゃないと思う
それよりも近年たまにハマるのがイテレータ周りだな
例えばPromise.all([a,b,c])としないといけないところをall(a,b,c)としてしまうと
undefined is not a functionエラーが出てしまう
これがall(a,b,c)ならまだ原因に気づきやすいんだろうが、
async関数の絡みでよくall(a(),b(),c())となってることも多いので惑わされる
0028Name_Not_Found
垢版 |
2017/08/02(水) 21:59:04.57ID:???
ブックマークレット作成してて、画面項目入力後にボタンクリックして次の画面に遷移。遷移先でも入力させたいんですが、描画完了直後に入力したい場合どうすればいいでしょうか?
0029Name_Not_Found
垢版 |
2017/08/02(水) 22:41:35.34ID:???
Proxyを無理やり使って実行時に判明する程度だからな・・
静的にobjのプロパティ参照typoを見つけられるチェッカーは無いし
0030Name_Not_Found
垢版 |
2017/08/02(水) 23:02:10.45ID:???
>静的にobjのプロパティ参照typoを見つけられるチェッカーは無い
ないの?知らんけど
探せば普通にありそうだけどな
0031Name_Not_Found
垢版 |
2017/08/03(木) 03:09:11.09ID:???
変数とは勝手が違うから難しそう
多分Object.prototype.__proto__にProxyを挟むというのが良いかもね
0032Name_Not_Found
垢版 |
2017/08/04(金) 11:18:22.82ID:???
typoが気になるならTypeScriptおすすめ。
基本的は

let a:型 = ほげほげ

みたいに型を:の後に追加するって仕様だけで使える。
後、個人的に気に入ってるのはjsonにスキーマ設定できる

interface User {
name: string
age: number
}

user:User = {
name: 12 // error!
// ageが足りない!
}
って感じでエラーを出してくださる。
jsonにスキーマがつくとすごく便利よ〜。
0033Name_Not_Found
垢版 |
2017/08/04(金) 11:22:21.22ID:???
https://www.typescriptlang.org/play/

上記とかtypscriptがどんな感じかわかるから触ってみて
シンプルな見た目のくせに補完が効くしね。
試しにdom操作してみると感動するで

document.createElement とか使ってみて欲しい
document.createElement("button”)を実行するとちゃんとHTMLButtonElement型が代入されてるしそもそもdocumentって入力しただけで
候補が出るからtypoしようもないよね。
0034Name_Not_Found
垢版 |
2017/08/04(金) 13:18:13.38ID:???
確かに素晴らしいんだけど
大規模コード書くようなTSが有用なときって
あんまりそう言う重し付けたくないんだよね

何が嫌かって言ったらリリースデータに元とコンパイル後の2つ含めることになること
ポリフィルみたいに簡単に要らなくなったら外すとかできないし
0035Name_Not_Found
垢版 |
2017/08/04(金) 13:56:34.28ID:???
>>34
最悪tsを捨てちゃったっていいのよ。
生成されるファイルはtargetをes2015にして出せばそんなにはキチガイなコードにはならないからjsとの混在も可能だしね。

ちょっと前は型定義ファイル周りのエコシステムが乱立?して混乱を呼んだけど
今は平和だしいい感じよ。

俺はむしろtypescriptからjsに本格入門した。
vscodeで書いてるというのもあるけど、書いてる最中にバグを指摘してくれるから
気分的にはコンパイラとペアプログラミングしてる感じ。

いちいちドキュメントを見に行かなくてもvscodeが必須パラメータを教えてくれる。

感覚的には文字入力してる時に頭の悪いIMEから頭のいいIMEに代わって
凄く捗るぜーって感じかな。
0037Name_Not_Found
垢版 |
2017/08/04(金) 20:23:35.94ID:???
>let a:型 = ほげほげ
>みたいに型を:の後に追加するって仕様だけで使える。
インタプリタに慣れすぎて型指定するのめんどくさいお
0038Name_Not_Found
垢版 |
2017/08/04(金) 21:21:05.97ID:???
>>37
型推論使えるから基本関数とかメソッドのインターフェース定義のときしか要らないよ。
0039Name_Not_Found
垢版 |
2017/08/05(土) 17:09:35.45ID:???
>>22
これ
能力無い奴が余計なことして後手後手になる典型的なパターンなんだよな
0040Name_Not_Found
垢版 |
2017/08/07(月) 16:42:22.61ID:ZV9geJvA
自己流で覚えたので、おかしなやり方をしてる気がしてるのですが、どうもstring.match(/hoge/)が使いにくいのです

正規表現マッチだとオブジェクトで帰ってくるので

var temp = string.match(/.*hoge/).replace("honya","hage") ← stringじゃないのでエラー
var temp = string.match(/.*hoge/)[0].replace("honya","hage") ← マッチしなかった場合0なんてプロパティはありませんとエラー

となり良く止まってしまいます
これを判別して

var temp = string.match(/.*hoge/)
if(temp != undefined){
var temp2 = temp[0]
} else {
temp2 = ""
}
temp = temp2.replace("honya","hage")

と書くと、ただストリングがひとつ欲しいだけなのにいちいち長くなってしまいます
そこで

var temp = (string.match(/.*hoge/) || ["","",""])[0].replace("honya","hage")

最終的にこんな書き方になりましたが、見づらいし、こんな泥臭いというか力業が一般的な書き方とは思えず悩んでいます
そこで皆さんがどうやってるか・一般的にはどうやるのか、どうかアドバイスください
0041Name_Not_Found
垢版 |
2017/08/07(月) 17:59:51.55ID:???
var temp = string.match(/.*hoge/), temp2 = temp && temp[0].replace("honya","hage");
var temp = string.match(/.*hoge/).map( m => m.replace("honya","hage") ) [0];

ある程度はどうしようもない
0043Name_Not_Found
垢版 |
2017/08/07(月) 18:42:08.10ID:???
愚直にやるのが一番いいと思うけど。
ワンライナーにしなきゃいけない理由がわからない
三ヶ月後の自分が分かるコードで書くべき
0044Name_Not_Found
垢版 |
2017/08/07(月) 19:30:51.85ID:???
こんなコード書かれたら発狂するわ
0045Name_Not_Found
垢版 |
2017/08/07(月) 20:45:20.80ID:???
>>41
&&をこんな感じに使えるんですね、なるほど参考になります
ありがとうございます

>>43
長いと目が迷子になってしまうので、特にmatchはよく使うので
一般的な感覚じゃないかもですが、行数の割に得られるものが少ないと、このブロック何の為だ、と後々読んだ時に混乱してしまって
でもif文で数行に書くのが一般的なのですね、なるほどありがとうございます
0046Name_Not_Found
垢版 |
2017/08/07(月) 22:00:11.62ID:???
string.match(/(.*hoge)/)
temp = RegExp.$1.replace("honya","hage")
0047Name_Not_Found
垢版 |
2017/08/08(火) 02:08:12.03ID:???
>>46
これRegExp.$1に何も入ってなくてもエラー吐かないんですね
こんな裏技あったとは、RegExpって気になってたので意識して使ってみます、ありがとうございます
0048Name_Not_Found
垢版 |
2017/08/08(火) 04:59:19.20ID:???
条件が複雑なら、コードも複雑になるのが、当たり前。
そのまま素直にコードにすればよい

条件が複雑なのに、コードが単純になっていれば、間違っている。
コードを単純に出来るなら、条件も単純に出来るはず

2段階のプロセス。
1. 論理的に正しい証明を先にしてから(仕様書)、
2. その通りにコードに写す(実装)

2を修正したら、常に1に帰ってから、正しさを証明して、2を修正する。
常に、考える時は、1の仕様書で考える

&& を使ったら、if-else よりも、分かりにくい。
頭の中で、if-else に置き換えて、
論理的に矛盾が無いか、証明しないといけないから、余計に難しい。
つまり、見落とし・勘違い・バグが起こる、可能性が高くなる

もし、&& の右の式に、副作用があって、何かの状態を変える場合、
パッと見て、右式が実行されたか、されていないか、分かりにくい。
頭の中で、間違いが無いか、確かめるのが大変

論理的に正しいと証明するのが、一番難しい。
コードを書くよりも難しい
0049Name_Not_Found
垢版 |
2017/08/08(火) 08:57:46.63ID:???
ECMAでRegExp.$1などを無くそうかという議論がされてるときに
堂々と提案できるやつはどういう神経してるんだろう
0050Name_Not_Found
垢版 |
2017/08/08(火) 09:31:44.99ID:???
なくなってからまたおいで
10年後ぐらいにね
0051Name_Not_Found
垢版 |
2017/08/09(水) 02:51:27.94ID:???
なくそうか、じゃなくて仕様に拡張として追加しようか、という案と反対意見でしょ
現時点ではただのレガシーな独自実装なんだから、勧めるのは確かに良くないよ
0052Name_Not_Found
垢版 |
2017/08/09(水) 09:45:36.44ID:???
やっぱそうだったかw
無くすわけないしな

全てのブラウザで使えて昔から
よく使われているものなんだから
仕様に追加するべきだろうな。

昔から広く実装されているからって
レガシーってことにはならんよ
0053Name_Not_Found
垢版 |
2017/08/09(水) 22:36:56.14ID:???
よく使われている……?
キチガイじみててめまいがしてくるなw
0054Name_Not_Found
垢版 |
2017/08/09(水) 23:50:53.63ID:???
HTML5っていうのはそもそも過去のブラウザを含めて各ブラウザで
同じようにレンダリングできるように仕様が固められたもの
仕様があってそれに準拠するようにブラウザを開発するのとは逆。

だからJavaScriptでも同じように動くことを目標としてるので
使われている機能は消さないし、標準化されてないのであれば
標準化する方向にすすむ。
0055Name_Not_Found
垢版 |
2017/08/10(木) 07:50:42.87ID:???
>>39
基地外が立てたスレだから許してやれ
0056Name_Not_Found
垢版 |
2017/08/10(木) 09:36:53.61ID:???
>>54
「JavaScript」の仕様があればそうだし、現にWHATWGにはRegExpの拡張を含む「JavaScript」仕様があった
での削除された、その理由を考えると良い
0057Name_Not_Found
垢版 |
2017/08/10(木) 19:06:04.88ID:???
ちょっとスレチかも知れないのですが
<video src="blob:https://google.com/example";>
のsrcのblobって何を表しているのでしょうか?blob先のURLにアクセスしてみても404なのですが
0058Name_Not_Found
垢版 |
2017/08/10(木) 20:26:08.60ID:???
data:image/png;base64,〜のようにDataURIは知ってると思うがそれの親戚だ
よりでかいバイナリデータを扱う場合に適しているAPI
0059Name_Not_Found
垢版 |
2017/08/10(木) 21:16:14.19ID:???
>>56
あー、考えたw 考えたw
はい、この話題はおしまい
0060Name_Not_Found
垢版 |
2017/08/10(木) 21:17:05.02ID:???
>>58
そういうことを聞いてるんじゃないだろ
説明が的はずれだな
0061Name_Not_Found
垢版 |
2017/08/10(木) 21:22:34.09ID:???
どこが的はずれなんだ?何を表してるって聞かれてバイナリオブジェクトってまんま答えなわけだが
0062Name_Not_Found
垢版 |
2017/08/10(木) 21:33:50.04ID:???
>>58
有難う御座います
すみません詳しい説明の乗ってるサイトとかってありますか?
404のページのURLが何を表してるのか分からなくて
0063Name_Not_Found
垢版 |
2017/08/10(木) 21:39:29.98ID:???
Q. srcのblobって何を表しているのでしょうか?

A1. バイナリデータを扱う場合に適しているAPIだ!
A2. バイナリオブジェクトだ!


的外れは続くよw
0064Name_Not_Found
垢版 |
2017/08/10(木) 21:49:48.50ID:???
メモリ上にあるオブジェクトに発行した一時的なIDみたいなもんでそのページのみで有効
普通にいつでもどこでもアクセス可能なURLではない
0066Name_Not_Found
垢版 |
2017/08/10(木) 23:51:26.90ID:???
blob は Binary Large Object の略称だから的外れでもない
0067Name_Not_Found
垢版 |
2017/08/11(金) 07:41:17.24ID:???
>>65
動画サイトなら手軽にアクセスできなくしてるのだろう
直リンで見れるようなら自分が持ってる動画プレイヤーや
第三者サイトの動画プレイヤーやとかで見れてしまうわけで
そうすると広告のある自サイトに誘導出来ないから困っちゃうとかね
0068Name_Not_Found
垢版 |
2017/08/11(金) 09:17:38.63ID:???
Blobと言うのは要するにプログラム中に存在するファイルデータみたいなもんだよ
そんでそのURLはそのデータを参照させるためのもの
つまりブラウザ内に存在しているデータへのリンクであって、
そのデータはどこかから取ってきたものかもしれないが、
blobURLが外部へのURLに置き換わるわけではない
0069Name_Not_Found
垢版 |
2017/08/11(金) 09:20:46.41ID:???
Firefoxスレで質問してみたのですが答えが返って来なかったのでご存知の方お願いします

Fullscreen APIでflashをsrcに指定したiframe要素をフルスクリーン化したあと
フルスクリーン化したiframe内を左クリックすると元に戻っていたのですが
先日リリースされたFirefox55になってからこの方法では戻らなくなり
ESCキーを押した時に戻るようになりました
Firefox55でも引き続きフルスクリーン化の脱出に左クリックを使いたいのですが
何か情報ありませんでしょうか?
0070Name_Not_Found
垢版 |
2017/08/11(金) 09:25:36.12ID:???
その話は知らんけどflashは2020年には廃止されるようだな
0071Name_Not_Found
垢版 |
2017/08/11(金) 12:58:38.70ID:???
フルスクリーンのUIはずっと固まってないじゃん
Chromeでもオプション提供してずっと実験してるし
今たまたま望み通りいってることがこの先も上手くいくとは限らないと考えるべきだよ
0072Name_Not_Found
垢版 |
2017/08/11(金) 13:01:52.59ID:???
まあdocument.exitFullscreenをうまく使う位しか望みは無いんじゃないの?
007369
垢版 |
2017/08/11(金) 13:16:13.10ID:???
>>70-72
レスありがとうございます
Firefoxの場合設定いじったり加えると戻ったりするのですが今回は見当もつきませんでした
JavaScriptで制御できればいいんですけどね
iframe側はflash直接埋め込んでるのでJavaScript使えないので
フルスクリーンにしてフォーカスがiframe内に移ってしまうとどうしたらいいかわからないです
iframeが動作が軽快なのでiframeをどうしても使いたいため
objectやembed使う以外でなんかうまい解決策とかありそうでしょうか?
0074Name_Not_Found
垢版 |
2017/08/11(金) 14:50:01.47ID:???
iframeが動作が快適だと考えるのも危ないと思うよ
今ちょうど各ブラウザがiframeの優先度やどういうプロセスで動かすか大改造中だもの

で、iframeが同オリジンなら操作できるかもね
007569
垢版 |
2017/08/11(金) 17:29:12.90ID:???
>>74
iframeを参照するhtmlもiframeのsrcのflashも同じオリジンです
localhostで使っているものなので
そうするとflash側のソースをいじらないといけないんですかね
一応オープンソースなのでソースはいじろうと思えばいじれるのですが
ActionScriptはさっぱりです
007657
垢版 |
2017/08/11(金) 18:13:46.16ID:???
>>68
"blob:https://google.com/example";というのは、いったんブラウザメモリへダウンロードしたファイルへアクセスさせる変数ということで合ってますか?
しかし動画ファイルだと数ギガあったりするので
「はい今数ギガの動画を一瞬でダウンロードしたのであとはローカルでアクセスしてください」ってことになっておかしい気がするのですが
どこか認識が違ってるでしょうか?
0077Name_Not_Found
垢版 |
2017/08/12(土) 05:40:45.04ID:???
そうだけどメモリとかよりはもっと抽象的に考えたほうが良いとは思うよ

それで動画はチャンクで細切れに送られてくるものだから
MediaSource APIを使って随時結合していってるんじゃないの?
0078Name_Not_Found
垢版 |
2017/08/12(土) 09:18:14.70ID:???
>>77
そんなAPIがあるんですね。つまり動画を見てる時、再生時間が変わる度に
再生時間に合わせた細切れ動画をダウンロード→blob:http://~~のリンクを今ダウンロードした場所へ変更→blob:http://~~の内容が変わったことをブラウザが感知して新しい動画が再生される
という感じですかね
どうも有難う御座いました
0080Name_Not_Found
垢版 |
2017/08/15(火) 09:16:47.49ID:???
完全に取り残されて、最新の情報に追いつけないのですが、
10年前のコードから、順を追って現在のコードに変えていきたいのですが、
何か最適な学習法やサイトありませんか?
0081Name_Not_Found
垢版 |
2017/08/15(火) 16:09:23.61ID:???
必ず覚えておきたいという物は少ない
便利機能や雑多なもの、細かい難しい点についてはざっと眺めとくだけでいい

まずばletやconstだけど、どんな説明見ても一回で分かるだろう
次にclassだけど、これも重要な点はすぐ理解できると思う

一番の問題はPromiseかもしれない。
まあググって上の方のページ見とけば良いんだけど、
機能や使い方だけではなく、概念を理解しないといけないから
頭の柔軟度などに依存して難しいかもしれない

あとは本当に自分で自分のために使っていって慣れるしか無い
Promiseはこれから普及するasync関数で真価を発揮する
だからまだ取り残されては居ない
2020年くらいまでは猶予がある
0082Name_Not_Found
垢版 |
2017/08/15(火) 16:13:53.86ID:???
ESの変更については上記の通りだが、
Web APIについては、進化点を探すのが難しいかもしれない
取り敢えず自分が情報追うのに使っているのは、このChromeの実装計画

https://www.chromestatus.com/features
ここを左の下のVersion 1から順に選んで見ていったら良いかもしれない
追加だけでなく廃止された重要な点も書いてある
0083Name_Not_Found
垢版 |
2017/08/16(水) 12:18:40.28ID:???
無理だとは思いますが、
Windowsのスタンバイ時、スタンバイ復帰時に、
開いていたブラウザでイベントを起こすことってできますか?
0084Name_Not_Found
垢版 |
2017/08/16(水) 17:23:22.09ID:???
似たようなことはできるよ。
調べるの面倒なんで
例のWeb APIマニアさん頑張ってw
0085Name_Not_Found
垢版 |
2017/08/17(木) 18:55:40.07ID:???
出来ると知っているのに「調べるのが面倒」とはどういう意味だ?
0086Name_Not_Found
垢版 |
2017/08/17(木) 22:03:58.40ID:???
あー、あの関数でできそうだよ
関数名忘れたけど
0087Name_Not_Found
垢版 |
2017/08/18(金) 01:55:02.43ID:???
知ったかして、詳しい人が解説してくれるのを待つテクニックか
0088Name_Not_Found
垢版 |
2017/08/18(金) 06:26:46.95ID:???
自分も気になって横から知ったか書き込みしたんだろうけど
スレの雰囲気も悪くなるしただ迷惑
0089Name_Not_Found
垢版 |
2017/08/18(金) 08:41:22.65ID:???
横着な方法だけど、1秒毎に時間測って一定以上感覚開いていないか調べれば良いんじゃないの?
0090Name_Not_Found
垢版 |
2017/08/20(日) 17:42:43.39ID:???
Promise は過渡期に出来てしまったから、.method() な連結記法が鳥肌ものにダサい。
0091Name_Not_Found
垢版 |
2017/08/21(月) 23:52:00.46ID:???
えー超便利だけどじゃあどういうのがいいわけ?
0092Name_Not_Found
垢版 |
2017/08/22(火) 14:15:50.77ID:???
Promiseってなんじゃ?xhrじゃだめなんけ?
0093Name_Not_Found
垢版 |
2017/08/22(火) 16:26:05.23ID:???
Promiseは昔っから概念がある物だしESでも1年以上十分に練られただろうよ。
0094Name_Not_Found
垢版 |
2017/08/23(水) 11:19:26.79ID:???
Promiseはasync-awaitと組み合わせてこそ最強
0095Name_Not_Found
垢版 |
2017/08/23(水) 14:02:45.98ID:???
awaitぐらいasync無しに単体で使わせろよと思う
0096Name_Not_Found
垢版 |
2017/08/23(水) 18:18:35.52ID:???
>>92
時間掛かる処理の場合、続けてなにかやりたいときは
コールバックで渡すからやりたいことがいくつもあると
どんどんネストしていくことになるじゃん?

promiseはそうではなく、メソッドチェーンで繋いでも
ちゃんとひとつひとつの処理が終わるまで待ってくれるやーつ
0097Name_Not_Found
垢版 |
2017/08/23(水) 22:42:43.34ID:???
今electronやっててjqueryで要素の編集とかで練習してんだけど
electronとjqueryの相性悪いのとjquery単体で画面パーツとか無いから新しいライブラリ探してるんだけどいいのないですかね??
色んな画面パーツとそこからのイベントが簡単に用意出来ればいいんだが
0098Name_Not_Found
垢版 |
2017/08/24(木) 10:27:54.81ID:???
>>97
reactとかvue.jsとかかね。vue.jsが無難
0099Name_Not_Found
垢版 |
2017/08/24(木) 20:22:12.86ID:???
サーバサイドのデータをクライアント側で編集するタイプのアプリを作っていますが
サーバサイドの状態とクライアント側が前提としている状態が
ズレた時の問題について考えています
データ変更のたびに変わっていくバージョン情報を設定し
クライアントが読み書きする時にはサーバに自分が所有しているバージョン情報を渡し、
それがズレていたらサーバは差分情報をクライアントに返し、
クライアントは差分を自分に適応する、
というような方法がいいのではないかと思ったのですが
もっといい方法ありますか?
あとこういうアプリのサンプルが載ってる本とかあれば教えてください
0100Name_Not_Found
垢版 |
2017/08/24(木) 20:29:16.60ID:???
>>97
これ立ち読みしてみ。
https://www.amazon.co.jp/dp/4774188190

どんなクオリティであれ自分が勉強してる分野の紙の本が出てるってすばらしい!
検索しなきゃいけない量がめっちゃ減るからね。
0101Name_Not_Found
垢版 |
2017/08/24(木) 20:39:42.06ID:VqVyYokKM
🐒
0103Name_Not_Found
垢版 |
2017/08/24(木) 23:32:45.21ID:D0oxmKt+
>>99
> サーバは差分情報をクライアントに返し、
> クライアントは差分を自分に適応する、

という部分の実装がどれだけ面倒かによるかな。クライアント側の1レコードの編集に掛かる手間がどれだけか、というのも考慮したい。
サーバのデータ(レコード)に最終更新日時を持たせて、それをバージョン情報として利用できる。
DBの更新条件に最終更新日時を付けてUPDATEして、更新されたレコード数を確認。もし0件だったら、最終更新日時が変更されていたことになる。

> あとこういうアプリのサンプルが載ってる本とかあれば教えてください

本とかは知らない。
0104Name_Not_Found
垢版 |
2017/08/24(木) 23:40:00.38ID:???
>>98
おおおりがとう
>>100
これ実はフライングで買ってしまったんだけど解説に次々に知らんjsライブラリぶっこんで来るからソースコードの理解進まないから止めたわ、、
0105Name_Not_Found
垢版 |
2017/08/25(金) 01:05:03.27ID:???
>>102-103
firebaseっていうの知らなかったんですが、
面倒な部分をgoogleに全部丸投げできるのめちゃくちゃ魅力的ですね
調べてみます
ありがとうございました
0106Name_Not_Found
垢版 |
2017/08/27(日) 14:12:55.79ID:???
数秒ごとに細かく同期して、ずれたら単純に破棄するのが一番見易いよ
0107Name_Not_Found
垢版 |
2017/08/28(月) 21:34:43.38ID:???
setIntervalとかsetTimeoutって結構誤差出ませんか?
プチフリするようなしょぼい環境だったり
秒数カウントする(何回も呼ぶ)ものとかだと特にそんな感じがします
1/1000秒単位で正確なタイマーが欲しい場合って
別のタイマー使ってで数秒起きにズレ修正したりするのでしょうか?
0108Name_Not_Found
垢版 |
2017/08/28(月) 22:40:10.36ID:???
なんか高精度のタイマーあったろ?
Web APIマニアさんに後は任せた
0110107
垢版 |
2017/08/29(火) 13:34:03.22ID:???
>>109
ありがとうございます
4msから指定可能であって(1ms指定しても4msになる)
1秒に設定したら1004msになるというわけではないですよね?
描画処理入れたら描画が終わってからタイマーが再びセットされる感じで
描画処理の分ずれていってるのかもしれないですね
ちょっとコード見なおして検証してみます
0111Name_Not_Found
垢版 |
2017/08/29(火) 14:04:17.34ID:???
>>107
> setIntervalとかsetTimeoutって結構誤差出ませんか?
誤差以前に、その2つは等価じゃないのになぜ同列として扱う?

・setInterval はコールバック関数の処理時間を待機せずにインターバルをおく
・setTimeoutの再帰呼び出しではコールバック関数の処理完了後にインターバルをおく
0112Name_Not_Found
垢版 |
2017/08/29(火) 14:20:33.09ID:???
>>108
「なんか高精度のタイマー」とは具体的に何ですか?
0113Name_Not_Found
垢版 |
2017/08/29(火) 14:40:56.28ID:???
Node.js にも、何種類か、タイマーがあったかも

高性能タイマーとは、ベンチマークで速いもの
0114Name_Not_Found
垢版 |
2017/08/29(火) 16:25:28.45ID:???
>>113
> Node.js にも、何種類か、タイマーがあったかも
>107の要件を満たせそうなタイマーは何?

> 高性能タイマーとは、ベンチマークで速いもの
タイマー処理で何がどう速くなるの?
0115Name_Not_Found
垢版 |
2017/08/29(火) 22:02:29.05ID:???
>>111
違いはそこじゃねーよw

setIntervalは登録したコールバックを定期的に何度も呼び出す
setTimeoutは登録したコールバックを一回だけ呼び出す
0116Name_Not_Found
垢版 |
2017/08/29(火) 22:10:00.75ID:E3IgUCub
>>115
いや、それは誰でも知ってるだろ
同列に扱っているから、定期的に関数を呼び出す処理を前提に質問していると思ったんだよ
それぐらい読み取ってくれ
0117Name_Not_Found
垢版 |
2017/08/29(火) 22:19:46.46ID:???
>>116
同列に扱ってなんかいないだろ

setIntervalが誤差でずれていく
setTimeoutが誤差でタイムアウトする時間がずれている

違う話だろ
0118Name_Not_Found
垢版 |
2017/08/29(火) 22:30:09.12ID:???
>>117
質問者の下記一文は読んだか?

> 秒数カウントする(何回も呼ぶ)ものとかだと特にそんな感じがします
これを実装する為には setTimeout を再帰呼び出して setInterval と似た振舞いにしなければならない
ここで、setTimeout と setInterval ではインターバルの取り方が違うだろ
要件次第でどちらを選択するかが決まる
目的に合う実装は一つしかないはずなのに、setTimeout と setInterval を一緒くたに問題視するのは違うだろ
0119Name_Not_Found
垢版 |
2017/08/30(水) 05:25:33.41ID:???
下記一文ってそれだけが全てじゃないだろうに
0120Name_Not_Found
垢版 |
2017/08/30(水) 09:09:12.57ID:???
だな、setTimeout と setInterval の特性ぐらい勉強してね
0121Name_Not_Found
垢版 |
2017/08/30(水) 09:38:26.11ID:???
特性の違いは理解してるように読めるけどな
読解力の問題か
0122Name_Not_Found
垢版 |
2017/08/30(水) 12:19:11.35ID:???
こんな過疎板で自演するなや見苦しい
0123Name_Not_Found
垢版 |
2017/08/30(水) 15:57:27.84ID:???
情報が正しいのなら、自演云々はどうでもいい
煽りは害悪
0124Name_Not_Found
垢版 |
2017/08/30(水) 16:03:40.21ID:???
>>119
では、>>115の回答が全てなのか?違うだろ?
回答で全てを語っているなんて誰も言ってない

>>120
知ってる
0125Name_Not_Found
垢版 |
2017/08/30(水) 17:08:41.75ID:???
もう不毛な議論な気がする
回答にイチャモンをつけるのが正義みたいな風潮は何とかならんのかな
否定するなら、さらに良い回答で塗りつぶすぐらいの気概がある方が健全だと思う
彼は言葉は悪いけど、回答しているだけ非難だけしている人より数段マシだよ
0126Name_Not_Found
垢版 |
2017/08/30(水) 22:17:24.67ID:Imeby3lO
【環境】Win7-Pro,Chrome60.0
【何をしたいのか】NumLockキー状態の監視

リロードや何かの操作(イベント)の際のNumLockキーの状態を監視したいです。
例えば、リロードしたとき console.log("NumLockキーはOFF"); とかの出力をしたいです。
何か案はありますか?
0127Name_Not_Found
垢版 |
2017/08/30(水) 23:32:05.92ID:???
console.log("NumLockキーは"+event.getModifierState("NumLock")?"ON":"OFF");
0128Name_Not_Found
垢版 |
2017/08/30(水) 23:43:14.48ID:???
eventはkeydownとかのKeyboardEventじゃないとgetModifierState()生えてないからリロードの時とかは無理だな
0129Name_Not_Found
垢版 |
2017/08/31(木) 00:17:09.34ID:???
あ、MouseEventにも生えてんのか。
じゃvar fresh = true;とかしといてbodyのmousemoveとかmouseoverとかのハンドラのなかにif(fresh){さっきのconsole文;fresh=false;}すればどうか。
スマホだから確認できんけど
0130126
垢版 |
2017/08/31(木) 18:08:57.85ID:???
>>127-129
レスありがとうございます。 event.getModifierState("NumLock") で色々細工してみます
0131Name_Not_Found
垢版 |
2017/09/03(日) 00:26:56.14ID:???
すみません
javascriptの曖昧な型定義や柔軟性による複雑さは
jsDocコメントを書く事で回避できますでしょうか?
0132Name_Not_Found
垢版 |
2017/09/03(日) 01:05:40.28ID:???
複雑な理由はお前のコードの問題だから
JsDocどころか例え型定義があったり柔軟性がなくても
何も回避できないよ。
0133Name_Not_Found
垢版 |
2017/09/03(日) 01:42:32.01ID:???
>>131
jsdocて単なるJavadocのポーティングでしょ?ちゃんと書いたらそれにしたがったドキュメントを自動生成してくれるにすぎない。
flow(flowtype)やtypescriptなら型検査してくれるよ。
お手軽に始めるならflowがいいんじゃない?typescriptはちょっと(週末潰すくらい)気合い要る。
0134131
垢版 |
2017/09/03(日) 02:28:16.27ID:mSmyCXiG
ありがとうございます。

>>132
そうですね。
その場凌ぎのプロパティ追加やコールバックの嵐等、気を付けます。
>>133
そうですね。flowやtypescriptを使って安心するの良いかもです。

しかしjavascriptはアセンブラ言語みたいな扱いをされているのが
何とも面白いですね。
0135Name_Not_Found
垢版 |
2017/09/03(日) 05:36:32.07ID:???
それはES2015が出る前の考え方だよ
今はWASMもあるし今更そういうこと言うやつは居ない
0136Name_Not_Found
垢版 |
2017/09/03(日) 21:44:32.30ID:RQxmc/0y
<p id="hahaha"></p>
↑このpタグのみになにか処理したい場合のセレクタの書き方おしえて。
pタグ かつ id="hahaha"ってどう記述すればいい?
0137Name_Not_Found
垢版 |
2017/09/03(日) 21:51:40.73ID:???
idってのはhtml中に1個しか出てきちゃいけないもんだぞ
pタグであるかどうかなんて関係なく#hahahaだけでいい
まぁ別にp #hahahaとかでもいいけど
0138Name_Not_Found
垢版 |
2017/09/03(日) 23:04:10.21ID:???
document.getelementbyidで取得とかは?
0139Name_Not_Found
垢版 |
2017/09/03(日) 23:26:50.18ID:???
普通に
document.querySelector('#hahaha');
でいいんじゃね
速度が問題になるほどかどうかだけど
0140Name_Not_Found
垢版 |
2017/09/03(日) 23:40:07.88ID:???
idひとつしかつけちゃいけないって言っても、つけたから何かエラーが起きるわけでもないし普通に2つ以上についてることもある
querySelectorでp#hahahaでいいんじゃない
0141Name_Not_Found
垢版 |
2017/09/03(日) 23:45:11.25ID:buG2OJDC
関数の有無をチェックし、その関数を実行するということをやりたいのですが、
fCheckだけなら以下で済みますが

if ( typeof fCheck == "function") {
fCheck();
}

fCheckの部分を変数に入れるなどして使いまわしたい場合は、どのように書けば良いでしょうか?
0142Name_Not_Found
垢版 |
2017/09/04(月) 00:22:22.40ID:???
>>141
そのコードの場合、fCheckに関数以外が入っている(つまりバグ)の場合に
スルーされてしまうので良くない。

if (fCheck) {
fCheck();
}
の方が良い

さらにいうなら
fCheck && fCheck();
でもよい

また予め fCheck = fCheck || function() {} などとしておけば、

fCheck(); とするだけでよくなる
0143Name_Not_Found
垢版 |
2017/09/04(月) 00:40:24.38ID:???
>>140
それはhtmlをまず直せって話だな
javascriptってあたりよそのhtmlいじるわけじゃないんでしょうし
0144Name_Not_Found
垢版 |
2017/09/04(月) 00:46:58.27ID:G+KHmFrZ
>142
なんと・・・
勉強してきます、ありがとうございました
0145Name_Not_Found
垢版 |
2017/09/04(月) 03:06:18.93ID:???
>>140

idは一意の値であるべき。
重複してたらバグと考え、エラーにならないなら重複しても良いのではという浅い考えは捨て去るべし。
idとclassの存在意義を理解しろ。
0146Name_Not_Found
垢版 |
2017/09/04(月) 06:30:16.46ID:???
>>145>>143
いやもうすでに重複して使ってるサイトは山ほどあるんだから
そんなこと言ったってどうしようもないじゃないか
0147Name_Not_Found
垢版 |
2017/09/04(月) 08:00:15.59ID:???
id重複は DOM 的には最初の id 以外は無視され、 CSS 的には詳細度の高い class みたいなもの

自動的に validator を通すようにしとけば id重複は自然となくなる
0149Name_Not_Found
垢版 |
2017/09/04(月) 09:51:22.30ID:???
フォームはnameで区別するのだから
idは基本的に使う必要はない。
0150Name_Not_Found
垢版 |
2017/09/04(月) 10:21:56.73ID:???
>>136,146
他サイトで重複idがあることは、自サイトで重複idを使うことの理由にはならない
「重複して使ってるサイトは山ほどある」(採用例が多い)も観測範囲によって変わってくる主観的なものだし、仮に信頼できる統計で採用例が多かったとしても、「使ってよい」かの判断は別
文法違反なんだから
https://momdo.github.io/html/dom.html#global-attributes

自分の管轄外のサイトにJavaScriptを適用するのであればどうしようもないが、そういう前提条件があるのなら質問の冒頭に付け加えるべきだし、<p id="hahaha">, <div id="hahaha"> のどちらが先に存在するのかによって変わってくる
<p id="hahaha"> が初めに来ることが保証されているのなら、getElementById
id="hahaha" が出現する順番がランダム or <p id="hahaha"> が2番目以降に出現し、<p id="hahaha"> を特定したいのならば、document.querySelectorAll('p[id="hahaha"]').forEach()
0151150
垢版 |
2017/09/04(月) 10:25:33.47ID:???
一応、付け加えておくと、ここはWeb制作板だから、何の前提もなければ、回答者は自サイトのコードを書くものと判断する
従って、「id は一意の値であるべき」の回答は正しい
0152Name_Not_Found
垢版 |
2017/09/04(月) 10:38:52.49ID:???
>>136はスレ間違えたのか?
礼も返事もないし、HTMLスレにでも行ったんじゃないか?
0153Name_Not_Found
垢版 |
2017/09/04(月) 11:15:02.61ID:???
ローカルルールでIDの乱用はいかんよ
振り込め詐欺かよw
0154Name_Not_Found
垢版 |
2017/09/04(月) 12:09:34.89ID:???
うちの社内のコーディング規約ではcssのためのidは使用禁止にしてる
idはjsのために空けとくこと
cssでidって使わなくてもclassで問題ないしね
レンダリング時の速度も変わらないし
jsではid指定とclass指定では速度が全然違うからid使うようにしてる
だから同一idが複数使われることがないな
もし使うやつがいたらこの仕事やめろってぐらい異常
0155146
垢版 |
2017/09/04(月) 16:32:48.26ID:???
まあ確かに、わざわざ重複させる必要性は分からないけど
おそらくjqueryが一般化されて第二のクラスみたいに使う人が増えたんだろうな
0156Name_Not_Found
垢版 |
2017/09/04(月) 16:43:28.94ID:???
重複して使ってるサイトなんて本当にあるのか?
繰り返しで同じパーツ吐き出す場合に
ひな形にid入れてたりするとそうなるのかもしれないけど
それはテンプレート作ったやつがアフォーだっただけやで
0157Name_Not_Found
垢版 |
2017/09/04(月) 18:17:49.63ID:???
他人のサイトなんてグリモンスクリプトとか作ってんきゃあんまり関係ない話だけど
youtubeとかアホみたいに重複してるよ
0158Name_Not_Found
垢版 |
2017/09/04(月) 18:33:21.17ID:???
関数内にその関数いれたら無限ループにできる?
0159Name_Not_Found
垢版 |
2017/09/04(月) 18:46:54.44ID:G+KHmFrZ
出来る
ちなみにそれは再帰関数という名称がある
0161Name_Not_Found
垢版 |
2017/09/04(月) 20:35:34.29ID:???
>>155
なんでそこでjQueryがでてくるのかわからんのだけど?
jQueryのセレクタは条件が揃えばquerySelectorAllを使うわけで
重複したIDの挙動はDOM APIと同じだよ
0162Name_Not_Found
垢版 |
2017/09/04(月) 20:38:47.95ID:???
>>157
何しれーっと嘘ついてるの?
idの数が多いから嘘がバレないと思った?
0163Name_Not_Found
垢版 |
2017/09/04(月) 20:43:49.71ID:???
googleがvalidなhtml書いた試しなんてないじゃん
プログラム上の利便性優先でルールなんてお構いなしでなんでも使う
検索エンジン握ってるだけあってどんな糞みたいなHTMLでも最上位に来るし
SEOなんて考慮する必要がないからやりたい放題
0164Name_Not_Found
垢版 |
2017/09/04(月) 20:45:02.14ID:???
>>154
俺の場合、JavaScriptからでも極力IDは使用しないようにしている。

なぜならコンポーネントという考えでDOMを扱ってるから。
通常コンポーネントは複数存在する。だからIDではなくクラスを使用しなければいけない。
大抵の処理はこのコンポーネントの中で閉じてしまうのでIDの出番がない。

コンポーネント化した要素同士をつなぐときにはIDでいいっちゃいいんだけど、
IDでやっちゃうとコンポーネント間が密結合になってしまう。
だからイベント等を使って関節的に通信するようにする。
そうするとIDを使ってつなぐ必要は殆ど無くなる。

速度に関して言えば、classが遅くても今のブラウザは高速で
実用上問題が発生したこともないので考えるだけ無駄だと思ってる
もしclassを使って遅くなるとしたら1ページ内のタグが多すぎ

IDを使ったほうが良いと思える場所は、ページの区別だな。
bodyにidを振る。だからページ内でユニークになるのではなくサイト内でユニークになる。
何のためかというと、特定のページだけに特殊なcssやjavascriptを割り当てたい時。
通常はコンポーネント化するから必要なのだが、まあ極稀に想定外の自体で
特定のページだけ緊急に修正しなければいけないとかで便利なのよ
0165Name_Not_Found
垢版 |
2017/09/04(月) 20:49:57.02ID:???
id 2文字
name 4文字
class 5文字

これ結構重要
0166Name_Not_Found
垢版 |
2017/09/04(月) 20:54:56.43ID:???
>>162
今見たけど52個ぐらい使われてるIDあった
YouTubeの内容はブラウザとかによって変わるかも
0167Name_Not_Found
垢版 |
2017/09/04(月) 20:58:55.38ID:G+KHmFrZ
>>165
ねーよw
idを使ったせいで保守が100倍大変になる事はよくある
絶対にclassがいい

IDを使うのはページ内アンカー用のみ
0168Name_Not_Found
垢版 |
2017/09/04(月) 21:02:10.48ID:???
>>164
リンクアンカーにはどうしても必要にならないか?
0169Name_Not_Found
垢版 |
2017/09/04(月) 21:08:19.80ID:???
>>168
> リンクアンカーにはどうしても必要にならないか?

なるけど、それJavaScriptのためのIDじゃないよね?
0170Name_Not_Found
垢版 |
2017/09/04(月) 21:16:25.55ID:???
そうだなあ
そもそもJS使うのにIDを多用するようになったのって
クエリセレクタが使えるようになる以前に
人にJSを説明するようなコードが無駄に煩雑にならんように
getElementByIdを多用してたからみたいな側面あるし
0171Name_Not_Found
垢版 |
2017/09/04(月) 23:05:23.08ID:???
>>161
そうなのか、まあ勝手な推測だからな
0172Name_Not_Found
垢版 |
2017/09/04(月) 23:19:03.66ID:???
>idを使ったせいで保守が100倍大変になる事はよくある
>絶対にclassがいい

idを使うようなケースをclassに置き換えたところで
それは一意なclass名を持つclassになるだけであって
むしろ5文字になる分保守は面倒になるだけだろ
0173Name_Not_Found
垢版 |
2017/09/04(月) 23:27:18.14ID:???
>>172
逆じゃね?
idで済むものをclassに置き換えるのは楽だけど
classで出来る重複はidでは不可能なので大変、つー話では?
0174Name_Not_Found
垢版 |
2017/09/04(月) 23:35:28.01ID:???
>idで済むものをclassに置き換えるのは楽だけど
より制約が強いのはidのほうであって
idで済むという表現はおかしい
idじゃないと出来ないからidにしてると考えるべき
0175Name_Not_Found
垢版 |
2017/09/04(月) 23:39:58.89ID:???
>>174
それはそうだろうけど
そういう話じゃないんじゃない?
0176Name_Not_Found
垢版 |
2017/09/04(月) 23:56:20.41ID:???
ま、htmlの話だし、出来ればなんでもいいってことで、
そろそろ次の話題頼むわ。
0178Name_Not_Found
垢版 |
2017/09/05(火) 00:04:44.93ID:???
漢ならchildNodesとかでどうにかしろ
0180Name_Not_Found
垢版 |
2017/09/05(火) 00:34:36.40ID:Bf/p7I5y
初心者なんですが、皆様に質問です。

スマホサイトでonclikで表示させたサイトを一番後ろで表示させたいのですが、どのように記述
すればよいですか?

今使用しているのは
<script>
function openWin2() {
window.open('http', 'bbb', 'left=50,top=0,width=520,height=650');
window.open('http', 'aaa', 'left=50,top=0,width=520,height=650');
subWindow.blur();
return ture;
}
</script>

foucusを使うといいよ!との助言を前に他のサイトで頂いたのですが、何度やってもうまくいかず。。。
0181Name_Not_Found
垢版 |
2017/09/05(火) 01:59:20.63ID:???
まずは英語の勉強かな
click focus
0182Name_Not_Found
垢版 |
2017/09/05(火) 02:46:11.66ID:???
サイズ書いても意味ないじゃろ
0183Name_Not_Found
垢版 |
2017/09/05(火) 08:37:38.60ID:???
>>180
メインとなるウインドウを開かせると同時にバッグラウンドで広告ウインドウを開かせようという腹か
迷惑スクリプトの類だな
0184Name_Not_Found
垢版 |
2017/09/05(火) 09:49:24.01ID:???
というかwebブラウザで事足りるだろw
0186Name_Not_Found
垢版 |
2017/09/07(木) 11:22:53.26ID:???
ついにmodule importがchromeに実装されたな
主要ブラウザ全ての実装されたら切り替えていっても良いのかね
0187Name_Not_Found
垢版 |
2017/09/07(木) 13:21:32.89ID:???
dynamic importは?
こっちのほうもあくしてくれ
0188Name_Not_Found
垢版 |
2017/09/07(木) 14:32:47.88ID:???
あれdefault exportされたやつ扱うのがクソ面倒なのどうにかなった?
0189Name_Not_Found
垢版 |
2017/09/07(木) 23:46:39.86ID:???
イベントの処理を考えると
JavaScriptも内部に複数のプロセスみたいなものを持っていると思うんですが
JavaScript内部のプロセスみたいなもののことを何と言いますか?
0191Name_Not_Found
垢版 |
2017/09/08(金) 00:14:55.28ID:???
いや、そういうことじゃないんです
OSでいうスレッドやプロセスに相当する
複数の「処理の流れ」をJavaScriptは内部で持ってますよね?
知りたいのはそれの名前です
0194Name_Not_Found
垢版 |
2017/09/08(金) 00:54:37.03ID:???
イベントループでググってみましたが、ちょっと違う感じがします
イベントが発生すると、
それまでの処理は中断されて
適宜イベントリスナが呼び出されたりしますが
知りたいのはそのおのおのの処理の流れの名称です
イベントループというのはイベントを実現するための全体のメカニズムのことですよね
0195Name_Not_Found
垢版 |
2017/09/08(金) 01:00:51.92ID:???
>>194
イベントリスナかな?
Javascriptならイベントハンドラのほうがしっくり来るか。
0196Name_Not_Found
垢版 |
2017/09/08(金) 01:52:05.41ID:???
JS 言語としてのスレッド的なものは
「promise の実装は実装依存とする」
みたいに定義されていないんじゃないか?
0197Name_Not_Found
垢版 |
2017/09/08(金) 08:18:40.01ID:???
>>189,191
そもそも、イベントはマルチスレッドではないのだが
JavaScript実装は様々な仕様の集合体であり、用語は各々の仕様書の中で完結する
つまり、全仕様に通用する用語はない
0199Name_Not_Found
垢版 |
2017/09/08(金) 08:37:42.25ID:???
> 複数のプロセス それまでの処理は中断されて
前提の部分から間違ってるので、思ってるものが見つからないのは当然
0200Name_Not_Found
垢版 |
2017/09/08(金) 09:00:44.81ID:???
>>194
イベントはアプリケーションに依存するタスク通信の確立
それに対してイベントハンドラでサブルーチンを処理する
0201Name_Not_Found
垢版 |
2017/09/08(金) 09:07:35.56ID:aUEnqurz
javascriptが有効の場合のみ表示するには
1行ずつdocument.write('');で囲ってやる以外に方法はないんですか?
無効の場合は<noscript></noscript>でまとめて囲えるので簡単だけど
0203Name_Not_Found
垢版 |
2017/09/09(土) 05:13:20.91ID:???
document.write() を使うと、<HTML> 部分が、一択すべて削除されてから、
JavaScript でページが作られるから、

普通、document.write() を使わない
0204Name_Not_Found
垢版 |
2017/09/09(土) 05:19:10.51ID:???
このhonya1だけをいじりたいのですが、何か方法ありませんか?
jqueryセレクターで色々やったんですが出来ませんでした

<div>
honya1
<p>honya2</p>
</div>
0205204
垢版 |
2017/09/09(土) 05:23:46.33ID:???
こんな感じだったりもします

<div>
honya1
<p>honya2</p>
honya3
<p>honya4</p>
</div>
0206Name_Not_Found
垢版 |
2017/09/09(土) 05:45:05.40ID:???
>javascriptが有効の場合のみ表示する
で、なんでdocument.writeだけと思ったのかは謎だが
出力処理それしか知らんかったってことか?
innerHTMLでも使っときゃいいんじゃね
0207Name_Not_Found
垢版 |
2017/09/09(土) 08:08:08.11ID:iPGueJu4
>>203>>206
ほとんどの参考書は出力はdocument.writeで教えているけど
0208Name_Not_Found
垢版 |
2017/09/09(土) 09:33:51.55ID:???
>>203
タイミングによるだろ
使わないのは確かだが
0209Name_Not_Found
垢版 |
2017/09/09(土) 12:04:45.08ID:???
>>201
> javascriptが有効の場合のみ表示するには
> 1行ずつdocument.write('');で囲ってやる以外に方法はないんですか?

そういう時によく使われているのが
https://modernizr.com/

表示・非表示というのは見た目の問題なのでCSSでやるのが鉄則

どういう仕組かは俺が説明するよりも
modernizrを調べてもらったほうが早い

JavaScriptが有効な場合だけじゃなくて
いろんなものが有効な場合か?が判定できる。
0210Name_Not_Found
垢版 |
2017/09/09(土) 12:28:27.29ID:iPGueJu4
>>209
でも例えばセレクトフォームで1を選択した場合に入力フォームを表示
それ以外は非表示っていうような条件付きの表示にしたい場合
cssだと対処できないんだよな
0211Name_Not_Found
垢版 |
2017/09/09(土) 12:49:34.42ID:???
>>210
できるよ?

「セレクトフォーム+入力フォーム」というコンポーネントが有るんでしょ?
セレクトフォームで1を選択した時に、そのコンポーネントの状態を
変えればいいだけだよ。

JavaScriptでやるのは状態(classやdata-*)の設定だけ
見た目はCSSで制御する
0212Name_Not_Found
垢版 |
2017/09/10(日) 09:06:38.41ID:???
promiseに関する疑問です
thenメソッドに、promiseオブジェクトを返す関数を渡すと、
thenを更に後ろに書いてメソッドチェーンに出来ますが
その関数が実行されるのは前の処理が終わったタイミングのはずですよね?
thenメソッドがメソッドチェーンで実行されるのは
promiseオブジェクトが生成されるより前のはずなのに、
何でメソッドチェーンに出来るのでしょうか?
0213Name_Not_Found
垢版 |
2017/09/10(日) 09:17:14.39ID:???
実際に即実行されるのはthenで、thenがpromiseを返しているからだよ
thenに渡した関数はpromiseが解決するまで保持される
0214Name_Not_Found
垢版 |
2017/09/10(日) 09:18:15.17ID:???
>>212
then()が実行されるのは、「コールバック関数を呼び出した時」だから
0215214
垢版 |
2017/09/10(日) 09:20:20.69ID:???
正確ではなかったな
「then()に渡された関数が実行されるのは、Promise内のコールバック関数が呼び出した時だから」
0216Name_Not_Found
垢版 |
2017/09/11(月) 01:17:54.54ID:???
>>213
thenに渡した関数がpromiseを生成して返さなければいけないと思っていたのですが
そうじゃないんですね
でもthenメソッドがpromiseを生成するにしても
promiseはコンストラクタ内で非同期処理をすぐに実行するので
生成された時点で非同期処理が走ってしまうような気がします
内部動作が謎です・・

>>215
いや、それは分かってるつもりです・・
0218Name_Not_Found
垢版 |
2017/09/11(月) 05:41:39.06ID:???
Promiseコンストラクタやthenメソッドの振る舞いが、プロミスの本質を示してると考えるからそうなる
それらの関数はたまたまそういう振る舞いになっているだけであって、
もっと言えば便利で都合のいいように置かれているだけであって、

それらはプロミスの概念を為すための必然な設計ではないし、
Promiseコンストラクタがこういう挙動をするから、thenがどうこうだとか、プロミスってこういうものと言えるものではない

PromiseコンストラクタはPromiseコンストラクタの挙動をして便利にプロミスを作り、
プロミスからはthenメソッドがthenメソッドの挙動をして便利にプロミスを作るというだけのこと
そこを難しく考える必要は全くない
0219Name_Not_Found
垢版 |
2017/09/11(月) 07:06:26.05ID:???
>>216
それが分かっているなら、「then()が呼び出された時」と「コールバック関数が呼び出された時」が同じではないことも分かると思うのだが
0220204
垢版 |
2017/09/11(月) 13:31:07.78ID:???
>>217
見たのですが、それはただの$(ele).text()と$(ele).html()の紹介なので
教えてもらって恐縮ですが求めているものとは違うようです

改めて>>204-205分かる方いたらお願いします
0221Name_Not_Found
垢版 |
2017/09/11(月) 13:47:51.67ID:???
>>220
$("<div>honya1<p>honya2</p></div>").contents().get(0).textContent = "honya3";
0222Name_Not_Found
垢版 |
2017/09/11(月) 13:52:58.01ID:???
childNodes使えばいんじゃね
0223Name_Not_Found
垢版 |
2017/09/11(月) 13:55:28.06ID:???
あ、jQueryならcontents()でもいいか
0224Name_Not_Found
垢版 |
2017/09/11(月) 14:09:31.64ID:???
>>220
$('div').contents()[0].replaceWith('ここを変更');
0225Name_Not_Found
垢版 |
2017/09/11(月) 14:11:00.34ID:???
idなりclassなりつけとけよ
htmlが不変ならいいけど
CMSとかでget0)とかで取るのはバグの原因
0226Name_Not_Found
垢版 |
2017/09/11(月) 15:57:36.80ID:???
>>221>>224
contents() まさにこれです!
ドンピシャです、contents() 凄い便利
長年悩んで来たことだったんで目から鱗です
ありがとうございました
0227Name_Not_Found
垢版 |
2017/09/11(月) 16:31:45.59ID:???
ほんと低レベルやな
せっかく助言があるのにね
0228Name_Not_Found
垢版 |
2017/09/11(月) 16:35:26.89ID:???
ええんやで
君も大概低いんやから
0229Name_Not_Found
垢版 |
2017/09/11(月) 17:52:06.06ID:???
同じプリミティブ型の値が与えられたら同じオブジェクトを返すようなことは可能?
typeof(MyObject(5)) === "object" と MyObject(5) === MyObject(5) のどちらもtrueになって欲しい
オブジェクトを一時的に保存しておくのは無しで
0230Name_Not_Found
垢版 |
2017/09/11(月) 18:24:25.17ID:???
保存しちゃダメならインスタンスが同一にならないから無理じゃね?
0232Name_Not_Found
垢版 |
2017/09/11(月) 19:24:43.63ID:???
>>229
そういうことをしたいがためにFlyweightパターンがある訳だが実装を制限するなら知らん
0233229
垢版 |
2017/09/11(月) 19:59:32.50ID:???
ユーザー名とデータを紐付けた上でWeakMapでキャッシュさせたかったのですが自前で実装することにします
ありがとうございました
0234Name_Not_Found
垢版 |
2017/09/11(月) 20:16:55.03ID:???
>>233
>>229で言ってるオブジェクトをWeakMapのキーにしたいのか?
だったらやめとけ
保存しない(変数に入れて持つこともしない)なら無理だ
それにWeakMap自体サポートしてるブラウザ少ないし、仕様固まってないからサポートしてても変更されるかもしれん
そんなもの使ったらトラブルのもとだぞ
0235Name_Not_Found
垢版 |
2017/09/11(月) 21:45:00.03ID:???
>>229
これってImmutable.jsでできんじゃないかな。
0236Name_Not_Found
垢版 |
2017/09/11(月) 22:18:46.09ID:???
いや、Immutableは内部で保持してる
>>229は「一時的に保存しておくのは無し」ってことなので保持しちゃダメ
なので不可能
0237Name_Not_Found
垢版 |
2017/09/11(月) 22:51:39.99ID:???
>>229
無理なんだが、その要件でなぜObject型が欲しいのかが謎
プリミティブ型とリファレンス型の違いを覚えた後に、設計から考え直した方がいい
0238216
垢版 |
2017/09/11(月) 23:06:23.39ID:???
https://jser.info/post/77696682011/es6-promises/
>then の返り値(*1)に対してもthen (next-then)で処理を追加することができる。
>next-then に設定されたコールバックは
>*1の値がsettles (succeeds/fails)になった時に呼ばれる

と言うことなので、
thenが生成するpromiseのコンストラクタには
thenに渡したonFulfilledとonRejectedをラップした関数が渡される
その関数は、親promiseのsettledな状態変化をコールバックで受け取ってから、
親promiseの変化に状態に即した処理を開始する
という感じでしょうか?
thenが生成するpromiseを、
単純にthenの引数でnewしただけのpromiseと思っていたので、
「???」となっていましたが、もう少し複雑なものなのでしょうね
0239Name_Not_Found
垢版 |
2017/09/12(火) 00:08:07.70ID:???
なんかPromiseで悩んでいるようだな?
話の流れを読まずに語るぞ

まず一番Promiseっぽくない使い方だな

function foo() {
 Promise.resolve(0)
  .then(function(zero) { return 1; })
  .then(function(one) { return 2; })
  .then(function(two) { return 3; })
  .then(function(three) { return 'end'; })
  .catch(function(e) { console.log(e) });
 console.log('start')
}

最初に実行されるのは start の部分だ。
なぜならPromise.resolveっていうのは内部で
setTimeoutを使っている・・・からだと思えばいい。

そして、Promise.resolve(0)をスタートに、
関数が上から順番に実行されていくわけだ。
戻り値は次の関数の引数になるぞ

ここで言いたいのは、上から順番にthenの中身が実行されていくということだけだ
0240Name_Not_Found
垢版 |
2017/09/12(火) 00:11:13.48ID:???
次にPromiseを使うが意味がない使い方の例を示すぞ

function foo() {
 Promise.resolve(0)
  .then(function(zero) { return Promise.resolve(1); })
  .then(function(one) { return Promise.resolve(2); })
  .then(function(two) { return Promise.resolve(3); })
  .then(function(three) { return Promise.resolve('end'); })
  .catch(function(e) { console.log(e) });
 console.log('start')
}

動きとしては一緒だ。だけど戻り値が単なる値ではなく
Promiseオブジェクトになったということだ。

これは>>239と全く同じ動きをする。
というよりthenが引数の関数を呼び出すだろ?
その戻り値がPromiseオブジェクト以外なら、
内部でPromise.resolveを実行して
Promiseオブジェクトに変換しているわけだ。
0241Name_Not_Found
垢版 |
2017/09/12(火) 00:16:36.00ID:???
次にもうちょっとマシな例を示すぞ

function foo() {
 Promise.resolve(0)
  .then(function(zero) { return new Promise(function(resolve, reject) { resolve(1) }; })
  .then(function(one) { return new Promise(function(resolve, reject) { resolve(2) }; })
  .then(function(two) { return new Promise(function(resolve, reject) { resolve(3) }; })
  .then(function(three) { return new Promise(function(resolve, reject) { resolve('end') }; })
  .catch(function(e) { console.log(e) });
 console.log('start')
}

>>240では関数が呼ばれたら、すぐにPromise.resolve()を
呼び出してPromiseオブジェクトを返していたが、
今回はnewでPromiseオブジェクトを返す例だ。

new されたPromiseオブジェクトは引数の関数を実行する。
引数の関数はすぐにresolveする。
これも全く同じ動きをする。
0242Name_Not_Found
垢版 |
2017/09/12(火) 00:21:07.20ID:???
では最後にクイズだ

function foo() {
 Promise.resolve(0)
  .then(function(zero) { return new Promise(function(resolve, reject) { }; })
  .then(function(one) { return new Promise(function(resolve, reject) { }; })
  .then(function(two) { return new Promise(function(resolve, reject) { }; })
  .then(function(three) { return new Promise(function(resolve, reject) { }; })
  .catch(function(e) { console.log(e) });
 console.log('start')
}

このようにしたらどうなるだろうか?


答は、エラーはでないが次に進むことはない処理になる。

.thenの引数の関数は、たしかにPromiseオブジェクトを返している。この関数自体は問題ない。
だが、そのPromiseオブジェクトはresolveもrejectも実行しないから
次に進むことはない。そこで止まってしまう。

逆にすぐにresolve()するのではなくsetTimeoutでも何でもいいが
何かの処理の後にresolve()するようにすれば・・・?

そう、非同期で実行される処理が終わってから
次に進むわけだよ。
0243Name_Not_Found
垢版 |
2017/09/12(火) 01:28:09.67ID:???
せっかく無料で公開してくれてんだからazuのpromiseの本でも読みなよ
0244Name_Not_Found
垢版 |
2017/09/13(水) 17:47:19.69ID:???
firebaseについて勉強中です
サーバーのアクセスに必要なパラメータがソースで丸見えになりますが
これを使って他人にデータをいじられる可能性はないのでしょうか?
0245Name_Not_Found
垢版 |
2017/09/13(水) 18:45:57.45ID:???
そのための認証システムだろ
0246Name_Not_Found
垢版 |
2017/09/13(水) 23:48:19.39ID:???
それはそうなんですが認証させる部分も丸見えなのが気になります
ソースをコピーして他のサイトを立ち上げたら、
そこからも普通にデータベースを操作出来てしまうような?
0247Name_Not_Found
垢版 |
2017/09/14(木) 00:05:50.11ID:???
>>246
やればいい
本当に知りたければセキュリティを本気で学ぶ必要がある

一応言っておくと、その観点は結構いい線いってる
しかし当然のようにその観点からの攻撃はちゃんと守られている
(下手なアップデートで攻撃され放題になることもある)

偉そうに言ってるけど、俺はその辺無理と思ってフレームワークに逃げた口だ
0248Name_Not_Found
垢版 |
2017/09/14(木) 00:34:20.03ID:???
>>246
認証してアクセス権が無ければ読み書き不可に出来るし
書き込みは可能だが変更は不可能にする事は出来るし
キーを知らなければアクセス出来ないようにも出来るし
あるキーをデータに含んでないと書き込めないようにも出来る

面倒ではあるがやりようによっては大体のことが出来るぞ
0249Name_Not_Found
垢版 |
2017/09/14(木) 10:12:37.24ID:???
>>247-248
対策の方法はあるんですね
ではこのまま勉強していきます
ありがとうございました
0250Name_Not_Found
垢版 |
2017/09/14(木) 11:15:08.75ID:???
function wait(ms){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve();
},ms);
});
}

wait(1000).then(()=>{
console.log('done');
});

こんな感じの指定した時間待つだけのPromiseを提供しているユーティリティーライブラリで
いいのがあれば教えて下さい
0251Name_Not_Found
垢版 |
2017/09/14(木) 12:55:39.96ID:???
君が書いたそれでいいじゃん
0253Name_Not_Found
垢版 |
2017/09/14(木) 22:06:22.47ID:???
>>250じゃないですが、setTimeoutではなく
setIntervalを使って定期的にPromiseが
発動するようなものはないですか?
0254Name_Not_Found
垢版 |
2017/09/14(木) 22:13:17.41ID:???
>>253
promise は根本から一度限りのイベント用にあるもの
setInterval じゃだめなのは何故?
0255Name_Not_Found
垢版 |
2017/09/14(木) 23:21:58.47ID:???
そういう用途ならEventEmitterでも使った方がいいんじゃない
0256Name_Not_Found
垢版 |
2017/09/15(金) 00:29:14.37ID:A42SYKF8
kanto.htmlの中で saitama.jsとchiba.jsとtokyo.jsとyamanashi.js を読み込んでるのだけど、

yamanashi.jsを外したいのだが、kanto.htmlのどの部分でyamanashi.jsを使ってるのか分からなくなってしまった。
どこの部分でyamanashi.jsを使ってるのか特定する方法はありますか?

Chromeなどのデバッグツールとか何でもよいので、何か方法があれば教えてください。
0257Name_Not_Found
垢版 |
2017/09/15(金) 01:28:44.94ID:???
>>251
ライブラリにあるものはライブラリを使った方が保守性が上がりますし
ライブラリの他の機能も視野に入ってくるのがいいです
>>252
ありがとうございます
見てみます
0259Name_Not_Found
垢版 |
2017/09/15(金) 04:04:55.93ID:???
>>256
デバッグして、yamanashi.js の中の、すべての関数に、break point を張って、
どこから呼ばれたか確かめる
0260Name_Not_Found
垢版 |
2017/09/15(金) 09:30:44.31ID:???
>>255
EventEmitterは2とか3とかあるようですが
どれを使うのが良いのでしょうか?
0261Name_Not_Found
垢版 |
2017/09/15(金) 11:14:12.84ID:???
>>257
ライブラリに機能を求めるというよりは
効率を求める意味で使用した方がいいよ
0262Name_Not_Found
垢版 |
2017/09/15(金) 11:41:07.60ID:???
>>260
機能の2と速度の3みたいな
あとはライブラリスレとかで聞いてね
0263Name_Not_Found
垢版 |
2017/09/15(金) 12:53:25.21ID:???
>>258
その頃はまだ実装されたばかりだし、Promiseのなんちゃってポリフィルと違って、
状態を外に見せないかつメモリリークを起こさないかつ継承可能にするため
内部的にWeakMapと同等のものを用いてるのと、継承可能やPromise Likeの受け入れとPromiseとの区別の処理なんかでどうしても簡素ななんちゃってPromiseよりは遅くなる可能性がある
0264Name_Not_Found
垢版 |
2017/09/15(金) 14:41:01.63ID:md1y6t7N
>>253

while()
0265Name_Not_Found
垢版 |
2017/09/15(金) 14:55:16.12ID:???
arrow関数式で
a => a+1
と式を書いた時にa+1が返ってくるのは分かりますが
a => a=a+1
と代入文を書いても、a+1が返ってくるのは何故でしょうか?
0266Name_Not_Found
垢版 |
2017/09/15(金) 15:32:31.45ID:???
最後に評価したものをreturnとするから
この場合はaに代入した値がa+1だから
0268Name_Not_Found
垢版 |
2017/09/15(金) 17:09:54.73ID:???
クライアントサイドで、JavaScriptのみでSMTP使ってメール送信できますかね?
情報が古いのですが、ActiveXかなんか使ってIEなら出来るようですが、
ChromeとかFirefoxとかでも可能な、普通のJavaScriptのAPIがあればそれでやりたいです。
SMTPサーバを指定して、ログインIDやパスワード入れて使うのを想定してます。
どう考えてもセキュリティ上厳しいような気はしますが。
サーバサイドでやると、どうしてもリクエストが多くなるため、
スパマー扱いされて、サーバのIPがSMTPサーバに拒否されるおそれがあるので、
各クライアントで送信するようしたいです。
0270Name_Not_Found
垢版 |
2017/09/15(金) 18:39:07.05ID:???
>>266-267
ありがとうございます
言われてみればそうですね
値を返すので、JavaScriptの代入は文ではなく式ということになるのでしょう
=を代入演算子と呼んでますし
0272Name_Not_Found
垢版 |
2017/09/15(金) 19:04:04.73ID:???
Storybookを使ってreact componentを作ってるんですが
ダミーデータとして文字列とか適当に毎回入力するのが面倒なんですが
ダミーデータ自動生成ライブラリってないですかね?
0273Name_Not_Found
垢版 |
2017/09/15(金) 19:11:33.28ID:???
>>272
自己レスです faker.jsってありましたね。
0274Name_Not_Found
垢版 |
2017/09/15(金) 19:46:38.00ID:???
>>268
この辺とか
ttp://artemyankov.com/tcp-client-for-browsers/
0276Name_Not_Found
垢版 |
2017/09/16(土) 12:26:38.13ID:???
firebaseはオフラインになっていても後から同期してくれるのがメリットですが
この機能に任せられるのって、
編集がバッティングする可能性がない場合だけですよね?
チャットアプリなんかは、ただ追加しあうだけなので問題になりませんが
同じアイテムを同時に編集できる場合や
階層構造を変更できる場合、
時間差同期によってデータが不整合をおこして恒久的に破壊されかねないと思います
そういうことはトランザクションを使えば避けられるのではないかと思いますが
そうなると使えるのはオンラインの時だけになりますか?
0277Name_Not_Found
垢版 |
2017/09/16(土) 12:28:34.86ID:???
>>275
なるほど
宣言代入はそういう挙動をするんですね
考えたことなかったです
ありがとうございます
0278Name_Not_Found
垢版 |
2017/09/17(日) 10:24:46.35ID:J64I4/e3
ttp://qiita.com/Layzie/items/465e715dae14e2f601de
これありますけどnew Stringで作られたのは文字列じゃないんだから
typeofで型チェックしても問題ないと思いますけど違いますか?

const a = 'a';
const b = new String('a');
console.log(a == b); // true
console.log(a === b); // false
console.log(a); // a
console.log(b); // [String: 'a']
console.log(typeof a); // string
console.log(typeof b); // object
0280Name_Not_Found
垢版 |
2017/09/17(日) 12:04:27.13ID:???
>>278
それは、他の言語だとそれは当然のようにstringのはずので、その感覚とずれるというお話なのだ
ちなみにjsはいろんなところで型が他の言語とずれていて、型チェックが妙に難しくなっている

もしjs以外使ったこと無いなら
>これありますけどnew Stringで作られたのは文字列じゃないんだから
>typeofで型チェックしても問題ないと思いますけど違いますか?
これ以外に言いようはないと思うし、それはそれで良いことだと思う
ただjsの型は他言語とは大きく違うということは覚えておいたほうが良い
0281Name_Not_Found
垢版 |
2017/09/17(日) 12:12:51.17ID:???
> ちなみにjsはいろんなところで型が他の言語とずれていて、型チェックが妙に難しくなっている

他の言語とはなに?
どのように難しいの?
0282Name_Not_Found
垢版 |
2017/09/17(日) 12:31:17.69ID:???
>>281
一般的に使用者の多いvba、webで親和性が高くあってほしいはずのphpで比較してみる。cも昔使ってたけど型の詳細忘れた、スマン
javaは詳しくないので知らん

配列。普通arrayだけど、jsはobject。何の配列でもobjectになる。objectの配列もobject。これが大体一番厄介なパターン。
まぁそれはlengthで分かるけど、とにかくnullがやばい。jsではundefindで名前が違うだけかと思えば、そうでもない。nullも存在する
未定義はundefind //了解
domで該当なしがnull //はい
var undefind=1; //!?!?!?!!?
console.log(undefind); //!?!?!?!!?
http://tokidoki-web.com/2014/12/javascript%E3%81%AEnull%E3%81%A8undefined%E3%81%AE%E5%8C%BA%E5%88%A5%E3%81%A8%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%82%84%E3%82%93%E3%82%88/
http://d.hatena.ne.jp/mindcat/20100512/1273683917
http://qiita.com/jkr_2255/items/cfce9b4419d5de32ba2b

色々といったけど、objectとundifendだけだったね。まぁこの2つはマジでやばいってことだけ覚えておいてほしい
0283Name_Not_Found
垢版 |
2017/09/17(日) 12:37:32.17ID:???
vbaとphpが特殊なだけでは?

Cだったらどうなる?
0284Name_Not_Found
垢版 |
2017/09/17(日) 12:46:36.14ID:???
>>283
特殊といえば言語は全部特殊。言語にはそれぞれ特徴がある。もし特徴がなければ別言語で良くね、になる
使用者の多いvba、phpはデファクトスタンダードとはいえなくとも、感覚的な基準にはなっている

ただ知る限り、未定義であるundefindに代入できる言語は存在しない
0285Name_Not_Found
垢版 |
2017/09/17(日) 12:49:20.55ID:???
代入できなくなったから、普通の言語になったってことだね
0286Name_Not_Found
垢版 |
2017/09/17(日) 12:54:11.11ID:???
今コンソールでやったら普通にできたんだが
0287Name_Not_Found
垢版 |
2017/09/17(日) 12:59:10.82ID:???
古いモードで動いてんだろw
0288Name_Not_Found
垢版 |
2017/09/17(日) 13:26:29.20ID:???
>>287
さぁ?
chrome+google.co.jpで試したけど
undefined=1
1
だとさ
0290Name_Not_Found
垢版 |
2017/09/17(日) 13:46:30.47ID:???
console.log(undefined=1) //1
console.log(undefined) //undefined

こういう話じゃないの?
0291Name_Not_Found
垢版 |
2017/09/17(日) 13:54:28.79ID:???
>>290
あぁごめん、そういうことだった
代入はできるけど取得はできないのか
な、なんだこれ…
0292Name_Not_Found
垢版 |
2017/09/17(日) 15:53:59.45ID:ca9PTnIh
'cloneNode' in document // true
document.hasOwnProperty('cloneNode') // false
どうしてですか?
0293Name_Not_Found
垢版 |
2017/09/17(日) 16:16:33.22ID:???
cloneNodeはdocumentではなくNodeの持つプロパティであって
hasOwnPropertyは継承元まで遡らないからだよ
0294Name_Not_Found
垢版 |
2017/09/17(日) 16:37:08.53ID:???
横だけど、以下もfalseになる。なんでだー(モヤモヤァッ
Object.hasOwnProperty(Node,'cloneNode')
false
0295Name_Not_Found
垢版 |
2017/09/17(日) 16:40:01.79ID:ca9PTnIh
なるほどそういうことでしたか
ありがとうございました
0296Name_Not_Found
垢版 |
2017/09/17(日) 16:46:28.97ID:ca9PTnIh
もう一つ質問させてください
"SVGAnimatedAngle" in window // true
window.hasOwnProperty("SVGAnimatedAngle") // true
なのに
for (let i in window)console.log(i)

Object.keys(window)に
SVGAnimatedAngleが含まれない出力されないのは何ででしょうか?
0297Name_Not_Found
垢版 |
2017/09/17(日) 17:10:54.98ID:???
"use strict"; undefined = 1; // error!

はい
0298Name_Not_Found
垢版 |
2017/09/17(日) 18:30:07.79ID:???
>>291
違う
代入はできていないけど、
式の返り値は当然右辺の物を返す

例えばobj.setというセッターが合ったとして、
a = obj.set = 1 というのがあったら
obj.setの状態と関係なくaは1になるのが自然でしょ、
つまりx = yの式は例外が起きない限り必ずyを返す
0299Name_Not_Found
垢版 |
2017/09/17(日) 18:34:38.56ID:???
>>294
使い方が間違っている
Node.prototype.hasOwnProperty('cloneNode')
0300Name_Not_Found
垢版 |
2017/09/17(日) 18:36:50.50ID:???
>>296
列挙不可に設定されているから
Object.getOwnPropertyDescriptor(window,'SVGAnimatedAngle').enumerable //false
0301Name_Not_Found
垢版 |
2017/09/17(日) 19:13:20.84ID:???
>>300
なるほどそうことでしたか
列挙可と列挙不可の両方取得する方法ってないですかね?
0302Name_Not_Found
垢版 |
2017/09/17(日) 19:20:19.09ID:???
Object.getOwnPropertyNames(target)

Object.getOwnPropertyNames(target.__proto__)

Object.getOwnPropertyNames(target.__proto__.__proto__)
0303Name_Not_Found
垢版 |
2017/09/18(月) 02:23:29.72ID:???
>>278
>new String('a');

まぎらわしいから、なるべく、文字列リテラルを使う
0304Name_Not_Found
垢版 |
2017/09/18(月) 10:17:03.11ID:w1pO6IcM
悪の自民党に絶対投票しないように。 

http://www.data-max.co.jp/280113_ymh_02/

↑ 自民改正案の真の狙いは言論の自由を奪うこと!

http://blog.goo.ne.jp/kimito39/e/ec37220f64a8e1d6ed732dd0ab95cbf0

↑超危険な緊急事態条項で人権無視の内閣独裁に!

https://www.youtube.com/watch?v=h9x2n5CKhn8

↑ 自民党は 国民に基本的人権はないと断言!

http://xn--nyqy26a13k.jp/archives/31687

↑ 小池都知事も安倍と同じく 憲法改正で 人権
無視の大日本帝国憲法に戻す民主主義破壊論者!

http://www.mdsweb.jp/doc/1488/1488_03f.html

↑”9条自衛隊明記”は 9条無効化だった!

http://blog.goo.ne.jp/ngc2497/e/8899f65988fe0f35496934dc972e2489

↑ ネトウヨ= 安倍サポーター工作員はネットで国民を騙す。

https://dot.asahi.com/aera/2016071100108.html?page=3
http://blog.goo.ne.jp/kimito39/e/c0dd73d58121b6446cf4165c96ebb674

↑ 安倍自民を操るカルト右翼「日本会議」は国民主権否定。
国民投票や選挙では自民党、維新、小池新党に絶対に入れるな。
0305Name_Not_Found
垢版 |
2017/09/19(火) 00:12:46.04ID:???
jqueryで
複数の対象に同じイベントリスナーを付けるにはどうすればいいですか?
0306Name_Not_Found
垢版 |
2017/09/19(火) 00:25:05.57ID:???
$関数の引き数に、複数の対象にマッチするセレクタを書けばいいだけ

jQueryはそもそも複数の対象に同じイベントリスナーをつけるもの。
対象が1個しかないとか、まったくない(0個)の場合もあるけれど、
それはたまたまそうなっただけで、コード的には複数の対象に
マッチしたと仮定して書くのが良い。
0307Name_Not_Found
垢版 |
2017/09/19(火) 00:35:45.88ID:???
ありがとうございます
クラスを設定してonしました
0308Name_Not_Found
垢版 |
2017/09/19(火) 12:52:14.09ID:???
フレームワークとか使うとwindowオブジェクトが汚されてしまうんですが
汚された後から汚されてないwindowオブジェクトを取得する方法を教えてください
0309Name_Not_Found
垢版 |
2017/09/19(火) 14:40:42.03ID:0Cp4Rl+n
何のためにかによって方法は変わってくるが
iframeのcontentWindowを取ればいい
0310Name_Not_Found
垢版 |
2017/09/20(水) 10:10:10.77ID:???
virtual domっていうのは
const a = [
1,
2,
];
const e = [
document.createElement('div'),
document.createElement('div'),
];
e.textContent = a[0];
e.textContent = a[1];
document.body.appendChild(e);
というコードを用意して
何らかの形でa[1]を更新したらe[1]のtextContentを書き換えるって理解でいいですか?

reactが重いのはデータ毎にDOMをメモリに記録してるからですかね?
0311Name_Not_Found
垢版 |
2017/09/20(水) 10:50:56.91ID:???
同じディレクトリにあるjsonファイルを
JavaScriptから読み込むにはどうすればいいのでしょうか?
0314Name_Not_Found
垢版 |
2017/09/20(水) 15:10:39.10ID:???
>>310
そんな単純ではない
多くの場合DOMと1:1で対応する様な独自ツリーを持っていて
その変更がある程度たまった時点で
必要最低限の変更をDOMに反映させることで
抽象化と同時にパフォーマンスを確保している

それが重いというのは使い方が間違っているか、
使い所が間違っているだけ
0315Name_Not_Found
垢版 |
2017/09/21(木) 13:35:51.86ID:???
(() => {
'use strict';

let i = 1;
const f = () => {
let i = 2; // Error - 'i' is already declared in the upper scope. (no-shadow)
i = 22;
console.log(i);
};

i = 11;
f();
console.log(i);
})();

eslintでチェックすると6行目でError - 'i' is already declared in the upper scope. (no-shadow)
が出るんですがこれはダメな書き方なんでしょうか?
0316Name_Not_Found
垢版 |
2017/09/21(木) 13:40:50.16ID:???
jQuery みたいに、一々、DOM にアクセスしないから速い。
一々、DOM から、CSS クラスの状態を取得して、コーディングしなくてもよい

ただし、速いと言うことは、メモリを大量に使う。
ブラウザの状態を、自分のメモリ内に持つため

常に、速さ・メモリ使用量は、反比例する
0317Name_Not_Found
垢版 |
2017/09/21(木) 13:45:57.08ID:???
>>315
それは、そういうルールなんだろ

eslint のルール一覧表でも見れば?
自分で、好きなルールも設定できるだろうし

君や会社・使うツール、次第
0318Name_Not_Found
垢版 |
2017/09/21(木) 13:49:33.28ID:???
メモリ1GBの環境でreact使われているサイト開くと重い
特にqiitaのトップページ
0319Name_Not_Found
垢版 |
2017/09/21(木) 14:12:29.58ID:???
>>315
文法的に問題はないが、例えばlet i = 2; を記述し忘れたとしても動いてしまって二回22が出力されてしまうだろ?
そういった事を防ぐために同じ変数を使わないようにしようって事
オプションで文法的に間違いではないならエラー出ないようにも出来るし全部許可してしまうことも出来る
0320Name_Not_Found
垢版 |
2017/09/21(木) 21:51:32.14ID:???
指定した要素の文字列を選択状態にするにはどうしたらいいですか?
フォーム部品はjqueryでselect()すればいいですが
普通のdivの中の文字列を選択したいです
0321Name_Not_Found
垢版 |
2017/09/21(木) 22:12:12.47ID:???
>>320
createRange()でレンジを作って
selectNodeContents()にdivを放り込んでレンジの範囲を決めて
getSelection()でセレクションオブジェクト作って
addRange()でさっき作ったレンジをどーん!
0322Name_Not_Found
垢版 |
2017/09/21(木) 23:16:12.95ID:???
>>316
DOM操作をしないから速いと言ったほうが正確だろ
DOM操作をするのはjQueryだけではない
通常のブラウザのDOM APIを使ってもDOM操作になる。

>>310
一般的にブラウザのDOM APIというのは遅い。(jQuery関係なく)
もちろんReactでも最終的にはブラウザのDOM APIを呼び出すのだが、
ブラウザのDOM APIは遅いので必要最小限の呼び出し回数になるようになっている。
というのは内部の仕組み


ブラウザのDOM APIは知っての通り機能貧弱でデータバインディングなどの機能がない。
また仕様が決まってるから、拡張することもできない。
Virtual DOMを使うことで、ブラウザのDOMの制限に縛られない
独自機能のDOMを作ることができる。イベントハンドラの拡張や
データバインディングなどの機能も組み混むことができる。
データ的にはJavaScriptのデータだからブラウザ無くてもVirtual DOMを使うことができるし
ブラウザいらないのでテストも容易になる。

だけどVirtual DOMの段階ではただのデータなのでそれをブラウザのDOMに反映する必要がある。
その時、ブラウザの表示内容を全部クリアして遅いDOM APIを使ってレンダリングするのは遅くなるから
差分だけを反映させましょう。というのが内部の仕組み

だけどDOM APIは遅いが、そんなにDOM APIの呼び出し回数が多くないようなサイトの場合は
速いというより遅くならない仕組みと言っても言いすぎじゃないと思う(ただしメモリは食うから重くなる)

Virtual DOMを使うということはブラウザのDOM APIを使わないということだから学習コストは高い。
これからは、そもそもDOM APIを呼び出す必要がないサイトはjQuery
学習コストを払ってもReact(や他フレームワーク)を使う理由があればフレームワークの
二極化になると思う。どちらにしろDOM APIを直接呼びだす時代は終わったかな。
0323Name_Not_Found
垢版 |
2017/09/21(木) 23:23:15.22ID:???
Virtual DOMでもDOM API使っているのでは?
Virtual DOMというのはライブラリであってそういう仕様があるわけじゃないでしょ
0325Name_Not_Found
垢版 |
2017/09/21(木) 23:51:52.84ID:???
> Virtual DOMを使うということはブラウザのDOM APIを使わないということだから学習コストは高い。

この部分はプログラマがという意味

プログラマがReactなどを使ってVirtual DOMを使うということは
ブラウザのDOM APIを使ったプログラミングをしないということである。

要はReactなどを使えば document.getElementById とか
使わなくなるってことよ。
0327Name_Not_Found
垢版 |
2017/09/22(金) 06:44:47.07ID:???
select要素の選択アイテムをjqueryで変更し、
設定しておいたonchangeイベントを発火させるにはどうすればいいのでしょうか?
0329Name_Not_Found
垢版 |
2017/09/22(金) 07:43:21.97ID:???
Reactの内部の仕様はともかく自作のタグが作れる感覚は楽しい。
どっちかというとreduxの理解のほうが学習コスト高め。
0330Name_Not_Found
垢版 |
2017/09/22(金) 08:13:03.10ID:???
自作のタグなんてstylesheet書くだけでいいんやで
0333Name_Not_Found
垢版 |
2017/09/22(金) 14:52:22.14ID:???
google保守大変そうだな
元ソースも相当汚いだろあれ
0334Name_Not_Found
垢版 |
2017/09/22(金) 17:27:26.43ID:???
Workletも揃い始めてきたし、メニーコアの時代はまだ遠いけど
ゆくゆくは要素毎にレイアウトとペイントを数十のコアで分担するようになるだろうな
だから今の仮想DOMフレームワークにしても、そこのところ混み合っていないものを選んで慣れておいたほうが良い
0335Name_Not_Found
垢版 |
2017/09/22(金) 18:45:00.07ID:???
vueとかreactってShadow DOMを使ってるわけじゃないんですね
0336Name_Not_Found
垢版 |
2017/09/22(金) 20:29:40.08ID:???
Shadow DOMは例えば配布するようなコンポーネントを作る際
使われる環境のCSSなど変に影響されることを防ごうという趣旨のものだからね
HTMLを部品として扱う際のカプセル化の方法だから
0337Name_Not_Found
垢版 |
2017/09/23(土) 03:08:19.72ID:???
>>334
> ゆくゆくは要素毎にレイアウトとペイントを数十のコアで分担するようになるだろうな
要素毎に何の処理をしてるっていうんだい?
要素なんて殆どは動きが何もないただの絵だろう?
0338Name_Not_Found
垢版 |
2017/09/23(土) 12:47:58.05ID:???
let a = 100;
let a = 200;
だとエラーになるのに
let a = 100;
if (1){
let a = 200;
}
だとエラーにならないのは何故ですか?
0340Name_Not_Found
垢版 |
2017/09/23(土) 15:32:48.75ID:???
letはブロックスコープになるものだったのですね
ありがとうございました
0341Name_Not_Found
垢版 |
2017/09/23(土) 17:03:37.40ID:???
mdnみるとfirefoxはshadow domに対応してないって書いてあるけど
何で対応してないの?
0343Name_Not_Found
垢版 |
2017/09/24(日) 12:34:26.95ID:???
>>342
理由次第では、発展するかもしれないですね。
だから理由を聞いてるのよ?
0344Name_Not_Found
垢版 |
2017/09/24(日) 17:14:32.84ID:???
>>343
あなたが発展にどう貢献するのか、見えてこないんだけどな
「FirefoxがShadow DOMを実装することは当分なさそうなので覚えるのは止めます」とかでないことを祈るよ

理由は中の人以外に知りようがないので、下記URLで問い合わせるか、フォーラムの情報を探してみるといいと思うよ
https://www.mozilla.org/en-US/contact/
0345Name_Not_Found
垢版 |
2017/09/24(日) 17:16:59.46ID:???
単にそこまで手が回らないから
やろうとはしてる
https://bugzilla.mozilla.org/show_bug.cgi?id=1205323

今のMozillaをかつてのWebの発展させてきた存在と同一視しちゃだめ
Firefox OS始めたり、ブラウザのバージョニング間隔を変更したりしてた頃は絶好調だったし、asm.jsの頃まではまだ良かった。
その頃はまだ新機能試そうと思えば、ChとFx両方使う必要があって、しかも少しFxの方が比率が高かった

でも今のMozillaやFxは新標準についていくのが精一杯で完全に後手後手に回ってる状態
Web APIじゃなくてESだけでみてもそうなんだから、落ちぶれようが分かる
0346Name_Not_Found
垢版 |
2017/09/24(日) 17:54:29.80ID:???
Web Components v1は一応主要ブラウザーベンダーの合意が取れてるので、実装速度に違いはあるけど全部対応されるはず。待つしかない
0347Name_Not_Found
垢版 |
2017/09/24(日) 19:09:28.37ID:???
>>344
「知りません。中の人に聞いてください」って
言うだけなのに、なんでそんなにお前えらそうなんだ?
0348Name_Not_Found
垢版 |
2017/09/25(月) 10:23:50.03ID:???
対してスキルがないやつほど中身が薄っぺらで偉そうの法則
0350Name_Not_Found
垢版 |
2017/09/26(火) 09:28:52.74ID:???
Codecademyの読み方はコーデカデミーで合っていますか?
0351Name_Not_Found
垢版 |
2017/09/26(火) 23:09:43.28ID:???
コードアカデミーでいい
0353Name_Not_Found
垢版 |
2017/09/27(水) 15:09:19.50ID:DDiRRlwb
javascriptで動的に追加したliを「クリックしたら削除」したく検索したら下のコードが引用できそうだと思ったのですが
これをネイティブjavascriptでどう書いたらいいかわからないので教えてほしいです
$('body').on('click', '#list li', function(e){
処理;
});
0354Name_Not_Found
垢版 |
2017/09/27(水) 15:25:42.77ID:???
>>353
document.querySelectorAll('#list li').addEventListener('click', function { 処理 }, false);
0355Name_Not_Found
垢版 |
2017/09/27(水) 15:36:21.86ID:???
attachEventのことも思い出してあげて下さい
0356Name_Not_Found
垢版 |
2017/09/27(水) 15:53:22.10ID:DDiRRlwb
>>354
メモしておきます!ありがとうございます
0357Name_Not_Found
垢版 |
2017/09/28(木) 02:45:45.27ID:???
addEventListenerやxhrの第三引数指定する人ってどう言う考えしてるんだろう?
特にaddのは関数定義の後に記述する事にもなりがちだし不格好なだけと思うけど。
0358Name_Not_Found
垢版 |
2017/09/28(木) 06:27:15.11ID:???
useCapture Optional
捕捉フェーズを使用する場合は、 useCapture に true を指定します。
捕捉フェーズの開始後、指定されたタイプのイベントの全てが、まず、登録された listener に発送され、
その後、DOM ツリーにおいてその下に位置する任意の EventTarget に発送 されます。
ツリーをたどって上方へ浮上するイベントは、捕捉フェーズを用いるように指定されたリスナーを誘発することはありません。
詳細については、DOM Level 3 Events を参照してください。
この引数は、全てのブラウザで省略可能ではないことに注意してください。省略した場合、 useCapture は false となります。
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0359Name_Not_Found
垢版 |
2017/09/28(木) 06:29:41.76ID:???
めっちゃズレてる
俺にはAAを作る才能がない
0360Name_Not_Found
垢版 |
2017/09/28(木) 06:32:05.46ID:???
ツールを使うんだよ
じゃないと絶対にずれるぞ
0361Name_Not_Found
垢版 |
2017/09/28(木) 06:44:56.51ID:???
>特にaddのは関数定義の後に記述する事にもなりがちだし不格好なだけと思うけど。
そもそもコールバック自体が不恰好であってこの感性は理解できない
0362Name_Not_Found
垢版 |
2017/09/28(木) 15:34:50.97ID:+lEbfk45
fancybox3のパーツを実走することなく本家のリンクのみで動かしてる場合に、
全画面中の透明なし、背景色の指定、はできないでしょうか?どなた教えてください。
<script type="text/javascript">
$("[data-fancybox]").fancybox({
オプション
});
0363Name_Not_Found
垢版 |
2017/09/28(木) 17:11:24.30ID:???
{a:1, b: 2} のようなリテラルで
prototype のない object( Object.create(null) )を作る方法はないですか?
0364Name_Not_Found
垢版 |
2017/09/28(木) 18:05:53.50ID:???
空を作った後にコピーすれば良いじゃん
var object = o => Object.assign(Object.create(null), o);
object({a:1, b: 2});
0365Name_Not_Found
垢版 |
2017/09/28(木) 19:16:58.32ID:???
>>364
>Object.assign

知らなかった! ありがとう
0366Name_Not_Found
垢版 |
2017/09/28(木) 20:52:12.37ID:???
リテラルなら__proto__:null,を含めれば良いだけだけどな
0367Name_Not_Found
垢版 |
2017/09/30(土) 05:31:35.62ID:Jh7Gg5Po
__proto__も知らない奴がassignも知らない奴に教えるスレ
もはや世紀末
0369Name_Not_Found
垢版 |
2017/09/30(土) 08:37:49.21ID:???
ボタン1を押すとボタン2が出てきてボタン2を押すとボタン3が出てくる
という処理をinnerHTMLとaddEventListnerでやろうとしているのですが
ボタン2を押してもボタン3が出てきてくれなくて困っています

innerHTMLで出力したものがイベントターゲットになっていないからだと思うのですが、どうすれば解決できるでしょうか?
プログラムを書くのが初めてなので初歩的な質問だと思いますが、よろしくお願いします
0371Name_Not_Found
垢版 |
2017/09/30(土) 10:45:15.58ID:???
innerHTMLしたあとにaddEventListenerすればいいかと
むしろまだ存在していない(innerHTML前)要素にどうやってaddEventListenerしようとしたのか
0372Name_Not_Found
垢版 |
2017/09/30(土) 11:03:20.44ID:???
>>369
ボタンの一つ上の要素にaddEventListenerしevent.targetでクリックされた要素を取得し判別する
0373Name_Not_Found
垢版 |
2017/09/30(土) 11:12:04.64ID:???
clickイベントはwindowに対して1つだけでいい
あとはevent.targetで振り分け
というかボタン2とボタン3は元々ある状態にしておいて
スタイルのdisplay:noneをdisplay:blockなりに変更するだけでいいのでは
0374Name_Not_Found
垢版 |
2017/09/30(土) 11:21:48.45ID:???
>>369
要素が存在しない時にイベントを与えているからだろうなw
その辺りをチェック
0375Name_Not_Found
垢版 |
2017/09/30(土) 11:23:28.70ID:???
>>369
プログラムだけではないが、
HTML + CSS + JavaScriptの世界では
見た目はCSSで制御する

最初にボタンを3つ書く
<input class="btn" type="button" value="button1" >
<input class="btn" type="button" value="button2">
<input class="btn" type="button" value="button3">

見た目をCSSで制御(最初のボタン以外は非表示)にする
.btn + .btn {
 display: none;
}
.btn.clicked + .btn {
 display: inline;
}

ボタンが押されたら押されたいう情報(クラス)を自分自身に設定する
(JavaScriptはjQueryを使えば簡単に書ける)
$(document).on('click', '.btn', function() {
 $(this).addClass('clicked');
});

実行サンプル https://jsfiddle.net/qz5fLy9y/

ちなみに押したら押されたという状態になって、その後変わらないものは
ラジオボタンを単独で用いれば表現できる。あとは見た目をCSSでボタン風にするだけ
つまりJavaScriptなしでもできるぞ
https://jsfiddle.net/qz5fLy9y/1/
0376Name_Not_Found
垢版 |
2017/09/30(土) 11:28:22.02ID:???
addEventListenerではなくaddEventListnerしてるというオチに期待
エラーも見てないな
0377Name_Not_Found
垢版 |
2017/09/30(土) 16:52:56.13ID:???
皆さんありがとうございます!
cssで隠しておくのと親要素から取得するの2つともで希望の動きができました
皆さんめっちゃ心強いです(*´ω`*)
0378Name_Not_Found
垢版 |
2017/09/30(土) 22:09:41.31ID:???
サンプルまで作ってもらって本当に感謝です
HTMLとCSSだけでもここまで動かせるなんて知りませんでした(;´Д`)

ちゅーかjsfiddleってサイト便利ですね
私が作ってる程度のものならatomよりこっちのが使い勝手いいかも(??????)??
0379Name_Not_Found
垢版 |
2017/09/30(土) 22:25:37.59ID:???
いやさすがにatomのほうがいいだろう
0380Name_Not_Found
垢版 |
2017/09/30(土) 22:50:11.40ID:???
jsdo.it で、HTML, CSS だけで、

ワニワニパニックを作った人を知らんのか?w
0382Name_Not_Found
垢版 |
2017/10/01(日) 05:23:08.09ID:???
HTML5ムーブメントを語る上で避けては通れない
CSSプログラミングを知らないとか教養がないと言われてもしようがないな

昔っからこのスレは知ったかが多かったが
今では知ったかもできないほんまもんの無知ばかりやな
0384Name_Not_Found
垢版 |
2017/10/01(日) 07:22:12.84ID:???
んなもん知っとるわ
あのお粗末なワニワニパニックを話に出したレベルの低さに対しての反応だろ
もっと教養を身につけた方がいいぞ
0385Name_Not_Found
垢版 |
2017/10/01(日) 07:37:56.46ID:???
何が「知らんのか?w」だよ。
聞いてもねーのに糞しょうもない知識を自慢したいだけの馬鹿は黙ってろよ。
0386Name_Not_Found
垢版 |
2017/10/01(日) 11:46:54.28ID:???
こいつ通勤中の赤信号にもいちいちキレてそうな奴だな
0387Name_Not_Found
垢版 |
2017/10/01(日) 12:21:50.46ID:???
windows版のchrome(バージョンは最新)で
SpeechSynthesisUtteranceの
rateを上げたら、再生出来ないばかりか、
ブラウザを再起動しないとその後再生できなくなる現象が出ています
自分だけでしょうか?
仕様によるとrateの最大値は10なので値は仕様の範囲内のはずなのですが
3にするとおかしくなります

(再生可能)
https://jsbin.com/wuteqewavo/edit?js,console

(rate=3、その後再生不可能)
https://jsbin.com/viriritali/edit?js,console
0388Name_Not_Found
垢版 |
2017/10/01(日) 15:31:11.57ID:???
>>387
自分もちょこちょこ試してるけど1年前からそんな感じだよ
そのAPIはセンシティブで上手くいくかはタイミングなんかにも影響する
OSやデバイスのシステムを借りててブラウザだけで完結してる範囲が少ないから
仕方がないのかもしれない
それでも最近は随分マシになった方
最初の頃はまともに動く確率のほうが低かった
0389Name_Not_Found
垢版 |
2017/10/01(日) 18:31:33.47ID:j9qs3OVI
[ [1, 'c'], [2, 'a'], [3, 'b'], [4, 'a'], [5, 'c'] ]から重複を除いた abc だけを取り出すにはどうすればいいでしょうか?
0390Name_Not_Found
垢版 |
2017/10/01(日) 18:41:35.20ID:???
1,2,3,4,5の数字のほうはどうでもいいのか?
0392Name_Not_Found
垢版 |
2017/10/01(日) 20:02:40.81ID:???
nativeでも良いじゃん
list.map(a => a[1]).filter((v, i, arr) => arr.indexOf(v)==i)
Array.from(new Set(list.map(a => a[1])))
0393Name_Not_Found
垢版 |
2017/10/02(月) 01:18:17.91ID:???
ぶっちゃけこれだけのためにlodash丸ごと使うことは絶対にありえない
その内部実装の関数1つだけ借りてくることはあっても
0394Name_Not_Found
垢版 |
2017/10/02(月) 01:29:12.77ID:???
そういう時に使いたいのが、これ、custom build
お客さんの要望に応じて必要な分だけをチョイスできる
オトクなパッケージ
https://lodash.com/custom-builds
0396Name_Not_Found
垢版 |
2017/10/02(月) 02:27:26.24ID:???
配列の中のオブジェクトの中のプロパティ値の最大値をMath.max.applyで呼び出す書き方をご教授くださいm(_ _)m

配列はこんな感じです
var scoring=[
{'male':[1,0,0,0],'female':[10,5,3,0]},
{'male':[2,5,3,0],'female':[10,5,3,0]},
{'male':[0,0,0,0],'female':[10,5,3,0]}
];
0397Name_Not_Found
垢版 |
2017/10/02(月) 02:44:58.36ID:???
>>396
> Math.max.applyで呼び出す
ってのが意味わからん。

スコアの配列を最大値に置き換えれば良いんか?
つまりこういうことか?

https://jsfiddle.net/a1p11fLt/

var scoring=[
{'male':[1,0,0,0],'female':[10,5,3,0]},
{'male':[2,5,3,0],'female':[10,5,3,0]},
{'male':[0,0,0,0],'female':[10,5,3,0]}
];

var s = _.map(scoring, row => _.mapValues(row, (v,k) => _.max(v)))
console.table(s)
0400Name_Not_Found
垢版 |
2017/10/02(月) 03:09:15.07ID:???
>>398
大変申し訳無いです、質問の内容に不足がありました(;´Д`)

上記の配列から変数を使って特定の値を呼び出し、それが所属する配列の中の最大値かどうかの判定をしたいのです。
変数を使って値を呼び出すところまではできています。
例えば2列目maleの3を呼び出した時、それは[2,5,3,0]の中で最大かどうか?を判定するために、最大値である5を取得したいです。
よろしくおねがいします。

それから初心者すぎて_.mapとかその他もろもろの表現が初見で頭が沸騰してしまってます。
せっかく書いていただいたのに申し訳ないですm(_ _)m
0401Name_Not_Found
垢版 |
2017/10/02(月) 04:39:41.64ID:???
>>400
ary = scoring[num][sex] と置けば
num = 1, sex = 'male' のとき
ary が [2,5,3,0] になる
その内最大を得るには
max = Math.max.apply(Math,ary) もしくは
max = Math.max(...ary)
0402Name_Not_Found
垢版 |
2017/10/02(月) 05:06:28.79ID:???
>>401
できました!
ありがとうございます(*´ω`*)
0403Name_Not_Found
垢版 |
2017/10/02(月) 05:09:31.96ID:???
>>394
そういう問題じゃ無いんだよね
3種類10箇所とかなら分かるけど、ただ一つ_を使うのは変だし
それだけのためにライブラリ管理コストかけるのもね
キリも無くなるし
既に利用してる可能性が結構あるjQueryは分かるけど、
_は単発の質問にはそぐわないね
0404Name_Not_Found
垢版 |
2017/10/02(月) 07:13:25.90ID:???
>>395
コードが短いのはいいことだけども速さ求めるなら
おとなしくforと連想配列でやったらはやいんちゃう
0405Name_Not_Found
垢版 |
2017/10/02(月) 08:51:22.77ID:???
>>388
まだ不安定なんですね
ありがとうございました
0406Name_Not_Found
垢版 |
2017/10/02(月) 08:57:49.91ID:???
JSONのデータ構造を変えてから
$.getJSONで取ったデータがおかしくなるという問題に悩まされていましたが
原因はキャッシュでした
GETは通常、パラメータが同じ場合に同じものが返ってくるものですが
データ構造を変えるなどの仕様的な変更が反映されないと困ります
解決方法として、パラメータにタイムスタンプを付加するという方法がありますが
これで毎回別のGETにすることで、
キャッシュが異様に増殖してしまうのではないか、という危惧があります
どうなのでしょうか?
0407Name_Not_Found
垢版 |
2017/10/02(月) 09:16:45.75ID:???
>>406
ブラウザのキャッシュ管理のことまで気にしなくていいとは思うが
やるなら.htaccess等でヘッダーいじれば色々出来る
キャッシュさせないよう設定するとか逆にキャッシュさせた上で毎回確認だけはして更新時のみデータ受信する等
0408Name_Not_Found
垢版 |
2017/10/02(月) 12:44:12.88ID:???
クリックすると広告ページが新しいウィンドウで開くのを開かないようにjavascriptで制御したいんですが、
何かいい方法ないですかね?

window.openが実行された時に、すぐページを閉じるようなやつでもいいんですが、リファラは空だしどうしようかなと。
Google extensionで作ってます。
0409Name_Not_Found
垢版 |
2017/10/02(月) 14:45:10.98ID:???
>>408
uBlock origin 使えばだいたい防げるだろ?
それで足りなければTampermonkeyを使えば良い
0411Name_Not_Found
垢版 |
2017/10/02(月) 19:35:42.09ID:???
>>409
こんなのあったんですね
ありがとうございます。

>>410
ありがとうございます
調べてみます。
0412Name_Not_Found
垢版 |
2017/10/02(月) 22:25:22.55ID:???
Underscore は、ライブラリ全体をロードする必要があるけど、
Lodash は、使う関数だけを、include できる

ただ最近は、ES5/6 に実装している、関数も多い

ライブラリにある関数を自作するのは、
ホワイトボックステストも必要だし、品質も悪い
0413Name_Not_Found
垢版 |
2017/10/03(火) 05:24:23.65ID:???
>>407
そこまでコントロールできたのですか
ありがとうございます
0414Name_Not_Found
垢版 |
2017/10/03(火) 09:36:23.90ID:???
promiseは非同期処理を同期的に書く方法ですが
非同期処理を実際に同期的にするにはどういう方法がありますか?
0415Name_Not_Found
垢版 |
2017/10/03(火) 10:07:57.35ID:???
>>414
取り敢えず全ての非同期関数がpromiseを返すように設計しとけばasync awaitで同期的に書ける
あと問題があるのがobservableやasync iteratorに当たるものだが
これはトランスパイラを使うか、while(await)テクニックで乗り切る
ちょっと悩ましい所
0416Name_Not_Found
垢版 |
2017/10/03(火) 14:04:00.31ID:???
>>415
ありがとうございます
順次調べていきます
0417Name_Not_Found
垢版 |
2017/10/03(火) 23:01:14.37ID:lPSfG7Mo
ぶっちゃけpromise理解できないから騙し騙しやってるわ
0418Name_Not_Found
垢版 |
2017/10/04(水) 14:19:52.28ID:???
ローカル変数って
内部的には関数のプロパティとして実現されているのでしょうか?
0419Name_Not_Found
垢版 |
2017/10/04(水) 16:22:25.72ID:???
>>416
概観しましたが、すごくすっきり書けていいですね
generatorで同期的に処理する方法も調べたのですが、
これは本来そのために作られた訳ではない機能をハック的に使ってる感じで
美しくないと感じましたが
それに比べるとasync/awaitはキレイだと思いました
0420Name_Not_Found
垢版 |
2017/10/04(水) 22:37:43.89ID:???
プロパティは、プロトタイプチェーンをさかのぼって探索されるけど、

ローカル変数は、さかのぼらない
0421Name_Not_Found
垢版 |
2017/10/05(木) 02:18:36.66ID:???
>>418
関数実行時やブロック文に入る度にそのコンテキストに紐付いたオブジェクトのようなもの
globalやwith文中では本当のオブジェクトが使われる
0422Name_Not_Found
垢版 |
2017/10/06(金) 12:50:02.91ID:???
分割代入と変数宣言を同時に行うことは出来ませんか?
0423Name_Not_Found
垢版 |
2017/10/06(金) 12:59:12.81ID:???
let [ a, b ] = ary
みたいにできるよ
0424Name_Not_Found
垢版 |
2017/10/06(金) 14:01:58.85ID:???
firefoxがshadowdomに対応してないんで似たようなことがしたいんですが
いいアイディアありませんか?
勉強のためにやるのでフレームーワークなどは使いません
0425Name_Not_Found
垢版 |
2017/10/06(金) 14:16:25.76ID:???
それって死んでもFxで動かないと駄目なの?
Fxも1年以内に実装されるだろうから、そのときには動きますで良いじゃん
0427Name_Not_Found
垢版 |
2017/10/09(月) 15:43:20.36ID:???
ES2015ではundefinedの上書きが出来なくなったようですが
属性の有無を調べるメソッドなり関数なりが追加されないのは何故ですか?
0428Name_Not_Found
垢版 |
2017/10/09(月) 17:57:16.39ID:???
Object.getOwnPropertyDescriptor( window, 'undefined' )
// { value: undefined, writable: false, enumerable: false, configurable: false }
0430Name_Not_Found
垢版 |
2017/10/09(月) 22:34:04.31ID:???
>>427
undefinedの上書きができなくなったことがどう関係するんだ?
undefinedの上書きができれば、属性の有無を調べるメソッドが
無くてもいいってことだろ?
0431Name_Not_Found
垢版 |
2017/10/09(月) 23:21:52.96ID:???
in演算子なんてあったんですね
ありがとうございます
0432Name_Not_Found
垢版 |
2017/10/10(火) 10:51:08.48ID:???
画面構成が一貫したSingle Page Applicationを作っていました
ベースとなるHTMLは最初から記述されていて、
適宜要素を動的に操作していたのですが
異なる構成の画面が必要になりました
部分的な書き換えではおさまりません
そうなると最初の画面から完全に動的に書かなくてはいけないのか?
それとも今の画面をどこかに保存しておいて、処理が終わったらまた戻す?
とか色々考えていますが
こういうことが問題になったらそろそろフレームワークの導入を考えた方がいいのでしょうか?
0434Name_Not_Found
垢版 |
2017/10/10(火) 11:26:45.01ID:???
>>432
スケールしないことを実感したら切り替え時だろう
0435Name_Not_Found
垢版 |
2017/10/10(火) 12:32:42.44ID:???
では勉強していきます
ありがとうございました
0436Name_Not_Found
垢版 |
2017/10/10(火) 15:54:04.50ID:brV5QabT
>>432
もう1個 別のSPA 作って
ShareWorker で状態を共有させる方法もあるんじゃないかな
0437Name_Not_Found
垢版 |
2017/10/10(火) 18:23:03.18ID:VzD+hjux
chromeとIEで確認しています
下記のような形でクリックイベントリスナーを設定しましたが反応はありませんでした
どこに問題がありますでしょうか?よろしくお願いします
 
Hoge.prototype.foo = function(){
 var button = document.createElement( "input" );
 button.type = "button";
 button.value = "テスト";
 button.addEventListener( "click", this.bar, false );
 this.div.appendChild( button );
}

Hoge.prototype.bar = function(){
 alert( "click" );
};
0438Name_Not_Found
垢版 |
2017/10/10(火) 18:26:27.41ID:???
>>437
要素が生成されていないのにイベントを与えているから
0439Name_Not_Found
垢版 |
2017/10/10(火) 18:26:49.99ID:SL8zOk23
>>437
this.bar
0440Name_Not_Found
垢版 |
2017/10/10(火) 18:28:19.97ID:SL8zOk23
>>437
途中で送信しちゃったw

this.bar

って第二引数に与えると、実際にクリックイベントが発火したとき
thisになるのはevent.targetであってHogeインスタンスじゃない
0441437
垢版 |
2017/10/10(火) 18:36:56.27ID:VzD+hjux
>>440
試しに下記の様にしましたが変わりませんでした
this.div.appendChild( button );
var func = this.bar;
button.addEventListener( "click", func, false );
0442Name_Not_Found
垢版 |
2017/10/10(火) 18:39:55.65ID:SL8zOk23
>>441
変わってないよ

var A = this;
button.addEventListener('click' , function(){ A.bar(); } , false);

とか
これがベストとは言わんけど
0443Name_Not_Found
垢版 |
2017/10/10(火) 18:40:39.73ID:???
>>441
そのやり方でもthisになるのはevent.targetであってHogeインスタンスじゃない
0444Name_Not_Found
垢版 |
2017/10/10(火) 18:53:04.24ID:brV5QabT
Function.prototype.bind() を使う
0445437
垢版 |
2017/10/10(火) 20:07:35.00ID:VzD+hjux
Hoge.prototype.foo = function(){
 this.div.appendChild(button);
 button.addEventListener( "click", function(){
  console.log( "test" );
  alert( "test" );
 },false );
}
そもそも発火しませんでした・・・
0446Name_Not_Found
垢版 |
2017/10/10(火) 21:04:04.69ID:SL8zOk23
>>445
そんな中途半端に書かれてもわからんよ
this.divってなんぞや?とかとか

全部書いておくれ
https://jsfiddle.net/
0448437
垢版 |
2017/10/10(火) 21:33:32.89ID:E6KH4Zj5
詳しいサンプルをありがとうございます
一旦最小構成でテストしてみたら最初のままで通用してしまいました
var Hoge = function( elementId ){
 this.div = document.getElementById( elementId );
};

Hoge.prototype.foo = function(){
 var button = document.createElement( "input" );
 button.type = "button";
 button.value = "ボタン";
 this.div.appendChild( button );
 button.addEventListener( "click", this.bar( this ), false );
};

Hoge.prototype.bar = function( arg ){
 console.log( "arg is..." ); //
 console.log( arg ); // object
};

var hoge = new Hoge( "test" ); // <div id="test"></div>
hoge.foo();
0449Name_Not_Found
垢版 |
2017/10/10(火) 21:39:59.94ID:???
>>448
>button.addEventListener( "click", this.bar( this ), false );

これは間違ってるよ
第二引数に渡すのは関数

this.bar ← これは関数
this.bar(this) ← これは関数barを実行した返り値
0450Name_Not_Found
垢版 |
2017/10/10(火) 21:41:48.84ID:E6KH4Zj5
訂正!訂正します
先の書き方だと第2引数が意図せずに実行されてるだけで本当は下記の通りですね
button.addEventListener( "click", function(){ this.bar( this ); }, false );
// this.bar is not a function at HTMLInputElement.
0451Name_Not_Found
垢版 |
2017/10/10(火) 21:48:06.42ID:SL8zOk23
>>450
>button.addEventListener( "click", function(){ this.bar( this ); }, false );

おちつけw
そのthis.barのthisは第二引数に渡した無名関数のスコープで
無名関数の外、つまりHogeのものじゃない

んでお手軽に解決するなら、Hogeのthisをいっぺん保存してこう
var A = this;
button.addEventListener( "click", function(){ A.bar( this ); }, false );

もっと根本的に解決するなら
Function.prototype.bind()
Function.prototype.call()
Function.prototype.apply()
あたりをググると良いよ
0452437
垢版 |
2017/10/10(火) 22:13:47.52ID:VzD+hjux
>>451
その後色んなパターンを実践していましたが
最終的には、まさに一度thisを保存する方法に落ち着きました
(関数先でクラスのプロパティを参照する必要があるので)
スコープとbind()について落ち着いて調べてみたいと思います
みなさんありがとうございました
0453Name_Not_Found
垢版 |
2017/10/11(水) 00:12:29.66ID:???
JavaScript の、this は、コロコロ変わるから難しい。
bind を使わないと、拘束できない

jQuery を使えば、悩むこともない
0454Name_Not_Found
垢版 |
2017/10/11(水) 01:05:45.44ID:???
>>453
jQueryを使ってもそこは一緒
だけどjQueryだとクロージャーを使っても循環参照になりづらいのと
DOM要素のリストとして扱うという設計思想によって扱いやすいってだけ

でさ、お前ら何やってんの?
>>437の話だろ? なんでthisを保存とかいう話になってんの?

addEventListenerの第二引数にクロージャーなんか渡すから
話ややこしくなってるじゃん。 >>437のコードでだいたいあってるだろ

https://jsfiddle.net/rdeuvep2/

function Hoge(elementId) {
 this.div = document.getElementById(elementId)
}

Hoge.prototype.foo = function() {
 var button = document.createElement( "input" );
 button.type = "button";
 button.value = "テスト";
 button.addEventListener( "click", this.bar, false );
 this.div.appendChild( button );
}

Hoge.prototype.bar = function() {
 alert( "click" );
};

var hoge = new Hoge("buttons");
hoge.foo();
0455Name_Not_Found
垢版 |
2017/10/11(水) 01:05:49.61ID:???
ここまで
アロー関数
無し
0456Name_Not_Found
垢版 |
2017/10/11(水) 01:26:52.82ID:???
んで、恒例のjQuery化w

なるべく元の形を保ったバージョン
https://jsfiddle.net/rdeuvep2/1/

function Hoge(elementId) {
 this.elementId = elementId
}
Hoge.prototype.foo = function(){
 $("<input>", {type: "button", value: "テスト"}).click(this.bar).appendTo(this.elementId)
}
Hoge.prototype.bar = function(){
 alert( "click" );
};
var hoge = new Hoge("#buttons");
hoge.foo()


俺はHogeクラスなんか作らずこんなんでいいと思ってる
https://jsfiddle.net/rdeuvep2/2/

var attrs = [{value: "テスト1"}, {value: "テスト2"}];
var buttons = attrs.map(attr => $("<input>", attr).attr({type: 'button'}));
$("#buttons").append(buttons).on('click', 'input[type="button"]', function() {
  alert( "click " + this.value);
});


>>455
アロー関数使ってやったぜ?w
0458Name_Not_Found
垢版 |
2017/10/11(水) 01:55:18.33ID:???
補足

「今回は」アロー関数もクロージャーもいらない
今回の要件にthisがどうなるかってのが書かれていないから

this.barは今回は動くがthisは違っていると念の為に言っておく
いろんなサンプル追加
https://jsfiddle.net/rdeuvep2/6/
0459Name_Not_Found
垢版 |
2017/10/11(水) 11:15:54.27ID:???
qiitaで記事うpしても叩かれない知識を身に着けたいんですが
JavaScriptという言語を学ぶための良書を教えてください
0460Name_Not_Found
垢版 |
2017/10/11(水) 11:30:31.56ID:???
その考え方は大間違い
人に意見を発信する以上は文句を付けられて当たり前
そしてそれは良いこと
お互い内外から叩き合ってきれいな球に近づくのだから
それを防ごうと言うのはトゲトゲボールか、スライムになってしまうのがオチ
0461Name_Not_Found
垢版 |
2017/10/11(水) 13:29:50.02ID:pDOfqRkM
>>453
えええ…
0462Name_Not_Found
垢版 |
2017/10/11(水) 13:33:31.58ID:pDOfqRkM
>>459
とりあえずサイ本

現段階のおまえさんのレベルも
おまえさんが書いた記事にツッコミを入れる奴のレベルもわからんから
それを数冊の本でなんとかするのは難しかろう
0463Name_Not_Found
垢版 |
2017/10/11(水) 21:27:55.35ID:???
JavaScript 第6版、2012、David Flanagan

Google などのプロの机に、必ず置いてある本
0464Name_Not_Found
垢版 |
2017/10/12(木) 02:50:11.63ID:???
プロのJSerやWEBエンジニアならオンライン仕様書以外は必要ない
そういうのはJSの常識を知らない非JSネイティブプログラマ向けに用意されてる
それもES2015以降の今の時代に於いては、JSを歴史から学んでJS仙人を目指したい人以外には過去の有名な本という飾りでしかない
0465Name_Not_Found
垢版 |
2017/10/12(木) 10:20:16.44ID:???
仕様書ってどこ見たらいいのか教えてください
0467Name_Not_Found
垢版 |
2017/10/12(木) 14:33:35.31ID:???
初心者はまずはMDN 「MDN ○○」でググる
そしてより詳しく知りたければMDNの各記事の下に仕様へのリンクが張ってある
徐々にそっちに移行していく
0468Name_Not_Found
垢版 |
2017/10/13(金) 05:38:27.50ID:???
let lastTimeSignal;
setInterval(fuction(){
let now = moment();
let nowMinutes = now.format('YYYYMMDDHHmm');
if (now.minutes()==0 && lastTimeSignal !== nowMinutes){
lastTimeSignal = nowMinutes;
/*処理*/

},1000);

みたいなコードがあります
moment()はmoment.jsです
現在時刻の分数が0の時に一度だけ実行する、ようは時報です
ですが、ごくまれに連続して複数回時報が実行されてしまうことがあります
lastTimeSignalが設定されるので排他的に処理されるはずなのに
何故複数回実行されてしまうのか分かりません
現象はchromeで確認しています
lastTimeSignal とnowMinutesをログに出力するようにしましたが
連続実行された時の値は全く同一でした
lastTimeSignalが設定されないまま
複数のインターバルが呼び出されている、としか思えません
処理は、何かと不安定なSpeechSynthesisUtteranceを使っているので
それが原因なのかとも思いますが
処理の前にlastTimeSignal = nowMinutesとすぐに代入しているので、
たとえSpeechSynthesisUtteranceに問題があっても排他処理まで失敗するのは奇妙です
関数の外の変数(lastTimeSignal)への変更が
すぐに反映しない、なんてことあり得ますか?
0469Name_Not_Found
垢版 |
2017/10/13(金) 05:49:09.33ID:???
>>468
あらためてログを確認すると
10/13 05:00:00.97
10/13 05:00:00.98
と、0.01秒差で連続実行されていました
1秒ごとに実行されるはずのインターバル処理が、
ほぼ同時に2回呼び出されていることになります
一体何故・・?
いま、ふと思い付いたのですが
不安定なSpeechSynthesisUtteranceの実行に更にsetTimeoutを挟めば
変数の変更まで不安定になることは防げるかもしれません
0470Name_Not_Found
垢版 |
2017/10/13(金) 08:14:29.32ID:???
とにかく問題が再現できる最小限のコードを貼りなさい
できればライブラリも除いた状態で
まずそうやって削ぎ落としていくのがデバッグの基本でもある
0471Name_Not_Found
垢版 |
2017/10/13(金) 08:45:04.05ID:???
ここに質問するくらいならteratail使えや。コード見づらい。
0472Name_Not_Found
垢版 |
2017/10/13(金) 08:55:34.75ID:???
明確な根拠もなく実行系を疑うのはプログラマ憲法でタブーとされていること
0473Name_Not_Found
垢版 |
2017/10/13(金) 10:07:02.56ID:???
プログラマーが権力機構で処理系が労働者なのか
0474468
垢版 |
2017/10/13(金) 11:59:42.51ID:???
恥ずかしいことに、インターバルタイマーを複数回設定していたのが原因でした
ライブラリの中の、
起動時にしか実行されないと思っていたハンドラの中で設定していたのですが
そのハンドラはその後の操作によっては複数回呼び出されるものだったのです
プログラマー憲法を心に銘じます
ありがとうございました
0475Name_Not_Found
垢版 |
2017/10/13(金) 12:55:11.16ID:???
思った通りの原因だった
0476Name_Not_Found
垢版 |
2017/10/13(金) 14:57:43.69ID:???
まあでも非同期が絡むとデバッグが一段と難しくなるのは事実
ただコールバックで闇雲に投げて闇雲に呼ばれるのではなく
Promise,async-await,async generator辺りを適切に使って
シーケンシャルに管理すれば軽減できはする
0477Name_Not_Found
垢版 |
2017/10/13(金) 21:36:52.40ID:???
jsだと無名関数にしてしまう分、普通に何回も呼び出してしまうよな
アクセス解析の値がぶっとんでた時はあせったわ
0478Name_Not_Found
垢版 |
2017/10/13(金) 22:36:21.13ID:???
無名関数だからって理由でそんなことすることはないな。
だって名前つけても同じ話だもの
0479Name_Not_Found
垢版 |
2017/10/13(金) 22:53:31.34ID:???
無名関数ならそこでしか使わないんだから
逆に予定外に何度も呼び出すことなんて少ないと思うが
0480Name_Not_Found
垢版 |
2017/10/15(日) 05:37:52.44ID:???
ES2015でforEachがオブジェクトに追加されなかったのは何故ですか?
最近のJSはイケてると思っていましたが
いまだにオブジェクトをforEachできないのは違和感があります
もうかなり以前からunderscoreやlodashがforEachの有用性を証明してますよね
0481Name_Not_Found
垢版 |
2017/10/15(日) 08:34:02.97ID:???
そういうことするならmapって話なんじゃね
0482Name_Not_Found
垢版 |
2017/10/15(日) 09:32:29.63ID:???
>>480
だからlodashを使えばいいだけだろう?
0483Name_Not_Found
垢版 |
2017/10/15(日) 10:54:03.53ID:???
mapは新しい配列を作るためのものなので用途が違います
ライブラリは言語にあるべき未来を見せるのが役割の一つなので
それを何年も前に見せられてなおかつ放置してるのは怠慢と言わざるを得ません
0484Name_Not_Found
垢版 |
2017/10/15(日) 10:58:56.24ID:???
いや、ライブラリは言語仕様をシンプルにするのが目的だよ。
どんな言語でも言語自体に色んな機能を含めず
多くの機能はライブラリで提供されてるはずだ。
0485Name_Not_Found
垢版 |
2017/10/15(日) 11:01:57.27ID:???
>>483
Mapと書くべきだったか
まあ意図は違うんだろうけど
0486Name_Not_Found
垢版 |
2017/10/15(日) 11:46:59.23ID:???
Mapじゃなくて地図と書くべき。
でないと、SMAPと勘違いされる可能性がある。
0487Name_Not_Found
垢版 |
2017/10/15(日) 12:07:56.25ID:???
あの文脈ならMapで通じると思うけど
つーかもうオブジェクトからイテレーター作れるじゃん
0488Name_Not_Found
垢版 |
2017/10/15(日) 12:32:13.73ID:???
mapメソッドとは別にMapオブジェクトというのがあったのですね
イテラブルではない普通のオブジェクトを回すのはあまり行儀が良くない、
という判断が根底にあるのでしょうか?
でも

(new Map([['taro','name'],[15,'age']])).forEach((key,value)=>{
});

こんな書き方がイケてるとはあまり思えないのですが・・
newを書かずにMapオブジェクトを生成する
シンタックスシュガーを用意して欲しいところです
0489Name_Not_Found
垢版 |
2017/10/15(日) 13:54:43.41ID:???
>>488
シンタックスシュガーはいらないですね。
関数を用意すればいいだけですよ。
0491Name_Not_Found
垢版 |
2017/10/16(月) 02:27:09.92ID:???
>>490
これはなかなかいいですね
オブジェクトのインスタンスメソッドで出来て欲しいですが、
keyとvalueだけでなくindexも取れるところもイケてると思います
0492Name_Not_Found
垢版 |
2017/10/16(月) 04:26:51.39ID:???
>>491
そのやり方は列挙順を保証出来ないから、順序がランダムで良いときしか使えない
もともと、オブジェクトのキーは列挙する事を想定したものでもないし、連祖配列的なものを望むなら、足りない機能が多くて苦労すると思うよ
0494Name_Not_Found
垢版 |
2017/10/16(月) 11:42:32.24ID:???
たしかにオブジェクトのメンバに順序は期待出来ないですが
ループの中でループカウンタが欲しくなることはわりとあるので、
そういう意味です
0495Name_Not_Found
垢版 |
2017/10/16(月) 16:38:35.98ID:???
未だにES5脳な奴がいるんだな
列挙の順序が保証されてないのはfor-in文とES5のObject.keys()
ES2015以降のObject.{keys,values.entries}()は保証されている
こんなんJSerなら誰でも知ってる常識だろう
0496Name_Not_Found
垢版 |
2017/10/16(月) 23:03:35.08ID:???
>>495
矛盾してるぞ

> こんなんJSerなら誰でも知ってる常識だろう

ES5脳なJSerは知らないだろ?
0497Name_Not_Found
垢版 |
2017/10/17(火) 00:58:39.12ID:???
JSは日進月歩なんだから
未だにES5脳な奴がJSerなわけ無いだろ
0498Name_Not_Found
垢版 |
2017/10/17(火) 01:08:17.62ID:???
JSerの定義でもめるぐらいなら、ES5erとES2015erに分けろ
JavaScript===ECMAScript2015ではないんだぞ
0499Name_Not_Found
垢版 |
2017/10/17(火) 08:24:06.23ID:???
async-awaitで逐次処理書いてる時に比較的長いタスクをやらせると
裏で動いているのかどうか分かんなくなるんですが。
定期的にconsole.logとかでログ出力していれば分かるんですが、
そうでない場合、逐次処理が実行中だってどうやって把握すればいいんですかね?
0500Name_Not_Found
垢版 |
2017/10/17(火) 10:53:45.44ID:???
そりゃconsole.logを適切な個数置くしか無いよ

それかメイン関数以外にあちこち置くのが嫌なら
await longTimeTask()
をpromiseが解決するまで一秒ごとにログを出すperiodicLogingを用意して
await periodicLoging( 'タスクA', longTimeTask() )
と書くとか、同様にしてタイムアウトさせたりするとか
0502Name_Not_Found
垢版 |
2017/10/17(火) 11:44:57.69ID:???
結局時間かかるのはIOかEvent待ちのネイティブの部分だからステップ処理は意味ない。
0503Name_Not_Found
垢版 |
2017/10/17(火) 11:44:57.97ID:???
結局時間かかるのはIOかEvent待ちのネイティブの部分だからステップ処理は意味ない。
0504Name_Not_Found
垢版 |
2017/10/17(火) 12:14:43.92ID:???
>>502
>>499の目的である「動作確認」は可能だと思うが、どういう理屈で意味がない?
0505Name_Not_Found
垢版 |
2017/10/17(火) 12:56:43.77ID:aQueuU1T
継続して動いてるか確認したいんじゃないの?
0506Name_Not_Found
垢版 |
2017/10/17(火) 13:39:59.38ID:???
そもそも確認したい動機が分からん
エラーハンドリングをあえてすっぽかしてない限り
棄却が伝わってこないと言うことは正常動作中ということで心配する必要ないだろう

パッチ処理とかで本当に10分とかかかるものなら
大本にProgressイベントが用意されていないのなら>>500のような感じになるだろうな
0507Name_Not_Found
垢版 |
2017/10/17(火) 19:45:01.86ID:/ojPgncR
str='黄と黄緑と緑'
.replace(/黄緑/g, '<span style="color:greenyellow">$&<\/span>')
.replace(/黄/g, '<span style="color:yellow">$&<\/span>')
.replace(/緑/g, '<span style="color:green">$&<\/span>')

黄緑にも色を付ける方法を教えて下さい
0508Name_Not_Found
垢版 |
2017/10/17(火) 22:11:32.36ID:???
>>507
その種の複数置換は結局
replace(/[黄緑]+/g, function(match){ … })
が簡単
0511Name_Not_Found
垢版 |
2017/10/17(火) 22:24:13.19ID:???
>>508 でmatchで条件分岐がおすすめだけど超簡単にするなら「黄緑」を一旦「青」とかにしてから最後に戻すとかでもいいよ
ほほえましくてよきよき
0512Name_Not_Found
垢版 |
2017/10/17(火) 22:26:20.78ID:ayamnkyL
>>507

str='黄と黄緑と緑'
.replace(/黄緑/g, '<span style="color:greenyellow">$&<\/span>')
.replace(/黄[^緑]/g, '<span style="color:yellow">$&<\/span>')
.replace(/[^黄]緑/g, '<span style="color:green">$&<\/span>')

>>508-510
正規表現ぐらいもうちょい頑張れwwwww
ぐぐりながらやってみたけど30分でできたぞwwwww

>>511
最悪の回答wwwwww
0514Name_Not_Found
垢版 |
2017/10/17(火) 22:50:06.29ID:???
>>511は思いついても考え直さないもんなのか
0516Name_Not_Found
垢版 |
2017/10/17(火) 22:51:56.76ID:???
>>514
だからほほえましくていいって書いたんだけどw
0517Name_Not_Found
垢版 |
2017/10/17(火) 22:54:21.53ID:???
>>514
あ、一旦「青」にするってのが、よくわからずやってた頃を思い出してほほえましくていいって意味です
0519Name_Not_Found
垢版 |
2017/10/17(火) 23:50:17.19ID:???
及ばないどころか間違えてるからね
0520Name_Not_Found
垢版 |
2017/10/18(水) 07:14:47.67ID:???
間違えてるのか?正常に動いてるように見える
正規表現ほとんど使わないからわからんわ
0521Name_Not_Found
垢版 |
2017/10/18(水) 09:17:27.29ID:???
[^緑] は「緑以外の1文字」だから /黄[^緑]/ だと「黄と」がヒットする
/[^黄]緑/ も同じ
なので結果は
<span style="color:yellow">黄と</span><span style="color:greenyellow">黄緑</span><span style="color:green">と緑</span>
ってなるはず
0522Name_Not_Found
垢版 |
2017/10/18(水) 09:24:18.76ID:???
jqueryでは
セレクタに要素を複数並べて要素の子孫の要素を選択することが出来ますが
このように要素を選択する方法は何というのでしょうか?
0523Name_Not_Found
垢版 |
2017/10/18(水) 09:45:20.65ID:???
セレクタ検索
それ以上でもそれ以下でもない
0524Name_Not_Found
垢版 |
2017/10/18(水) 11:21:24.13ID:???
>>521
しかも文頭の緑と文末の黄にはマッチしないしな
ECMAScriptだと後読み出来たっけか
0525Name_Not_Found
垢版 |
2017/10/18(水) 13:12:20.54ID:???
>>506
おー。ありがとうございます
Progressイベントなんてあるんですね。
独自の処理にもそう言うの用意できるんですかね。
0526Name_Not_Found
垢版 |
2017/10/18(水) 13:13:56.51ID:???
自前でonProgressプロパティに関数があれば呼び出してもいいし
EventEmitterみたいなモジュール使ってもいいし
DOMのカスタムイベント使ってもいいし
0527Name_Not_Found
垢版 |
2017/10/18(水) 13:45:25.52ID:???
>>524
後読みはES2018になりそう
現在モダンブラウザは要フラグ

>>525
async-awaitと組み合わせるのは工夫がいるよ
できればasync-generatorを使ってトランスパイルする
0528Name_Not_Found
垢版 |
2017/10/18(水) 15:18:12.29ID:???
>>508
ありがとうございます
その方法で出来ました
0529Name_Not_Found
垢版 |
2017/10/18(水) 15:52:59.55ID:???
ド素人ですみません
膨大なデータをJSONで書き出す処理をしようとしてます

大体1MBくらいで一区切りして、fs.writeFileで書き出して、for構文で繰り返す…
というような方法を取っています。

例えば10回繰り返すような設定をすると、処理が終わる度に1ファイル追加されるのですが
10回すべての処理が終わるまでファイルに何も書き込まれず、空っぽのままになります。
すべての処理が終わって初めて全てのファイルにデータが書き込まれる感じです

これが10ファイルくらいならいいのですが、大量に処理するときに困るので
毎処理ごとにデータが書き込まれるようにしたいです。

なにか方法があれば、お教えいただけると助かります
0531Name_Not_Found
垢版 |
2017/10/18(水) 16:12:44.08ID:???
書き込み終わるの待ってから次の処理始めれば?
0532Name_Not_Found
垢版 |
2017/10/18(水) 17:28:33.27ID:???
>>529
fs.writeFile に渡す callback の中で
書き込みの続きを継続するようにすれば期待する動作が得られるかも?
0533Name_Not_Found
垢版 |
2017/10/18(水) 18:52:49.70ID:???
みんなありがとう
ファイルへの書き込みが完了するまでループを一時停止する・・・と言う処理は可能でしょうか?
今はこんな感じです

  var ループ回数 = 10;
  for(var i=0 ; i > ループ回数; i++){
     var データ = 膨大なデータを生成する関数();
     fs.writeFile(ループ回数 + '.json', JSON.stringify(データ,'',' ') , function (err) {});
  }
0534Name_Not_Found
垢版 |
2017/10/18(水) 19:09:13.90ID:???
>>521
トンクス
上手く行ってるように見えてたわ
0535Name_Not_Found
垢版 |
2017/10/18(水) 19:17:44.67ID:???
>>533
同期版のfs.writeFileSyncを使うかasync/await使うか
0536Name_Not_Found
垢版 |
2017/10/18(水) 21:32:50.86ID:???
fs-extraがpromise返すようになったから使っとけ
0537Name_Not_Found
垢版 |
2017/10/18(水) 21:40:29.84ID:???
IOは内部で並列度が抽象化され、タイミングが最適化されてるから完全な制御は無理
0538Name_Not_Found
垢版 |
2017/10/18(水) 23:05:14.43ID:???
ファイルの読み込みでも、4つのファイルを、並列に読み込む
0540Name_Not_Found
垢版 |
2017/10/20(金) 20:50:24.54ID:???
for in使うとeslintに怒られるんですがなんか理由があるんですか?
0541Name_Not_Found
垢版 |
2017/10/20(金) 23:05:29.50ID:???
そういうのは積極的に調べていって言語に詳しくなるチャンスにすべきだと思うよ
結論から言うとfor of Object.keys()を使う
0542Name_Not_Found
垢版 |
2017/10/21(土) 12:36:49.64ID:???
>>511
元々の文字列に「青」があったら破綻するのでは
バックスラッシュのエスケープシーケンスのように、構文規則を作っておかないと破綻する

>>540
配列に for-in を使っているのでは
0544Name_Not_Found
垢版 |
2017/10/21(土) 12:55:52.81ID:???
>>507>>511
自分もこれでやるけど、翫とか見たことないような漢字にしとけばいいよ
正規表現だとノット条件がないから[^翫]で近いことが出来るようになるし、これが早くて楽だった
0545Name_Not_Found
垢版 |
2017/10/21(土) 13:20:57.67ID:???
バッドノウハウからは早く卒業しよう
0546Name_Not_Found
垢版 |
2017/10/21(土) 13:21:43.46ID:???
asyc-awaitつかってると使いたいところで使えないのが凄くもどかしい。
たとえばclassのコンストラクタで非同期処理を入れる方法ないかな。
0548Name_Not_Found
垢版 |
2017/10/21(土) 15:17:35.06ID:???
プログラミングを初めて、

配列を知った人は、これ便利と配列ばっかり使いだします。
連想配列を知った人は、これ便利と連想配列をばっかり使いだします。
クラスを知った人は、これ便利とクラスばっかり使いだします。

asyc-awaitを知った人は、これ便利とasyc-awaitばっかり使いだします。
0549Name_Not_Found
垢版 |
2017/10/21(土) 15:36:34.65ID:???
朝起きたら顔を洗って歯を磨きます。
0550Name_Not_Found
垢版 |
2017/10/21(土) 15:46:30.58ID:???
>>546
async関数はpromiseを返す関数だから
クラスのインスタンスを返すコンストラクタとは相容れない
まあ色々方法はあるけど、newして非同期にそれを改変するasync関数を用意するのが良いと思う

>>548
async-awaitばかりというのは悪くないと思うよ
ある特定の関数が開発していく途中でasyncにする必要が出てきたり必要が無くなったりもするしさ
そういうときawaitで受けてれば問題ないからね
0551Name_Not_Found
垢版 |
2017/10/23(月) 09:41:19.80ID:???
Face Detectionのライセンスがわかる方いますか?
もしくは顔検出出来るライブラリで他に商用利用可能なものがあったら教えていただきたいです
0552Name_Not_Found
垢版 |
2017/10/23(月) 11:59:26.95ID:???
firebaseってサーバーサイドで
node.jsなどを動かすことできますか?
0553Name_Not_Found
垢版 |
2017/10/23(月) 12:48:29.96ID:???
セレクトボックスAとBが横に二つ並んでいます
それぞれにJavaScriptで動的にoptionを追加したところ、BがAの下に移動してしましました
横に並べたまま要素を追加したいのですがどうすればいいでしょうか
0555Name_Not_Found
垢版 |
2017/10/23(月) 16:07:54.95ID:???
>>553
CSS でやるのが普通
方法はいくつかあるが flex が最も簡単だろう
0556Name_Not_Found
垢版 |
2017/10/23(月) 16:36:45.03ID:???
location.searchを手軽にjson化する標準APIってなかったでしたっけ?
なんかここで一度教えてもらった気がするんですが
0557Name_Not_Found
垢版 |
2017/10/23(月) 16:39:22.32ID:???
>>556
location.search はただの String 値なので、JSON化する余地はないと思うが
0558Name_Not_Found
垢版 |
2017/10/23(月) 17:39:07.61ID:???
String値もJSON化可能だよ
例えば`"abc"`はvalidなJSON
0560Name_Not_Found
垢版 |
2017/10/23(月) 18:36:08.62ID:???
>>558
そうかもしらんが、JSON.stringify(location.search); で解決する問題をわざわざ質問するかね…
0561Name_Not_Found
垢版 |
2017/10/23(月) 19:04:38.14ID:???
>>556
いや”key=value&”という形式をオブジェクトのkey-valueに変換してくれるやつを知りたいってことなんですが。
0564Name_Not_Found
垢版 |
2017/10/23(月) 22:58:09.95ID:???
>>561
> いや”key=value&”という形式をオブジェクトのkey-valueに変換してくれるやつを知りたいってことなんですが。

key1=valueA&key1=valueB&key1=valueC

の場合にどういう結果を期待してるの?
0566Name_Not_Found
垢版 |
2017/10/24(火) 08:17:35.63ID:???
こんなのあったんだ。知らなかった
0567Name_Not_Found
垢版 |
2017/10/25(水) 00:04:02.94ID:???
IEやiOSのSafariで使えないし
知らなくてもしょうがないかな
0568Name_Not_Found
垢版 |
2017/10/25(水) 00:07:30.23ID:???
Polyfillがあるし、WHATWGで標準化もされてる
常に最新仕様を追いかける人なら知ってると思うよ
0569Name_Not_Found
垢版 |
2017/10/25(水) 00:22:57.17ID:???
常に最新仕様を追いかけるのが目的の人
0570Name_Not_Found
垢版 |
2017/10/25(水) 01:59:00.44ID:???
仕様を追いかけるのが悪いことかのような書き方だな
0571Name_Not_Found
垢版 |
2017/10/25(水) 02:36:11.04ID:???
仕様を追いかけるのが悪いんじゃなくて
仕様を追いかけるのが目的となってるのが悪い
0573Name_Not_Found
垢版 |
2017/10/25(水) 07:45:55.20ID:???
むしろ目的でもないのに仕様を追っかけてる人の方が意味不明だが
0575Name_Not_Found
垢版 |
2017/10/25(水) 09:54:45.34ID:???
普通は必要になった時点で調べるよなw
0576Name_Not_Found
垢版 |
2017/10/25(水) 16:01:57.29ID:???
必要になった時点で調べるんじゃ三流
普通は必要になる前から知っておく
0577Name_Not_Found
垢版 |
2017/10/25(水) 20:12:59.51ID:???
deletedで気付いてたら手遅れだよな
0578Name_Not_Found
垢版 |
2017/10/26(木) 10:23:02.67ID:???
form要素の中に設置したラジオボタンのグループは
form要素.ラジオボタンに持たせたname
で取得できます
このグループはconsoleで確認するとRadioNodeListオブジェクトのようです
これはform要素の中にラジオボタンが格納された時にだけ作られる
特殊なオブジェクトのようですが
DOMツリーに組み込まれているのか、取得時に生成されているのか、
どっちなのでしょう?
0579Name_Not_Found
垢版 |
2017/10/26(木) 14:49:10.01ID:???
少し考えたらDOMツリーが最初からListを含んでるはずないと気づくだろ
0580Name_Not_Found
垢版 |
2017/10/26(木) 18:09:13.55ID:???
そうですか?
DOMツリーに詳しくないので分かりませんでした
コンテナとしてツリーに組み込まれていることもあるんじゃないかと思ったのですが、
そのたびごとに生成して返しているのですね
ありがとうございました
0581Name_Not_Found
垢版 |
2017/10/26(木) 20:51:07.15ID:???
考え方としてはchildrenと同じ
0582Name_Not_Found
垢版 |
2017/10/27(金) 00:38:52.31ID:???
どちらの考えも成り立つと思うが、>579の「ちょっと考えたら」は暴論な気がするな
実際、仕様のどこに書いてあるのか、を明示しないと本当の意味では解決にならない
(Array#length が動的に計算されるのか、静的データを参照するのか、という命題と似てる)
0583Name_Not_Found
垢版 |
2017/10/27(金) 02:01:09.78ID:???
RadioNodeList が継承する NodeListは
デフォルトでは live (静的でない)とDOM仕様に書いてある
特に静的とする記述はなかった(?)ような
0584Name_Not_Found
垢版 |
2017/10/27(金) 09:33:41.18ID:???
liveかどうかは関係ないでしょ
例えばa,b,cというオブジェクトとそれを含むツリーがあって
どこかにa,b,cへの参照を含むオブジェクトあっても、
それはツリーに含まれてるとは言えないから

つまりはこの問題はNodeListがDOMの木構造に含まれているかどうか
横着に言うとツリーを辿っていったときListに到達するかというと、
それはないなと分かる
0585Name_Not_Found
垢版 |
2017/10/27(金) 11:39:18.61ID:???
>>583
liveの実装はオブジェクトをキャッシュするだけで実現可能なので、liveな事が動的データである事を保証しているわけじゃないと思う
0586Name_Not_Found
垢版 |
2017/10/27(金) 11:45:00.82ID:???
>>584
ごめん、いってる意味が分からない

> どこかにa,b,cへの参照を含むオブジェクトあっても、
> それはツリーに含まれてるとは言えないから
なぜ?

> つまりはこの問題はNodeListがDOMの木構造に含まれているかどうか
ツリーに含まれているかどうかをどうやって判断するの?
0587Name_Not_Found
垢版 |
2017/10/27(金) 12:20:57.06ID:???
async-await便利だけど意図せず無限ループに入っていても
気づかないのがちょっと心配。
プロダクションビルドしてみるとやたらメモリリークするようになってはじめて
発覚した。
この辺を気づきやすくする方法ってなんかないかな。
0588Name_Not_Found
垢版 |
2017/10/27(金) 13:13:55.12ID:???
>>586
a.child==b,b.child==cの時、
[a,b,c]という配列を作ってもそれはツリーの一部ではないということ
ルートから辿れない物はそのツリーに含まれているとは言えない

そしてDOMツリーにListが含まれないことは自明
なぜならDOMツリーはNodeのツリーであり、NodeとはElementやTextであり、
NodeListは実際それらのサブクラスではないし、概念としてもかけ離れているから
0589Name_Not_Found
垢版 |
2017/10/27(金) 14:02:36.94ID:???
そもそも何で含む含まれないの区別をする必要があるんだっけ?
0590Name_Not_Found
垢版 |
2017/10/27(金) 15:01:09.70ID:???
ただ単純な興味だろうよ
まあこの手の設計思想は勉強しておくと自分が設計する際のセンスに近い部分ととして表れるから、馬鹿にはできない
0591Name_Not_Found
垢版 |
2017/10/28(土) 14:11:55.65ID:???
Array#lengthは静的って事で良いよね?
0592Name_Not_Found
垢版 |
2017/11/03(金) 13:02:38.97ID:???
javascriptは少々調子に乗りすぎたようだね
ここ10年でごちゃごちゃと新機能入れ杉
ついていけねえよ
0593Name_Not_Found
垢版 |
2017/11/03(金) 13:03:35.72ID:???
そもそも最新のミドルからハイスペックの開発環境でしか確認してないクソ重いサイトが量産され過ぎなんだよ
0594Name_Not_Found
垢版 |
2017/11/03(金) 13:20:05.41ID:???
>>592

javascriptは少々調子に乗りすぎたようだね(個人の感想です)
ここ10年でごちゃごちゃと新機能入れ杉(便利になりました)
ついていけねえよ(個人の能力です)
0595Name_Not_Found
垢版 |
2017/11/03(金) 13:33:36.38ID:???
互換は有るわけで別についてきたくなかったらついていかなくても良い
0596Name_Not_Found
垢版 |
2017/11/03(金) 14:40:55.96ID:???
13Mくらいのjsonがあるんだけど簡単に解析するツールってないかな。
0597Name_Not_Found
垢版 |
2017/11/03(金) 14:42:23.63ID:???
Promise+awaitとかは一癖あるが、実際コールバック地獄に比べると格段に楽になれるので黙って覚える価値はある
0598Name_Not_Found
垢版 |
2017/11/03(金) 15:00:00.63ID:???
>>595
誤解を招く言い方は控えよう

>ついてきたくなかったら
ついてこれなかったら

だぞ
0599Name_Not_Found
垢版 |
2017/11/03(金) 15:36:54.56ID:???
互換があると思ってるやつは情弱
0600Name_Not_Found
垢版 |
2017/11/03(金) 17:25:07.88ID:???
>>597
かなり癖は強いよね。forEachとかと組み合わせると死ぬから
for文使わなきゃいけなくなるの辛い。
デフォルトasync functionになってくれればいいのに。
0601Name_Not_Found
垢版 |
2017/11/03(金) 17:28:04.77ID:???
>>600
async func内で無名関数作ったら自動でasync func になるか、async funcにしないと警告するようにできないもんかね。
あとawait記入漏れも地味にきつい。これもlintツールでチェックして欲しい
0602Name_Not_Found
垢版 |
2017/11/03(金) 18:30:56.21ID:???
>>601
できるだろうけど、そうすると互換性がなくなるので
それならCoffeeScriptの二の舞いになって
結局使われなくなる
0603Name_Not_Found
垢版 |
2017/11/03(金) 21:18:29.37ID:???
asyncにし忘れはawait書いた時点で構文エラーになるんだから実際は問題ない
await書き忘れもちょっとしたミスで変数に意図しない型が入ってそのまま進んでしまうという
動的型付け言語のよくある問題点だしデバッグには慣れてるでしょ
0604ひよこ
垢版 |
2017/11/06(月) 21:19:56.82ID:j8ps26FX
15年ぶりにJavaScriptを弄る必要性に迫られ、過去でも怪しかった知識と技術力と現実が
さらにかけ離れて目が回ってます・・・先輩方おしえてくださいな。

【環境】自分の環境はWindosw10 Firefox55 サーバーにはUPせずローカルのみの用途です。
【何をしたのか】document.writeしたらその部分以外が出ないしbodyカラーさえなくなるしずっとローディング中になる
→innerHTMLにしろという情報を得たがこれって既にあるものを置き換えるだけで複数出力できなくね??
【希望している仕様】
コンマ区切りのテキストファイルを読み込んで変数に出し、その変数の変化する数だけセレクトを出力
【コード】ネットに転がってるサンプルを改造してる。body前後は省略。
<body bgcolor="black">
<script type="text/javascript">
function getCSV(){
var req = new XMLHttpRequest(); // HTTPでファイルを読み込むためのXMLHttpRrequestオブジェクトを生成
req.open("get", "smp.csv", true); // アクセスするファイルを指定
req.send(null); // HTTPリクエストの発行 レスポンスが返ってきたらconvertCSVtoArray()を呼ぶ
req.onload = function(){convertCSVtoArray(req.responseText); // 渡されるのは読み込んだCSVデータ}
}
// 読み込んだCSVデータを二次元配列に変換する関数convertCSVtoArray()の定義
function convertCSVtoArray(str){ // 読み込んだCSVデータが文字列として渡される
var result = []; // 最終的な二次元配列を入れるための配列
var tmp = str.split("\n"); // 改行を区切り文字として行を要素とした配列を生成
var opel = document.getElementById("test");
// 各行ごとにカンマで区切った文字列を要素とした二次元配列を生成
for(var i=0;i<tmp.length;++i){
result[i] = tmp[i].split(',');
document.write('<option value="'+result[i][1]+'">'+result[i][1]+'</option>');
}
}
getCSV();
</script></body>
0605Name_Not_Found
垢版 |
2017/11/06(月) 21:50:51.05ID:???
とりあえずconsole.logでcsvの入力が処理できてるか確認したら?
そしたらcsv云々の質問はまるまるカットできる。
問題を切り分けるところから始めようか
0606Name_Not_Found
垢版 |
2017/11/06(月) 22:03:19.90ID:???
とりあえずパッと見て思ったのは
・document.writeは使うな
・XMLHttpRequestは使うな
・opel (#test)ってなんだ?使われてないが
・selectがないぞ
・CSVの構造がわからん
だな
0607604
垢版 |
2017/11/06(月) 22:13:04.89ID:???
>>605
CSVの入力はできています。
>document.writeしたらその部分以外が出ない
→document.write('<option value="'+result[i][1]+'">'+result[i][1]+'</option>'); ×CSV行数
=<option value="[数字]”>[数字]</option>のタグになってるかはわからないですが
×CSV行数</option>前の数字は表示されているので。
というか・・・できるはずだと思っていたのですが、document.writeを書くと
真っ白になるんですよね、上記表示以外が。
consol使ったこと無いのでググってきます・・・
0608604
垢版 |
2017/11/06(月) 22:19:51.40ID:???
>>606
ありゃ失礼
・opel→innerHTMLに書き換えようとして設定した変数。
しかしinnnerHTMLではfor文で繰り返し出力ができないんじゃね?でdoument.writeに変えた
使い慣れてたし(化石)
・CSVの仕様
PerlCGIでよく使うログファイルといっしょ。UTF-8になってるが。
1,ねこ,くろ
2,いぬ,しろ

selectは消しすぎたごめん(改行多すぎって怒られた)
<body bgcolor="black">
<form method="post" name="info">
<div class="title">ろぐびゅーわ</div>
<div class="element-select">
<div class="small"><span>
<select name="id" >
<script type="text/javascript">
0609Name_Not_Found
垢版 |
2017/11/06(月) 22:22:39.50ID:???
</script>
<script type="text/vbscript">
0610Name_Not_Found
垢版 |
2017/11/06(月) 22:29:19.24ID:???
select要素拾って普通にlength増やしつつoption追加してけばいいんじゃないの?
0611Name_Not_Found
垢版 |
2017/11/07(火) 00:25:45.74ID:???
全部書くのめんどいからヒントっぽく書くと
var foo = '';
for(){
foo += '<option>';
}
select.innerHTML = foo;
ってすればいい
0612604
垢版 |
2017/11/07(火) 03:26:08.48ID:???
>>611
できました!!
変数+=は初めて見ました。こんなのあるんですね。
みなさん感謝!
0613Name_Not_Found
垢版 |
2017/11/07(火) 04:08:15.43ID:???
でも古臭くて今となっては誰もやらないやり方だからな
0614Name_Not_Found
垢版 |
2017/11/07(火) 04:54:36.43ID:???
みんなfoo=foo+"bar"って書いてるってこと?
0615Name_Not_Found
垢版 |
2017/11/07(火) 06:29:56.51ID:???
document.write は、文書自体をすべて一旦破棄してから上書きするから、使うな

XMLHttpRequest は、jQuery の、ajax を使う。
初心者には、jQuery は必須だから、検索して

$("#test").text("hello world!");

「セレクタ.動作」の構文で、該当するセレクタすべてに対して、ある動作をする。
つまり、ループ処理と同じ
0616Name_Not_Found
垢版 |
2017/11/07(火) 06:31:30.72ID:???
DOM叩く(これも古いがinnerHTMLよりは新しいかな)か
VirtualDOM叩くフレームワーク使うかってことでは
0617Name_Not_Found
垢版 |
2017/11/07(火) 06:34:36.22ID:???
ローカルファイルは、node.js, electron とかを使う

csv ファイル読み込み関数なども、あるはず
0618Name_Not_Found
垢版 |
2017/11/07(火) 08:36:12.91ID:???
>>615
初心者にはjQuery必須とかいうのヤメレ
document.querySelector('#test').textContent = 'hello world!’;
0619Name_Not_Found
垢版 |
2017/11/07(火) 08:47:35.46ID:???
jQuery使わないにしても
test.textContext =
でいいのに何で冗長な書き方するかね
0620Name_Not_Found
垢版 |
2017/11/07(火) 10:09:36.33ID:???
Web制作板の癌はjQuery必須なんて馬鹿な落書きをしに巣から出てくんなよ
0621Name_Not_Found
垢版 |
2017/11/07(火) 11:39:30.88ID:???
XMLHttpRequestに変わる新しい通信方法があったはずですが思い出せません
誰か教えてください
0622Name_Not_Found
垢版 |
2017/11/07(火) 11:41:16.63ID:???
621ですがすいませんfetch apiのことでした
ってことで〆
0623Name_Not_Found
垢版 |
2017/11/07(火) 12:35:58.86ID:???
const o = document.getElementById('o');
const f = (n) => (e) => {
console.log(n, e);
};
o.addEventListener('click', f(1), false);


(n) => (e) =>っていう2個書く書き方をよく知らないんですがなんですかこれは?
なんでこれでnとeが使えるんですか?
0624Name_Not_Found
垢版 |
2017/11/07(火) 13:25:35.93ID:???
>>623
const f = function(n){
return function(e){
console.log(n, e);
}
};

なので
o.addEventListener('click', f(1), false);

o.addEventListener('click', function(e){
console.log(1, e);
}
, false);
になる
0625Name_Not_Found
垢版 |
2017/11/07(火) 14:31:29.52ID:???
>>623
関数の戻り値がまた別の関数になってる
カリー化ともいう
nが使えるのはその戻り値の関数もまたのfの範囲内だから

ちなみに
const f = n => e => console.log(n, e);
でもいい

ただJavaScriptでカリー化することなんてあるか?
Haskellみたくデフォルトでカリー化されてるわけじゃないんだしメリットが見当たらん
0626Name_Not_Found
垢版 |
2017/11/07(火) 14:51:04.15ID:???
Underscore.js にも、curry ある
0628Name_Not_Found
垢版 |
2017/11/07(火) 21:19:45.50ID:???
window.alertなら文字列の"window.alert"
window.widthなら"window.width"のように

オブジェクトの名前を取得する方法ってありませんか?
0629Name_Not_Found
垢版 |
2017/11/07(火) 21:43:05.12ID:???
>>618-619
一番単純な例を出してドヤ顔するのやめれw

jQueryはその一番単純な書き方で複雑なことができるんだよ

例えば
document.querySelector('#test').textContent = 'hello world!’;
に相当するjQueryの書き方は
$('#test').text('hello world'); だが

全てのclass=testの要素に文字を入れるのもほぼ同じ書き方でよい
$('.test').text('hello world');
0631Name_Not_Found
垢版 |
2017/11/07(火) 21:45:17.35ID:???
> でいいのに何で冗長な書き方するかね

test.textContext = 'hello world';
$('#test').text('hello world');

jQuery使ったほうが短いっていうねw
なんで冗長な書き方するかね?
0632Name_Not_Found
垢版 |
2017/11/07(火) 21:50:52.83ID:???
EdgeだとうごかないやんXMLHttpRrequest
node.jsってインストールとか言ってるけどなにこれJavaScriptファイルじゃないの?
0633Name_Not_Found
垢版 |
2017/11/07(火) 21:52:25.39ID:???
node.jsはサーバー側アプリを作るものだから関係ない
まあ正確に言えばブラウザ用のJavaScriptファイルを
"ビルドして" 作ることも有るからサーバー用限定ではないが、
少なくともブラウザで直接動かすためのものじゃない
0634Name_Not_Found
垢版 |
2017/11/07(火) 22:09:22.05ID:???
>>625
> 関数の戻り値がまた別の関数になってる
> カリー化ともいう

それはカリー化ではない。
カリー化は、引数を取る普通の関数を
特殊な形式の関数に変換すること

foo(a,b,c) という使い方をするfoo関数を
foo2(a)(b)(c) という使い方ができる別の関数に変換すること
>>623は関数を返す関数ってだけなのでカリー化ではない

JavaScriptでカリー化をする必要はないっていうのは理解できるが、
関数を返す関数はときたま使う

ある関数に同じ引数を何度も渡すのであれば、
部分適用を行って何度も渡さないようにできるし、

別のもう少し具体的な例をだすと
[{a: 1, b: 2}, {a: 11, b: 22}, {a: 111, b: 222}] みたいなデータが有って
aの項目でソートするか、bの項目でソートするか、選べるようにしたい時
aでソートする関数、bでソートする関数の2つを作る代わりに、
ソートする項目名を引数にして「ソートする関数」を返す関数
なんてのを作る時に使う
0635Name_Not_Found
垢版 |
2017/11/07(火) 22:15:09.20ID:???
>>623
> (n) => (e) =>っていう2個書く書き方をよく知らないんですがなんですかこれは?

アロー関数が2つくっついたってだけなだな。

function(n) {
 return n+1;
}

という関数を(thisの扱い以外)同等のアロー関数で書くと
(n) => {
 return n + 1;
}

一行で書いて
(n) => { return n + 1; }

{}とreturnを省略して
(n) => n + 1

n+1の部分が (e) => { console.log(n, e) } だったら?
(n) => (e) => { console.log(n, e) }
0636Name_Not_Found
垢版 |
2017/11/07(火) 23:19:30.48ID:???
react学ぼうと思うんですがオススメの書籍教えてください
0637Name_Not_Found
垢版 |
2017/11/07(火) 23:53:40.72ID:???
>>634
あーごめん、変な間違いしてしまった
関数を返す関数は高階関数の範疇やね
0638Name_Not_Found
垢版 |
2017/11/08(水) 00:36:18.57ID:???
>>637
また間違えた
いや、確かに関数を返す関数は高階関数の範疇なんだけど、今回のケースは特に部分適用って言った方がいいな
厳密に参照透明にこだわりたいなら使うのも良いと思うけど、ほとんどクロージャで対応しちゃうなあ
>>623なら
const n = 1;
o.addEventListener('click', e => console.log(n, e), false);
で済むし、ソートする場合も
xs => _sort(xs, 'a')
みたいな無名関数で対応してることが多い

JavaScriptの部分適用は何か無理やり感があって個人的に苦手だ
0640Name_Not_Found
垢版 |
2017/11/08(水) 06:54:22.62ID:???
jQuery を使っていないと、各ブラウザに対応できないから、
自分で各ブラウザの違いを調べて、コーディングしなければならないから、無理

>>636
入門 React ――コンポーネントベースのWebフロントエンド開発、2015

WEB+DB vol.97 の特集が、React
WEB+DB vol.94 の特集が、Kotlin, Electron
0641Name_Not_Found
垢版 |
2017/11/08(水) 09:06:15.23ID:???
各ブラウザの違いというけど今のモダンブラウザに違いは殆どないよ
逆に残っている違いってjQueryでも同じく対処が難しいなものばかり
(例えばfile選択キャンセルの監視とか)
あとはIEに対応するかどうかだけど、他にもAPIのポリフィル噛ますのと
同じようにIEにもポリフィル用意するほうが良いと思う
0642Name_Not_Found
垢版 |
2017/11/08(水) 09:31:47.13ID:???
o.addEventListener('click', function(e) {}, false);
ってするとダメで
const f = (e){}
o.addEventListener('click', f, false);
がメモリにいいとか無駄に関数が作られないとか何とか昔呼んだ気がするけど
理由はよく知りません
0643Name_Not_Found
垢版 |
2017/11/08(水) 09:45:15.04ID:???
>>641
> 各ブラウザの違いというけど今のモダンブラウザに違いは殆どないよ

そう思うならjQueryのソースコード見てみれば?
特定のブラウザ(機種)用のワークアラウンドがいくつも有る

仕様において違いはなくても、バグがあったりするわけ
特定の環境のみで起こるバグだから見つけるのは大変
0644Name_Not_Found
垢版 |
2017/11/08(水) 09:51:08.34ID:???
ライブラリなんだから好きにすればいい
スレ違い
0645Name_Not_Found
垢版 |
2017/11/08(水) 15:37:19.11ID:???
>>643
そもそも全く同一に動かそうというのが間違いなのでは?
しかも普通その必要があればオーサリングツール使うよね
0646Name_Not_Found
垢版 |
2017/11/08(水) 17:18:29.37ID:???
ゲームのBGMで繋ぎ目が分からないシームレスなループ再生をしたいのですが一般的にはどんな方法がありますか?
Web Audio APIにはloopStartやloopEndがあるので可能ですがこれは短い音声の再生用でBGMには向かないとか・・・
0647Name_Not_Found
垢版 |
2017/11/08(水) 18:11:26.71ID:???
普通にaudio要素のloop属性や秒数指定で十分じゃないかと思うけど
本当に完璧に無くしたいんならAudioWorklet使うしか無いんじゃね
0648Name_Not_Found
垢版 |
2017/11/08(水) 20:34:15.99ID:???
HTML5ゲームエンジン「Phaser」とか?
0649Name_Not_Found
垢版 |
2017/11/08(水) 21:14:55.14ID:???
>>647,648
ああその用途ならこれ、といったものは無さそう?
もう少し調べてなんとかしてみます ありがとうございました
0650Name_Not_Found
垢版 |
2017/11/09(木) 00:15:07.44ID:???
>>645
あんたが言ってるのは、同一じゃなくても(違いがあっても)
動いてるなら良いじゃないって話でしょ?

俺が言ってるのは、特定のブラウザだけバグや仕様の違いで
動かないって話だよ。

https://code.jquery.com/jquery-3.2.1.js

例えばms-プレフィックスがついて動かないとか
// Support: IE <=9 - 11, Edge 12 - 13
// Microsoft forgot to hump their vendor prefix (#9572)

セレクタのバグに対応する
// Support: IE8, Opera 11-12.16
// Nothing should be selected when empty strings follow ^= or $= or *=
// The test attribute must be unknown in Opera but "safe" for WinRT
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
とか

// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
とか

// Webkit/Opera - :checked should return selected option elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
とか

// Support: Safari 8+, iOS 8+
// https://bugs.webkit.org/show_bug.cgi?id=136851
// In-page `selector#id sibling-combinator selector` fails
とか
0651Name_Not_Found
垢版 |
2017/11/09(木) 00:22:27.44ID:???
古いブラウザが大半だろうから、サポートしませんって言っても良いのかもしれないけどさ
jQuery使っておいたほうが安全だろ?

// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE

// Support: Firefox<24
// Workaround erroneous numeric interpretation of +"0x"

// Support: Chrome 14-35+
// Always assume duplicates if they aren't passed to the comparison function

// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
// Detached nodes confoundingly follow *each other*

// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that
// don't support it.

// Support: Chrome <=35 - 45
// Webkit & Blink performance suffers when deleting properties
// from DOM nodes, so set to undefined instead
// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)

// Support: Firefox <=43 - 45
// Disconnected elements can have computed display: none, so first confirm that elem is
// in the document.

// Support: Windows Web Apps (WWA)
// `name` and `type` must use .setAttribute for WWA (#14901)
0652Name_Not_Found
垢版 |
2017/11/09(木) 02:50:10.76ID:???
>>651
ごめんけどあんたの気持ちは分からないや
今だってやってるプロジェクトで権利の関係でオールスクラッチで
当分Chromeでしか検証しないまま一応完成させて
その段階でFxやらEdgeやらモバイルで動かしてみたらなんの問題もなく動いたもの
仮にそこで何かに引っかかっても簡単な置換やなんかで済むだろうし

つうか長文載せないで今生きてるブサウザでの活きてる例をピックアップして挙げてよ
個人的にはIEには興味ないからそれ以外だとより説得力を感じる
特にChとFxの違いは勉強になるから教えて欲しい
0653Name_Not_Found
垢版 |
2017/11/09(木) 02:55:06.20ID:???
長文? 文章なんて書いてないよ。
これはjQueryのソースコードの中のコメント
こういうマイナーケースで問題が有ることは明らかになってる

ユーザーが使うブラウザのバージョンなんて指定できないからね。
あとはどれだけ見れる人が多いかどうか
問題が起きた時のクレームに悩まされるかどうか

予防していればクレームは減るよ。
あとからマイナーケースに悩まされる必要はなくなるよ

> 個人的にはIEには興味ないから
あんた個人の都合で物事を決めたりはしない
客観的なデータ。ユーザー数で考えよう
0654Name_Not_Found
垢版 |
2017/11/09(木) 09:16:01.62ID:???
まぁとりあえず、さも当たり前のように初心者に
さてjQueryを使いますって勧めるのはやめなよ。
とりあえずjQueryに頼らなくてもjsが使えるようになってから選択として
jQueryなりvue.jsなりlodashなり選択使を提示すればいい。
独善的にjQueryは標準装備ですと言うのはヤメテってだけ
0657Name_Not_Found
垢版 |
2017/11/09(木) 21:34:22.14ID:???
>>653
客観的だのなんのってよくわからないそれっぽいこと言うけど、
あくまで今は俺と君とが固有の価値観をすり合わせるんでしょ、それ以上でも以下でもない

もし一般的な話をするとしたら「客を選べない」って本来良くはないことだからね
下請けとか部下の立場で言われたとおりに作るなと言ってるわけじゃないけど、
まるでそれが正義か理想かなにかと勘違いするのは辞めたほうが良いよ

というか、なんかjQuery使わないことを病的に恐れ過ぎなんじゃない?
いつかその補助輪外す勇気が出せると良いね
0658Name_Not_Found
垢版 |
2017/11/09(木) 21:39:59.00ID:???
jQueryは補助輪じゃなくて
自転車だと思いますよ。
0659Name_Not_Found
垢版 |
2017/11/09(木) 21:52:30.56ID:???
補助輪付けてる人は少ないわけで
jQueryは世界中の多くの人が使っている以上補助輪じゃないわな

「ということにしたい!」という臭いが
プンプン感じられるレスだ
0660Name_Not_Found
垢版 |
2017/11/09(木) 21:57:41.57ID:???
唐突な自分語りですまんが
jquery使わない俺かっけーって思ってた時期があった
0661Name_Not_Found
垢版 |
2017/11/09(木) 22:12:24.41ID:???
>>655
>>654じゃないが、基礎が何も分からないのにいきなりjQueryの記述だけ覚えたときに何も出来ないかと

>>660
そもそも単なる関数の集合体のライブラリなんだから、全て自分で出来るのを簡単に書けるようにしただけだし、
使わなくて済む、または出来るならカッコイイというか良いと思うけどね
0662Name_Not_Found
垢版 |
2017/11/09(木) 22:14:40.64ID:???
> >>654じゃないが、基礎が何も分からないのにいきなりjQueryの記述だけ覚えたときに何も出来ないかと

なんで?
0663Name_Not_Found
垢版 |
2017/11/09(木) 22:33:23.08ID:???
基礎が何も分からないのにいきなりjQueryの記述だけ覚えたときに何も出来ない
っていうのは結局何の根拠もないんだよな。

そもそもおかしいよね。
jQuery使える人なら、jQueryがなくてもプログラムできるでしょ?

できない理由が「基礎がわからなくてもjQueryならできる」のであれば
どんだけjQueryは簡単なんだよ?って話になる。

jQueryは面倒な記述を減らしてくれるだけで、
決して基礎が知らない人でも使えるようになるライブラリじゃない
jQueryを過大評価するのはやめろよ。
アンチが過大評価してんだよ
0664Name_Not_Found
垢版 |
2017/11/09(木) 23:23:28.84ID:???
ここ最近のjQueryディス流れは親から育つ反抗期的な感を受ける
0665Name_Not_Found
垢版 |
2017/11/10(金) 09:30:42.52ID:???
jQueryはプログラム組めないけど何となく読める

くらいの知識で、落ちてるフリーのやつをちょっとだけ弄る

って感じの人に需要がある
0666Name_Not_Found
垢版 |
2017/11/10(金) 09:33:15.87ID:???
求めてもいないjQueryを勝手に勧めて「jQueryを使うべき理由」を語り出してもなあ
いずれにしても、スレ違い
0667Name_Not_Found
垢版 |
2017/11/10(金) 09:41:07.21ID:???
>>665
それってjQuery使わなくても一緒だと思うけど、
jQuery使わないで作るのが大変だから
そういうのはめったに落ちてないって話ですか?
0669Name_Not_Found
垢版 |
2017/11/10(金) 11:11:44.71ID:???
>>666
スレ違いはごもっともだが一々反応しているのが滑稽w
0670Name_Not_Found
垢版 |
2017/11/10(金) 12:56:34.21ID:???
何度もこういう流れがあったからテンプレ出来たのに荒らしが消したからなぁ
0671Name_Not_Found
垢版 |
2017/11/10(金) 18:07:09.13ID:???
jsからjQueryに入ったら簡単に感じる
jQueryから入って難しくてjs勉強した俺が言うんだから間違いない
0672Name_Not_Found
垢版 |
2017/11/10(金) 18:33:43.68ID:???
全然流れわからないけど、ウェブの参考にしたり拾ってくるならjquery分からないとかなり厳しい
自分だけでやるなら本当に好きにしろ
0673Name_Not_Found
垢版 |
2017/11/10(金) 21:32:07.73ID:???
多分某ローダッシュ君のような布教目的だと思って嫌う人がいるんだろうけど
jQuererに関しては単にjQuery使わないやり方を知らない・想像もできないだけだと思う
自分も昔そうだった
だからjQueryでこう書けばいい、程度であれば許してやって欲しい
0674Name_Not_Found
垢版 |
2017/11/10(金) 21:39:29.53ID:???
例えるなら仕事では「スーツを着る」のが無難で常識だと思っているところに対して
生JS派が別に裸やシャツ一枚でも十分仕事はできる、むしろスーツは窮屈
と言ってるのと同じに聞こえるんだと思う
0675Name_Not_Found
垢版 |
2017/11/10(金) 21:45:07.66ID:???
jQueryが悪いとかじゃなくて、「当然手間はかかっても生jsで同じコード書けるよね?
その上で利便性や開発生産性からjQuery選んでるんだよね?」って話じゃないの
0676Name_Not_Found
垢版 |
2017/11/10(金) 22:54:53.02ID:???
DOM APIでも大昔に比べて少しマシな書き方が
できるようになったとは言えjQueryにはかなわない

jQueryでできないことも有るかもしれないけど、
そこだけDOM APIを使えばいい

こう考えるとDOM APIのメリットはライブラリが必要ないから
ダウンロード時間が不要なのと実行速度が速い
そういうメリットを言えばいいのに、jQueryやめろーとしか言わないんだよな

いや、もちろんダウンロード時間も実行速度も無視できる程度だよ。
だからjQueryを使った時の開発速度と比較すると、小さなメリットしか無いよ。
でも、メリットを言うならそこしか無いだろ?そこを言えば良いんだよ。

今は反論されて撃沈したくないから、あえてDOM APIのメリットを言わないようにしか見えないよ
結局その程度の気持ちなんだろ? jQueryをやめろーって言ってるのは
本気でDOM APIの方がいいと思ってるなら、メリットを言えるはずだ


補足 ライブラリのメリットデメリットの話なので、
jQuery以外使えない人は困るとかいう、
人間の能力の話はしないでください
0677Name_Not_Found
垢版 |
2017/11/11(土) 00:01:05.81ID:???
jqueryが初心者向けだというなら、俺はTypeScriptを薦めたい。
コッチのほうが初心者向け。
例えばdocument.まで打ち込めばquerySelectorが候補として出るし必要パラメーターと返り値の型が分かる。
null安全でもあるからちゃんとnullチェックの分岐処理を入れないとエラーになる。
だから丁寧なコードをある程度矯正できる。

という具合に相手が求めてないのに薦めてうざいと思った?
0678Name_Not_Found
垢版 |
2017/11/11(土) 00:20:07.80ID:???
> jqueryが初心者向けだというなら、俺はTypeScriptを薦めたい。

TypeScriptは否定しないけど、それは言語の話なので
TypeScript(言語)でjQuery(ライブラリ)を使うのが良いよ。

君が勘違いしてるのはjQueryでコードが短くなることのメリットは
書く量が減るというメリットじゃなくて読む量が減るというメリット

たしかにタイプ数は減るが、仮に少ないタイプ数(操作)で
何万行もコードが自動生成され、それを読まないといけないとなったらどうする?
大変だって思うだろう? コード補完されたからといって、
そこから生成されるコード量が多ければ、その分だけ読まないといけない。

書くのは一回(数回)だが読む回数はもっと多い。
バグ修正で忘れた頃に読まないといけない。他人が読まないといけない。
そういう時に読む量を減らすのが目的なんだから、候補として出るというだけじゃ
何も問題は解決してない

そして最初の話。TypeScriptでjQueryを使えば良いんだよ


> という具合に相手が求めてないのに薦めてうざいと思った?
いや別に? 内容に穴があるなぁって思ったよ。
0679Name_Not_Found
垢版 |
2017/11/11(土) 00:27:47.05ID:???
俺も時々、型あり言語では型を書くのが面倒だが、
それは補完してくれるテキストエディタがあれば
そこまで面倒ではない。的な発言をすることがあるしね。

ここで型があったら読まなければいけない量が増えるじゃないか
っていわれそうなんで補足

俺が言ってる読まなければいけないから大変いうのは「処理」
型などの定義部分は、処理とは違って、何をやってるんだろう?と
読み解かなければいけない所ではなくって、コメントのように
あぁ、ここはこの型なのねってさらっと見ればいい部分

なので定義部分に関しては許容できる。というスタンス

だから俺にとって「冗長なコード」っていうのは、
型(定義)ありだから冗長ってことにはならないんだよね
処理しか見ないからね。

そして型(定義)部分は、たいして読まなくて良いものだから
面倒な点があるとすると(繰り返すけど定義部分は)書く時
それは補完で相殺できる。

もちろん>>677
> 例えばdocument.まで打ち込めばquerySelectorが候補として出るし
っていうのは補完してるものが定義ではなく処理(メソッド)の一部なので
こういうのはなるべく少ない方がいい。書く時ではなくて読む時の話。
0680Name_Not_Found
垢版 |
2017/11/11(土) 00:32:35.52ID:???
もう一つ>>677に補足しておこうか?

補完してくれるから、とかnull安全だからという理由は
初心者向けということにはならない。
だってそれらは上級者でも便利な道具なんだもの。

初心者向けというのは補助輪のように、
上級者にとっては足かせになるようなもののことだろう。

例えばScratchみたいなビジュアルプログラミング言語も
上級者にとっては足かせになるから、初心者向けだろう。


TypeScriptもjQueryも上級者が使っても便利なものは
初心者向けと呼ぶのは間違いだろう。
初心者でも上級者でも使いやすい道具という言い方なら間違いじゃないけどね。
0681Name_Not_Found
垢版 |
2017/11/11(土) 00:34:35.31ID:???
あと俺はjQueryが初心者向けだとは言ってないよ。

初心者に上級者でも使ってる道具を薦めるのは
小さい頃から本物のピアノを薦めるのと同じようなものだろう。
本物志向w

まあjQueryは上級者でも初心者でも使いやすい道具なんだが
0682Name_Not_Found
垢版 |
2017/11/11(土) 00:37:28.86ID:???
無関係な話は無い方が良いけど、TypeScriptやjQuery
はこのスレに関係ある内容なのでうざいとは思いませんね。

無関係な話(例えば「おまえの考えは気に食わんから書き込み禁止」的なもの)は
やめましょう。
0683Name_Not_Found
垢版 |
2017/11/11(土) 00:51:27.46ID:???
直接DOM触らんのにeachの為にjquery入れてる
みたいな悲劇が起こらなけりゃ別に良いよ
0684Name_Not_Found
垢版 |
2017/11/11(土) 00:54:55.32ID:???
ライブラリを本来の目的と違う使い方をするのは
ライブラリの問題ではなくて、使う人の問題なので、
人の問題を理由に、ライブラリに文句をつけること自体がおかしい

それを言ったら、ブラウザで動かす必要が無いのに
(alertで)画面にメッセージ表示したいために、
JavaScriptを使うという悲劇とかいう言い方までできてしまう。

そういうのは人の問題
0685Name_Not_Found
垢版 |
2017/11/11(土) 01:03:41.60ID:???
みんな今流行りのprototype.js使おうぜ最高にイケててナウいからモテるぞ
0686Name_Not_Found
垢版 |
2017/11/11(土) 01:53:02.30ID:???
prototype.jsは最終更新日は2年以上前だよ
最新のブラウザに対応しているのかどうかも怪しい

prototype.jsはDOM周りは、DOM APIのショートカットでしか
なかったのが良くなかった。jQueryはDOMをリストとして
扱うという考え方の変更だったけど、prototype.jsは
document.getElementByIdって入力するの長いでしょ?
短い名前の関数用意したよ。で終わってしまった。

標準オブジェクトのprototypeを変更するというのは、
そんなに悪くない発想だと思うんだけど、やっぱり標準で
同じ名前のメソッドが定義されて互換性がなくて。
なんだろうな。GoogleとかMozillaとか大手が同じことをやっていれば
このアプローチでも良かったんだと思うけど、運かなぁ。それがなかった

まあやっぱりjQueryに駆逐されたものという扱いなんだろうな
0687Name_Not_Found
垢版 |
2017/11/11(土) 02:47:42.53ID:???
>>675
問題はその理屈だと結局ありとあらゆる事をする時に色んなライブラリを提案しないといけないのか?ということになり
極論を言うと、今その問題を「a()」だけでこなせるライブラリ書いてupしたからそれを使うのが一番スマートだよとも言えてしまう

勿論もしそういう事なら皆それはおかしいと思うはずだが、jQueryで意見が別れるのはJSで一番有名なライブラリという特殊性にあると思う
jQueryを準標準だと考える人と、そうでない人との溝は深い
0688Name_Not_Found
垢版 |
2017/11/11(土) 02:47:44.34ID:???
>>1の禁止事項を読んでから書き込みしてもらえないものかね
0689Name_Not_Found
垢版 |
2017/11/11(土) 02:53:16.31ID:???
多分jQueryを他のライブラリと同列だと考えない人にとってはその禁止事項は意味を成さないんだろうね
何でうざがられてるのかもよく分かってないようだし
0690Name_Not_Found
垢版 |
2017/11/11(土) 12:29:20.34ID:???
jQueryがオワコン気味なのは紛れもない事実
流行中はドヤってもいいけど潮目が変わればおとなしく引き下がるべし
0691Name_Not_Found
垢版 |
2017/11/11(土) 13:10:33.61ID:???
取り敢えず使いたいやつは使えってことだろ?

俺が知りたいのは、JavaScriptを学ばずにjQueryを使うことは最適解なのかどうか。教えてくれ
0692Name_Not_Found
垢版 |
2017/11/11(土) 13:19:23.45ID:???
jQuery を使わない開発者は、ドンドン貧乏になっていく!

このブラウザでバグが出た。
このOS でも、バグが出た

新たな環境で、バグが見つかる度に、修正依頼が届くから、
結局、無料で、永遠に修正させられる

最終的には、時給が100円以下になる。
JS は、トラブルと貧乏しか生まない!
0693Name_Not_Found
垢版 |
2017/11/11(土) 13:38:33.47ID:???
とりあえずdom操作目的ならvue.jsとかreactを使うから
そのためにjquery使うのは微妙。
他に使いみちなんかあるの?
0694Name_Not_Found
垢版 |
2017/11/11(土) 21:03:39.74ID:???
なんというか、「え?プログラミングってどんなものか知りたいの?」
「じゃあ今見てるブラウザでF12押して、コンソールに1+1って入力してみて」
ってできる気軽さがJSの醍醐味なのに、初期学習者に対してjQueryを押し付けるのは無粋なんだよ
開発者としてならどんどん使ってどうぞ、でもJS初心者の学習には不要
0695Name_Not_Found
垢版 |
2017/11/11(土) 21:06:57.84ID:???
つうかそういうようなプログラミングを勉強したいっていう層や動機無視で
すぐ業務が云々言い出す奴も無粋極まりないと思う

最初はChromeとか今使ってるブラウザで動けばいいじゃない
でもそれを公開しようとした段階で別のブラウザだと仕様が違うことを知り、
じゃあどうするのかを考えるのも勉強だと思うよ
最初からjQueryありきで進めるのはやはり良くない
0696Name_Not_Found
垢版 |
2017/11/11(土) 22:10:57.10ID:???
基本的に俺もjqueryいきなり勧めるやつ否定派だけど
jqueryオワタ論は懐疑的。chrome-extensionで今開いているサイトの使ってるライブラリが分かるやつがあるんだけど
qiitaではreact押しでjquery否定な感じだが
現実はそこまでreact使ってるサイトはないし、jquery使ってるサイトは多い。
多分、理想と現実のギャップを目撃してるんだろうけどね。
0697Name_Not_Found
垢版 |
2017/11/12(日) 00:11:40.73ID:???
このスレはそういう流れをもう何度も繰り返してきたんだよ
>>11にまともなテンプレが載ってるから目を通すと不毛な争いを避けられる
0698Name_Not_Found
垢版 |
2017/11/12(日) 04:44:55.51ID:???
どう考えても避けられるとは思わない
歴史の教科書や犯罪事例が合っても犯罪がなくならないのと同じ
0699Name_Not_Found
垢版 |
2017/11/12(日) 10:01:46.12ID:???
何れにしてもライブラリの話題は他所でやれってことでしょ
jQueryなんて専用スレあるんだしそっちに誘導してやればいい
0700Name_Not_Found
垢版 |
2017/11/12(日) 11:21:40.43ID:???
一々反応している方が野暮
0702Name_Not_Found
垢版 |
2017/11/12(日) 18:17:50.83ID:???
>>690
> jQueryがオワコン気味なのは紛れもない事実
せめてシェアが大きく下がってから言うか、
jQueryよりも優れているというコードを書いてから言ってほしい所
0703Name_Not_Found
垢版 |
2017/11/12(日) 18:21:36.06ID:???
>>693
> とりあえずdom操作目的ならvue.jsとかreactを使うから

現実から目をそらさないで考えてみ。
今までHTMLとCSSで書いていました!
というのをvue.jsやreactに置き換えた所あるかい?

vue.jsやreactの欠点は、既存のHTML+CSSに
JavaScriptを付け足して動作をカスタマイズするという
用途に向かないんだよ。
0704Name_Not_Found
垢版 |
2017/11/12(日) 18:28:50.80ID:???
>>696
> qiitaではreact押しでjquery否定な感じだが
> 現実はそこまでreact使ってるサイトはないし、jquery使ってるサイトは多い。
> 多分、理想と現実のギャップを目撃してるんだろうけどね。

理由ははっきりしていて、react押しなのはもともとJavaScriptを
多用するサイトを使っていて、JavaScriptコードのメンテナンスコストが
高くなってしまってるという前提が有るからなんだよ。

残念ながら既存のウェブサイトはページの一部にJavaScriptを利用しているだけ
例えば会社の地図を表示するためにAPIを使ったりとかね
その程度なんだからreactに乗り換えるわけないよ
0706Name_Not_Found
垢版 |
2017/11/13(月) 18:11:26.70ID:???
Reactは最近むしろReact Nativeが最近勢い良いじゃん
知ってるか?WebブラウザのためのReact風にNativeアプリを作れるようにした
React NativeをWebブラウザ用に書き出すためのReact Native Webというのがあって
そこそこ使われてるんだぞ?まさに奇想天外だな
0707Name_Not_Found
垢版 |
2017/11/13(月) 21:44:33.32ID:???
>>706
> Reactは最近むしろReact Nativeが最近勢い良いじゃん

あー、それは理解できるな
Reactはアプリ用であってウェブサイト用ではない
と考えるとReact Nativeになるもんな

まあどちらにしろウェブサイト用のjQueryに変わる
ライブラリはまだ登場してないことに変わりはないが
0708Name_Not_Found
垢版 |
2017/11/13(月) 23:09:48.80ID:???
reactのjsxはキモいんだがわかるやついない?
0709Name_Not_Found
垢版 |
2017/11/13(月) 23:12:12.35ID:???
jQueryに変わるウェブサイト用のライブラリってのも必要性が分からんけどな
jQueryで何千行も書いたりしないんだろう?
実際はせいぜい十回くらい要素取るためだけに使ってるだけじゃないの?

なら別にそれ使わなくたって大した違いないじゃん
lodashに含まれる僅か数種類の機能を数カ所で使いたいからといって
わざわざlodashをライブラリに加えたりしないでしょ

逆にアプリケーションとしてフレームワークを使うってことなら
それこそ何千行の短縮になるから価値も理解できるけどさ
なんか取り敢えずちょっとはマシになるだろうから何も考えず取り敢えずちょっと使っとけ
みたいなのは容認できないわ
0710Name_Not_Found
垢版 |
2017/11/13(月) 23:18:16.24ID:???
>>709
いやねあんたの言う「大したことはない」は
「面倒だけど、それぐらい我慢できる」って意味になってるんだよ

なんでいちいち我慢しなきゃならんのかと
0711Name_Not_Found
垢版 |
2017/11/13(月) 23:18:53.55ID:???
各ブラウザのバグ対応も有るしな
jQueryをやめると、コードは5倍ぐらいになるからな
0712Name_Not_Found
垢版 |
2017/11/13(月) 23:20:10.90ID:???
なんのメリットもないのに使わなくても我慢できるから使うな的な
理屈を言うのやめろよ。メリットを言えよ。メリットを
0713Name_Not_Found
垢版 |
2017/11/13(月) 23:44:49.54ID:???
古いブラウザは動かなくさせられるメリットがある、とか
0714Name_Not_Found
垢版 |
2017/11/14(火) 00:02:44.95ID:???
>>712
いや、メリットは暗に言ってるだろ
管理するライブラリが減る、管理しなくて済むと
仮に倍違うとしても、ここで質問されるのはせいぜい数行のもの
その数行の節約のために質問者にjQueryのDL、もしくは管理と
勉強を強制するのはそれこそメリットよりデメリットが上回ってるでしょ

バグ対策とかいうのもここでの質問には基本的に必要ないんだよ
まあ仮に質問者が教えていただいたコード僕のIE6じゃ動きませんと言ったとしても
じゃあjQuery使うと良いよというのが良いのかどうかは分からんがな
0715Name_Not_Found
垢版 |
2017/11/14(火) 00:07:45.32ID:???
必要に応じて適切なライブラリやフレームワークを推奨するんなら分かるけれど
何でもかんでもjQuery有りきっていうのは間違ってるってことでしょ
メリットが有るなんてどのライブラリやフレームワークだって同じだし
ならこの世の全てのライブラリやフレームワーク使うのか?って話になる
0716Name_Not_Found
垢版 |
2017/11/14(火) 00:10:09.90ID:???
>>714
> 管理するライブラリが減る、管理しなくて済むと
普通の言語だったらそうだろう

だけど、ブラウザの場合はどうしても避けられない
ブラウザの種類というものが有る。

ブラウザの種類を管理しなければいけないんだ。
jQueryを使うと管理するブラウザの種類が減る
それぞれのブラウザのバグの対応を行ってくれる

そっちのメリットのほうが大きいよ
0717Name_Not_Found
垢版 |
2017/11/14(火) 00:14:28.42ID:???
>>715
> 必要に応じて適切なライブラリやフレームワークを推奨するんなら分かるけれど
> 何でもかんでもjQuery有りきっていうのは間違ってるってことでしょ

いや、場合によってはjQueryじゃなくてlodashを勧めたりしてるよ
momentを勧めたことも有る。なんでもjQueryではなく
その他が適切な場合は別の方法を提示してるよ。

単にAngularやReactが適切な質問がないってだけ
それは俺が適切じゃないと思ってるだけで、
jQuery以外のライブラリやフレームワークが適切だと思えば
その例をサンプルコード付きで出してあげればいいじゃない
0718Name_Not_Found
垢版 |
2017/11/14(火) 00:23:25.64ID:???
>>714
> 仮に倍違うとしても、ここで質問されるのはせいぜい数行のもの
> その数行の節約のために質問者にjQueryのDL、もしくは管理と

人生で数行しかコードを書かないならそうだろうね。
でも違うからね。
0719Name_Not_Found
垢版 |
2017/11/14(火) 00:23:56.34ID:???
>>716
だから上でも一度言ったがお前の仕事ならそうすればいいさ
俺も仕事ならそうする
でもこのとかのスレの性質上コード作成依頼は当然お断りだし、一問一答のような場合が殆ど
レベルとしては小中学校の義務教育内容なんだよ

jQueryを使ってどう書けますか?どういう道具を使えば実現できますか?という質問なら
その都度、何も考えずにこのライブラリ使えばこれで済むよ、でいいんだよ
でも質問者的にはJSを勉強しよう、理解しようという趣旨で一般的な質問してきてる場合が多い
ここは「JavaScript を自ら学ぶ人のための質問スレッド」だからね
そうじゃないと必然的にコード作成依頼に近くなってくる

その上でここなどでの回答というのは最も単純に物事を解決できるものではなくて
きちんと質問者がJSの勉強を出来るものでないといけないんだよ
誤解しないでほしいけどそれはライブラリの話するなと言うことではないよ
ただjQueryは必須だといってJSに全く向き合おうとしないのは、
何だかんだ理由つけて完全に素のJSから逃げようとするのは行き過ぎということ
0720Name_Not_Found
垢版 |
2017/11/14(火) 00:36:09.26ID:???
質問者に決めてもらえばいい
『私は小中学生なので高校や大学で習う公式で教えないで下さい』か
『私は社会人なので率直に役立つ方法を教えて下さい』か
0721Name_Not_Found
垢版 |
2017/11/14(火) 00:39:07.28ID:???
>>719
質問者を育ててるつもりかもしれんがそれはお前のエゴ
育つやつは勝手に育つ
俺達は自由に解答すればいいだけ
それをどう捉えて活かすかは完全に質問者の責任
0722Name_Not_Found
垢版 |
2017/11/14(火) 00:45:37.52ID:???
そんなに「JavaScriptを学ぶ」に
こだわるならDOM APIはブラウザが提供しているAPIであって
JavaScriptではないと言わないといけないな。
どうせダブルスタンダードなんだろうけどな。
0723Name_Not_Found
垢版 |
2017/11/14(火) 01:40:24.03ID:???
ChromeでのみWebGL2のcreateVertexArrayが時々nullを返すんですけど返す条件って分かりませんか?

あとcreateVertexArrayやcreateBufferで作成したオブジェクトも参照が切れた時点でGCで回収されるので明示的にdeleteしなくても大丈夫ですよね?
0724Name_Not_Found
垢版 |
2017/11/14(火) 12:23:51.25ID:???
>>723
できれば再現するための最小コード貼ってみて
まあ経験上はタイミング的問題というかバグなのかもしれない
それと昨今のメモリリークバグはdeleteは関係ないよ
JSオブジェクトとリンクされた内部バッファの管理の問題だから
JS側では別策を取る以外何もできないというのが主流だから
とは言えChromeは1年くらい前からネイティブとJSのGCを統合する仕組み強化したから
Canaryでも使っていない限り滅多にお目にかかれないと思うけどね
(ただしBlobURLを使うと仕組み上どうしてもリークする)
0725Name_Not_Found
垢版 |
2017/11/14(火) 15:59:49.08ID:???
取ってつけたように適当な質問しなくていいから(呆)
0726Name_Not_Found
垢版 |
2017/11/14(火) 19:25:58.87ID:???
>>722
それは流石にない
まずは銃に頼らず筋肉を付けろと言ってるところに
じゃあ人間の本質は脳だから手足を無くせと言うようなもの
0727Name_Not_Found
垢版 |
2017/11/14(火) 22:46:30.96ID:???
>>726
例えが的外れ。

まずjQueryはJavaScriptで使うライブラリなのだから
使う言語はJavaScriptだ。jQueryを使っていても
JavaScriptを使う以上、JavaScriptの勉強になる。

DOM APIはJavaScriptではない。これはJavaScriptの仕様書に
DOM APIがのってないことからも明らか
つまり、おまえはJavaScriptとDOM APIを混同している。
0728Name_Not_Found
垢版 |
2017/11/14(火) 22:53:27.15ID:???
> まずは銃に頼らず筋肉を付けろと言ってるところに

これを「道具に頼らず筋肉をつけろ」と言い換えれば
DOM APIの立場ってのがよく分かるだろう。
jQueryは道具。DOM APIは筋肉。普段の生活で何を使っている?

朝起きてシャワー浴びて着替えて電車に乗って
パソコンを使って仕事をして食べ物を調理して寝る

川に行って水を組んで火を起してお湯にして
何キロも歩いて紙と鉛筆で図表を作って
狩りをして火をおこして焼いて寝る

これが「道具に頼らず筋肉をつけろ」ということだ
無人島ツアーじゃあるまいし、そんなことをして遊ぶ気はない。
どうしても必要なところだけ頑張ればいい
0729Name_Not_Found
垢版 |
2017/11/14(火) 23:31:58.13ID:???
DOM APIはCで言うところのOSのAPI(の一部)みたいなもんだと思う
CとJavaScriptは単独ではコンパクトな辺りはよく似てると思う
0730Name_Not_Found
垢版 |
2017/11/14(火) 23:43:07.17ID:???
OS、例えばWindowsだと、Win32APIを持ってきて、
これが基礎だと騒がれる気持ちがわかるだろう?
0732Name_Not_Found
垢版 |
2017/11/15(水) 01:04:29.89ID:???
このスレはあと10年は話題に困らねえな
0733Name_Not_Found
垢版 |
2017/11/15(水) 04:08:54.53ID:???
ぶっちゃけjQueryが一番息が長くて
これからもほとんど変わらず生き残り続ける
ライブラリだよ。

AngularとかReactとか1年後に今の知識が
使えるかどうか怪しい
0734Name_Not_Found
垢版 |
2017/11/15(水) 06:17:46.03ID:???
オワコンって言ったのがよほど癪に障ったか
0735Name_Not_Found
垢版 |
2017/11/15(水) 08:14:43.01ID:???
オワコン云々よりjQueryに変わるような優れたライブラリがないだろ?w
0736Name_Not_Found
垢版 |
2017/11/15(水) 08:34:48.95ID:???
まあbootstrapがjQueryに依存してるからなあ
生き残ってる理由はそれが大きいな
0737Name_Not_Found
垢版 |
2017/11/15(水) 09:03:12.35ID:???
>>730
数年前ならWin32APIだったと思うが今なら(ネイティブではないが).NETくらいには感じてるよ
0740Name_Not_Found
垢版 |
2017/11/15(水) 10:38:11.40ID:???
>>739
本末転倒ってやつだなw

○○が良いから乗り換えた・・・乗り換える理由がある。正しい
○○が嫌だから乗り換えた・・・乗り換える理由がない。間違い
0741Name_Not_Found
垢版 |
2017/11/15(水) 12:20:20.92ID:n/iKPJ6+
Underscore を使っている、Backbone.js でさえ、
イベントハンドラーを追加した要素の、祖先の要素を削除したら、メモリリークを起こす

jQuery では、祖先の要素を削除したら、
その子孫のイベントハンドラーもすべて削除するから、メモリリークしない

jQueryの互換ライブラリのZepto.js でも、メモリリークする
0742Name_Not_Found
垢版 |
2017/11/15(水) 14:11:16.81ID:???
それは仕様の違いであってメモリリークとは言わない
もしかしたら生子要素を再利用する場面もあるかもしれないし
0743Name_Not_Found
垢版 |
2017/11/15(水) 19:42:17.83ID:???
>>727
> DOM APIはJavaScriptではない。これはJavaScriptの仕様書に
> DOM APIがのってないことからも明らか
JavaScript APIという用語を知らないのか
それから、JavaScriptという仕様書はないぞ
君が「JavaScriot = ECMAScript」と曲解してるだけ
0744Name_Not_Found
垢版 |
2017/11/15(水) 21:07:16.10ID:???
そんな文句を付けて何か意味があるのかは知らんが
取り敢えずJavaScriptという仕様書はかつてあったけどな
__defineGetter__やらESの仕様にないがブラウザが実装しているものについて
WHATWGが定義していたが拡張も概ねES仕様書に乗るようになったので削除された
0746Name_Not_Found
垢版 |
2017/11/15(水) 21:34:31.02ID:???
JavaScript APIとはなにか?
https://www.google.co.jp/search?q=";JavaScript+API"&oq="JavaScript+API"&sourceid=chrome&ie=UTF-8

Maps JavaScript API - Google Developers
JavaScript API for Office - MSDN - Microsoft
JavaScript API の例 - IBM
Garoon JavaScript API - cybozu developer network
0747Name_Not_Found
垢版 |
2017/11/15(水) 21:40:15.09ID:???
JavaScript APIって呼び方意味分からんわ
JavaにJSの環境を公開するAPIならそう呼ぶのはわかるが
ライブラリはあくまでライブラリでしょ
jQueryくらい薄いラッパーではAPIと名乗ることすらおこがましい
0748Name_Not_Found
垢版 |
2017/11/15(水) 21:40:18.87ID:???
>>744
「JavaScript, aka.」の事だとしたら、相互運用性の為に非推奨機能をまとめただけの補完的仕様で「JavaScriptの仕様」と呼べるものでもなかったと思う
0749Name_Not_Found
垢版 |
2017/11/15(水) 21:42:17.22ID:???
JavaScriptによるAPIなのか
JavaScriptのためのAPIなのか
コンテキストによるだろ
0750748
垢版 |
2017/11/15(水) 21:45:18.62ID:???
それ単体で「JavaScriptの仕様」と呼べるものでもなかったと思う

に訂正しておく
0751Name_Not_Found
垢版 |
2017/11/15(水) 21:47:20.24ID:???
過去にW3CでJavaScript APIという単語を見た覚えがあるけど、今見るとなくなってるね
まあ、API for JavaScriptとでもいえばいいんじゃない?
0752Name_Not_Found
垢版 |
2017/11/15(水) 21:50:01.04ID:???
今の論点はEcmaScriptという仕様の実装であるJavaScriptに
DOM APIが含まれているものは存在しないというところでしょ
0753Name_Not_Found
垢版 |
2017/11/15(水) 21:51:58.67ID:???
DOM APIはJavaScript以外からも呼び出せる
だからDOM APIがJavaScript APIなのではなく
DOM API for JavaScript というものがあるという話
"JavaScriptのための" DOM APIなのだから
JavaScriptに DOM APIが含まれていないのは明らか
0754Name_Not_Found
垢版 |
2017/11/15(水) 21:52:10.44ID:???
Google Chrome等のJavaScript実装はDOM APIを実装しているだろ
0755Name_Not_Found
垢版 |
2017/11/15(水) 21:53:57.83ID:???
>>753
その理屈はおかしい
クロスプラットフォームなAPIはどのプラットフォームでも実装できるというだけ
JavaScritptでもJavaでもPHPでも使えるAPIがDOM API
0756Name_Not_Found
垢版 |
2017/11/15(水) 21:58:52.82ID:???
>>754
> Google Chrome等のJavaScript実装はDOM APIを実装しているだろ

その答は「含んでない」
ということを明らかにすれば君も納得できるんじゃない?

なぜ含んでいないのが明らかなのかというと、Google Chrome等のJavaScript実装は
V8 Engineなわけだが、このV8 エンジンは ブラウザではないnodeでも使われてる。
nodeにDOM APIがないのは言うまでもない

そしてもう一つDOM APIを実装しているものとしてBlinkという別の名前がある

https://www.chromium.org/blink

そのblinkから興味深いコメントを持ってきたよ。DOMがBlinkにあることの証拠になるだろう。

> Finally, we’d like to explore even larger ideas like moving the entire
> Document Object Model (DOM) into JavaScript. This has the potential to
> make JavaScript DOM access dramatically faster, but will involve a very
> large re-write of WebKit’s DOM implementation?something that would
> be difficult in WebKit which has two supported JavaScript engines.

Google翻訳

> 最後に、Document Object Model(DOM)全体をJavaScriptに移行するなど、
> より大きなアイデアを検討したいと考えています。これは、JavaScript DOMへの
> アクセスを劇的に高速化する可能性を秘めていますが、WebKitのDOM実装を
> 非常に大きく書き直す必要があります.WebKitでは2つのJavaScriptエンジンがサポートされていません
0757Name_Not_Found
垢版 |
2017/11/15(水) 22:02:03.69ID:???
>>755
JavaでもPHPでも使えるから
Java APIでありPHP APIだって
言いたいって話でOK?
0758Name_Not_Found
垢版 |
2017/11/15(水) 22:08:10.94ID:???
>>757
それぞれの言語仕様の範疇でDOM APIを呼び出しているわけだから、その解釈でいいんじゃない?
同じDOM APIでもJavaとJavaScriptでは命名規則が微妙に違うよね
0759Name_Not_Found
垢版 |
2017/11/15(水) 22:10:54.34ID:???
>>756
仕様と実装の違いは理解できるか?
node.jsはDOM APIを実装しなかった
Google ChromeにおけるJavaScript実装はDOM APIを実装した
それだけの違い
0760Name_Not_Found
垢版 |
2017/11/15(水) 22:14:58.29ID:???
>>758
そりゃそうだろ。

概念的にはこんな感じだ

[DOM] - [JavaScript用バインディング] - [JavaScript]
[DOM] - [Java用バインディング] - [Java]

見ての通り、JavaにDOMが含まれているわけじゃない
0761Name_Not_Found
垢版 |
2017/11/15(水) 22:15:52.56ID:???
>>759
node.jsとChromeは両方共
同じJavaScript実装を使ってるんだよ。
おまえまずそこからだな。
0762Name_Not_Found
垢版 |
2017/11/15(水) 22:17:44.15ID:???
これ仕様の話をしてんの?
実装の話をしてんの?
「JavaScriptの仕様」なんて話をしている輩は論点がずれている気がするけど
0763Name_Not_Found
垢版 |
2017/11/15(水) 22:20:02.83ID:???
そもそも、JavaScriptという名の仕様が存在しないから、JavaScript実装なんてワードを持ってくるのが間違いなんだな
0764Name_Not_Found
垢版 |
2017/11/15(水) 22:20:17.13ID:???
>>763
そもそもそれ言ってるやつ「仕様」と「実装」の意味がわかってないと思う
なんかブラウザのことを実装、JavaScript(?)のことを仕様と思ってるっぽい

正しくはブラウザはJavaScript実行環境。
V8エンジンなどのJavaScript実装とBlinkなどのレンダリングエンジン(DOM含む)
これがJavaScript実行環境

JavaScript実行環境は、JavaScriptの仕様でも実装でもない
0765Name_Not_Found
垢版 |
2017/11/15(水) 22:32:13.79ID:???
実行環境も実装の一つだけどねえ
言葉遊びみたいだ
0767Name_Not_Found
垢版 |
2017/11/15(水) 22:34:11.46ID:???
V8エンジンを使っただけどオレオレブラウザ作っても
JavaScript実装したぜすげーだろとはいえないからなぁ
0768Name_Not_Found
垢版 |
2017/11/15(水) 22:35:20.09ID:???
な? >>765はブラウザのことをJavaScript実装って言ってるわけだよ
バカってわかっただろ?
0769Name_Not_Found
垢版 |
2017/11/15(水) 22:37:12.75ID:???
優越感に浸ることが出来て良かったね
0770Name_Not_Found
垢版 |
2017/11/15(水) 22:38:16.25ID:???
>>724
どういう環境・状況で発生するか分からないので最小コードは分かりません
開放してないのでメモリリークでnullになってるのかと思ったので
deleteVertexArrayやdeleteBufferで開放してないせいだと思いましたが
明示的にしなくても良いということでしょうか?
0771Name_Not_Found
垢版 |
2017/11/16(木) 02:27:09.59ID:???
ドライバのバグかもしれんしとりあえずnullが来ても良いようにするしかない
0772Name_Not_Found
垢版 |
2017/11/16(木) 02:44:39.48ID:???
>>770
しなくてもJSオブジェクトの参照が切れれば遠くないうちに回収される
deleteを呼ぶとそれを早める事ができる
と仕様に書いてある
0773Name_Not_Found
垢版 |
2017/11/17(金) 09:32:26.73ID:???
子供の頃自治会の野球やらされ続けて苦痛だったがjQuery推しの奴らはそれと似てるな
ただ皆と上手く遊べるように運動神経付けたいですってだけなのに素振りを押し付けてくる
実際遊ぶことが多いのは野球が多いにしても問題があると思うけどな
0774Name_Not_Found
垢版 |
2017/11/17(金) 09:46:19.04ID:???
まーたわけのわからないことを言い出した
野球批判したいだけなら野球板でやればいいだろ
0775Name_Not_Found
垢版 |
2017/11/17(金) 13:15:17.66ID:???
マジレスすると、野球の批判ではなく野球のように有名だが特殊なものを
それが常識であるかのように押し付ける事への不満だろ
0776Name_Not_Found
垢版 |
2017/11/17(金) 13:38:16.50ID:???
わかってて野球批判へ話をすり替えるためにレスしてるんでしょ
0777Name_Not_Found
垢版 |
2017/11/17(金) 23:51:53.22ID:???
>>775
マジレスすると

1. 野球とjQueryが似てると言うだけでその根拠が書いていない(だから似てないかもしれない)
2. 1以外(似てるという根拠がない)野球の話しかしていない
3. 子供の頃野球やらせて苦痛だという前提の話をしてる(苦痛じゃない人には当てはまらない)
4. 運動神経付けたいだけの人という前提で話をしてる(野球やりたい人を含めていない)
5. 素振りを押し付けてくるという前提で話をしてる(野球をさせてくれる所に当てはまらない)


つまり勝手な前提を取っ払って、自分の感想部分を明確にすると

「俺は運動神経付けたいだけなのに、俺の自治会では野球をさせてもらえず
素振りばかりやらされて苦痛だった。でも世の中には野球が好きで野球させてくれる
恵まれた人もいるだろう。そういう自治会であれば苦痛でもなんでもないのに。
そういうところがjQueryと似ている」

と言ってるわけだよ

一言で言うと「俺は野球嫌いで野球やらされるのも嫌い。お前らもそうだろ。そうに決まってる」
と言ってるわけで・・・あぁ、一緒だ

「俺はjQuery嫌いでjQueryやらされるのも嫌い。お前らもそうだろ。そうに決まってる」

おまえの好みを押し付けるな。余計なお世話だって話と一緒だ。
野球やるかやらないかは、勧められた人が決めれば良いこと
提案はなんでもOKだ。
0779Name_Not_Found
垢版 |
2017/11/18(土) 00:12:45.10ID:???
>>788
おまえが野球嫌いだからって他人も同じだと思うな
野球勧められてやるかどうかは、本人が決めることだ
他人のおまえが指図すんな。だまってろ
0780Name_Not_Found
垢版 |
2017/11/18(土) 01:24:56.79ID:???
ただの感想にこれだけ突っかかってる時点で自己矛盾してるわけだが、自覚がないのが厄介だな
0781Name_Not_Found
垢版 |
2017/11/18(土) 03:01:03.11ID:???
なぜ感想に突っかかることが矛盾になるのか?
意味が分からんな
0782Name_Not_Found
垢版 |
2017/11/18(土) 03:12:56.53ID:???
あれかな?

jQueryに文句言っても、黙っていてください
その代わりjQueryに文句言いませんから

とかいう矛盾w
0783Name_Not_Found
垢版 |
2017/11/18(土) 04:42:05.70ID:???
jQueryに対して何らしかの不満を持ってて嫌われているんじゃなく
それを使う人のとある振る舞いが注意されてるだけなのにまだわからないか
呆れるね
0784Name_Not_Found
垢版 |
2017/11/18(土) 04:51:26.43ID:???
>>783
あんた質問者でも回答者でもないんだろ?
それが余計なお世話ってまだわからないのか?

注意してるのはおまえであって、質問者じゃない
感謝すべき回答をおまえは自分が気に食わないからって
書き込むなって言ってるだけ。

少しは口をつぐんだら?おまえが黙っていれば
おまえに文句はつけないよ?w
0785Name_Not_Found
垢版 |
2017/11/18(土) 05:22:48.20ID:???
「とある振る舞い」とかぼやかして書くから
何が言いたいの分からんが、やって良いことを羅列しておこう

・jQueryの話題をすること
・jQueryのサンプルコードを書くこと(むしろ大歓迎)
・jQueryのすばらしさを語ること
・jQueryのデメリットを言わないこと(ほかの人がやればいい)
・jQuery以外のサンプルコードを書くこと(むしろほかの人がやれ)
0786Name_Not_Found
垢版 |
2017/11/18(土) 09:19:43.66ID:???
> おまえの好みを押し付けるな。余計なお世話だって話と一緒だ。
ブーメランだよなあ
0787Name_Not_Found
垢版 |
2017/11/18(土) 10:19:57.34ID:???
「言論の自由」を主張しながら、他者に対しては言論封殺。
そういう行為を二枚舌と言います。
0788Name_Not_Found
垢版 |
2017/11/18(土) 11:33:20.86ID:???
>>785
jQuery信者のjQuery信者によるjQuery信者の為の言論統制
0789Name_Not_Found
垢版 |
2017/11/18(土) 11:44:44.46ID:???
別にjQueryに限らなくても、ちょっとした数行の質問回答程度で
やれ関数型で書くのが安全だのワンライナーがスマートだの拘り過ぎるやつは鬱陶しい
しかもそれが今回のケースでは適当というのならまだ有用だしなんの問題もないけど
jQueryの奴らはDOM操作が伴えば必ずそうしろというただの信仰心の押し付けを行ってるだけだもの
0790Name_Not_Found
垢版 |
2017/11/18(土) 11:50:17.01ID:???
俺はjQueryがどちらかといえば嫌いだが、jQueryユーザには罪はないと思っていたんだ
だが、このスレを見てると、jQueryユーザの宗教染みた押し付けが酷くて、jQueryユーザそのものに嫌悪感を抱くようになりつつある
良識あるjQueryユーザにはいい迷惑だろうな
0791Name_Not_Found
垢版 |
2017/11/18(土) 12:08:59.61ID:???
>>789
それはおまえの思い込み。
ただ単にjQuery使ったほうがシンプルにかけるから
書いているだけ。被害妄想も大概にしとけ
0792Name_Not_Found
垢版 |
2017/11/18(土) 12:10:18.21ID:???
>>786
ブーメランじゃないよ。

選択肢を増やすのは良いこと。
その選択肢をなくそうとするのはダメなこと。

選択肢をなくそうとするのではなくて
別の選択肢をいわないと
0793Name_Not_Found
垢版 |
2017/11/18(土) 12:38:58.26ID:???
>>789-790
そもそもここは荒らしがこの流れにするためにテンプレ撤去して立てたスレなんだから
良識も糞もないんだよ
0794Name_Not_Found
垢版 |
2017/11/18(土) 13:36:49.49ID:???
ページの再読み込みなしでURLとページ内容が変わるのってどういう仕組みでしょうか?
進む戻るの履歴には記録されましたが、読み込み中の表示もないしページが読み込まれると動くアドオンなどは動かないです

IEとCHROMEで同じ挙動でした
javascriptだとは思うのですが、よろしくおねがいします
0797Name_Not_Found
垢版 |
2017/11/18(土) 14:45:36.67ID:???
>>791
違うね
ライブラリを入れるって事自体がシンプルじゃない
関数型チックに書くとかとは訳が違う

結局jQuery推しの人は目の前の問題にシンプルに答えることをせず
やれブラウザの互換性だの自分で勝手に問題を難しくしてるだけ
0798Name_Not_Found
垢版 |
2017/11/18(土) 14:55:29.68ID:???
>>797
シンプルに"書ける" って話をしてる

おまえが言うシンプルとは書くことの話じゃないだろ
曖昧な言い方をして話をすり替えんな

ホントお前キモいわ
0799Name_Not_Found
垢版 |
2017/11/18(土) 15:00:01.69ID:???
>>797
どんな答だって目的を実現できてるなら
書いて良いんですよ?

jQueryで書きたい人はjQueryで書けばいいし、
あんたの好きなやり方で書きたいなら書けばいいでしょ?

やったらだめなことは、jQueryで書くなと言うこと
どんなやり方だってそれはちゃんとした回答だが
書くなということは回答じゃない。
単なるおまえのやり方の押しつけ

押し付けはやめておまえのやり方のコードを書きましょう。
jQuery版は何回もコードが上がっています
0800Name_Not_Found
垢版 |
2017/11/18(土) 16:54:10.36ID:???
>>795
ありがとうございます。多分これですね
詳しく調べてみます
0801Name_Not_Found
垢版 |
2017/11/18(土) 16:59:26.90ID:???
どういたしまして。とまあjQuery布教の合間に
こうやって感謝されているわけさw
悔しかったら対抗してみれば?
0802Name_Not_Found
垢版 |
2017/11/18(土) 20:47:21.09ID:???
子供のケンカまだやってたのかいい加減にしろよ
ここら質問スレなんだから他でやれ
0803Name_Not_Found
垢版 |
2017/11/18(土) 23:20:03.09ID:???
>>792
jQuery以外の選択肢を奪っておいてよくいうなあ、と思った

> ・jQueryのデメリットを言わないこと(ほかの人がやればいい)
> ・jQuery以外のサンプルコードを書くこと(むしろほかの人がやれ)
0804Name_Not_Found
垢版 |
2017/11/18(土) 23:42:55.73ID:???
>>803
奪うというのは、jQueryの話題をするなと連呼すること
なんで俺が書かないことが、奪うことになるのか?
俺が全ての書き方を伝授すれば良いのか?
0805Name_Not_Found
垢版 |
2017/11/19(日) 00:57:34.39ID:???
>>799
だれもjQueryで書くななんて言ってないと思うけど
ただ本当は有用でないものを有用だと偽って勧めるのは良くないよね
最初から「布教目的だけど」とか「俺のエゴだけど」とか言って勧めてね
あ、違うか、「ブラウザ互換が怖いからおせっかいかもしれないけどわざわざライブラリ使うね」だったね
0806Name_Not_Found
垢版 |
2017/11/19(日) 01:16:11.05ID:???
>>805
じゃあこれからもjQueryでサンプルコード書いていきますね(にっこり)
もちろん理由もちゃんと書いていきますね。jQueryを使った理由を
0807Name_Not_Found
垢版 |
2017/11/19(日) 01:16:51.35ID:???
jQueryを含めたライブラリの話題をすることは
禁止じゃないからな。誰もjQueryで書くななんて言うはずがない
0808Name_Not_Found
垢版 |
2017/11/19(日) 01:19:52.03ID:???
>>805
ブラウザの互換性ならとっくに問題なくなってるよ。

今問題になってるのはブラウザのマイナーなバグや
(互換性ではなく)機能の違い

互換性は高くてもバグが有ることは避けられないし
互換性は高くても、あるブラウザには搭載されてない機能
ってのが存在する。機能の有無と互換性は関係ないから

そういう時jQueryで書いていれば、かなり古いブラウザも含めて
同じように動くことが保証されている。

そしてそれ以上にjQueryを使うと記述量が大幅に減るのがメリット
これは誰もが比較コードを書いて証明してくれる
jQueryで書くとこんなに短いコードが、jQueryなしだと
こんなに複雑になりますよって。
0809Name_Not_Found
垢版 |
2017/11/19(日) 02:14:46.57ID:???
っていうかjQueryを未だにブラウザ互換のために使う人なんているの?
純粋に開発効率が高いから使ってるんでしょ?
何年前から時代が止まってるんだろうなー
0810Name_Not_Found
垢版 |
2017/11/19(日) 08:49:36.20ID:???
>>809
互換に於いての開発効率も上げるよ
そんなに目の敵するようなことでもないだろ?w
スレ違いなのでこれで終了
0811Name_Not_Found
垢版 |
2017/11/19(日) 09:05:28.37ID:???
jQueryが対応している互換の範囲をサポートすべきという前提で
互換に於いての開発効率を上げるためにjQueryを使うべきと言ってるから酷いね
実際は互換が問題にならない場合だってjQueryでしか書けないし、
jQueryでも不足する場合は書けないだろうしね

実際はJS切ってる人でも最低限閲覧できるようにした状態で
プログレスエンハンスメント的に作っていくことだって必要だし
一般的な質問においてjQueryを使うのはマイナスでしかないけどね
そこを勘違いしてはダメだよね
0812Name_Not_Found
垢版 |
2017/11/19(日) 09:16:49.69ID:???
いつもjQuery使いに仕事を取られてるの?
必死すぎでワロタ
0813Name_Not_Found
垢版 |
2017/11/19(日) 09:28:50.30ID:???
以前脱jQueryを称える上司と話したことあるんだが
どうやら素JSがドレスコードあり(ジャケットくらいのレンタル可)の店だとすると
jQueryを使うのは浮浪者対策に全ての客にマネキン被せる店だそうな
それでjQuery使わなくて済むのが理想形だから云々言ってた

因みにフレームワークは対戦道場でロボットスーツ着るようなものでそれはOKらしい
要は臭いものに蓋してまで受け入れることが許せないと叫んでた
つまり結局はここでjQueryを批判する人たちって要は
ここくらいでは理想を語っても良いじゃないかという事なのだろう
0814Name_Not_Found
垢版 |
2017/11/19(日) 09:39:56.97ID:???
jQuery使わなければまともに書けないと思うのは勝手だが
そう初心者を洗脳するなと言いたいだけだけどな

要するに標準DOMにもある程度慣れて覚えたほうが良いってこと
理想というか、標準APIが使えない人が増えることへの危惧はある
そういう点はjQueryの功罪の罪の部分で回り回って自分たちの首締めつ行為だと考えてるから
こういう初心者教育スレでは皆で気を付けていこうよという気持ちはある

古い環境を相手し無いというのだって現実は難しくても
せめて相手するのが当たり前という思想だけでも増やさないようにしようよという感じ
で、そういうのはWebプログラマの義務であり共通認識じゃないの?という戸惑いがあって
そういう意味でその場しのぎのjQuery推しはエゴだって言った
0815Name_Not_Found
垢版 |
2017/11/19(日) 12:49:34.70ID:???
料理質問スレで旨みを出したいという質問者に対して味の素ばかり勧めるようなもんだろ
味覚は千差万別だし最初から全日本人向けに調整されている味の素を使うべき
1から出汁を作るのはナンセンスだよとか言われちゃ
調味料を全否定する気がなくとも一部の料理という行為自体を大切に思っている層から顰蹙を買うのは分かる

でも実際質問してきてるのが今日の献立に悩む主婦なら味の素を勧めたほうがいいだろうけどな
実際そういう人の割合が高いと思うし、その人達に料理を深く学ばせようとする事にどれだけの社会的価値があるのかね
0816Name_Not_Found
垢版 |
2017/11/19(日) 12:55:43.08ID:???
標準DOM、APIが扱いにくいだけだろ?
jQuery叩いたって仕方がない扱いにくいのは事実なんだからな
0817Name_Not_Found
垢版 |
2017/11/19(日) 13:08:24.51ID:???
扱いにくいのは絶対間違いない
だから実際はライブラリ使うか作るかになる

せめて例えばnew Elenent({attributes})とかできればいいのに
そうなるなる言われて何年経っただろうか?
CSS HなんとかとかよりDOM直せよとつくづく思う
0818Name_Not_Found
垢版 |
2017/11/19(日) 13:21:53.05ID:???
>>814
おまえのエゴを押し付けないように

単におまえが質問にDOM APIで答えればいいだけの話
俺はjQuery版を書くだけの話

こちらは選択肢を提示するだけ
あとは質問者が選べば良い

おまえの考えを押し付けるな
0819Name_Not_Found
垢版 |
2017/11/19(日) 13:42:59.53ID:???
別にjQuery使ったからってDOM APIを使えなくなるわけじゃあるまいしw

どうも能力が低いやつが多いよな
自分がjQuery使ったらDOM API使えなくなるからって
他人も同じだと思わないように

他の人はjQueryを教えたってDOM APIも使えるんですよ?
0820Name_Not_Found
垢版 |
2017/11/19(日) 13:49:28.79ID:???
>>813
ひどいなw

jQueryを批判することが出来ないから、
理由もなしに別の何かに例えて、その別の何かの話にすり替えてそっちを批判してる

カレーはウンコ色。ウンコは汚い臭い。だからカレーも同じだと思うだろう?という
非論理的な思考をしてる

例え話のダメな使い方だね。ちょっとそれは議論する能力が低いとしか思えない
0821Name_Not_Found
垢版 |
2017/11/19(日) 14:04:36.72ID:???
時は金なり
必要であれば時間に余裕がある時に掘り下げて学習すればいいことよ
これも能力な
0822Name_Not_Found
垢版 |
2017/11/19(日) 14:07:51.20ID:???
>>811
> 実際はJS切ってる人でも最低限閲覧できるようにした状態で
> プログレスエンハンスメント的に作っていくことだって必要だし
> 一般的な質問においてjQueryを使うのはマイナスでしかないけどね

それjQueryを使わない理由になってないよ

プログレスエンハンスメント的に作るんだろう?
DOM APIを使って、それをそのままjQueryに置き換えられるんだから
つまりjQueryを使ってプログレスエンハンスメント的に作ることも可能

AngularやReactなどのフレームワークの類ならJavaScriptをオフにしたら
なんにも表示されなくなることがあるがjQueryはそうではない
0823Name_Not_Found
垢版 |
2017/11/19(日) 15:01:34.42ID:???
相変わらず一人で何レスしてんだこいつ
0825Name_Not_Found
垢版 |
2017/11/19(日) 15:07:04.74ID:???
プログラム板のが落ちてWeb板も荒らしの立てたスレを再利用したらこの有様

やっぱ真っ当なJSスレが一つは必要なんじゃねえかな
ずっとテンプレ作ってた人も既に見てないっぽいけどさ
0826Name_Not_Found
垢版 |
2017/11/19(日) 15:32:45.43ID:???
某人物が一人で必死になって連投しているようだから、ID強制可能なプログラム板を復活させたらどうか、と思った
0827Name_Not_Found
垢版 |
2017/11/19(日) 15:34:05.93ID:???
だからお前の考えを押し付けるなって
なんで、jQueryの話題がないことが
まっとうなJSスレってことになるんだよ。
jQueryを含めてJavaScript関連の話題であれば
それはまともなJSスレの内容だ
0829Name_Not_Found
垢版 |
2017/11/19(日) 15:42:26.75ID:???
>>826
以前立ってたスレもIDやワッチョイのあったところで延々と荒らされてたし
ないよりはマシ程度なものだと思う

>>828
引用の仕方から本人なんだろうけど騙される人がいないようレスしておく
それはここに居座っている荒らしが立てたこのスレと同様にテンプレぶっ壊れてるスレ
0830Name_Not_Found
垢版 |
2017/11/19(日) 15:43:07.66ID:???
>>826
俺むこうでも普通にjQueryを使った回答してるけど
確かにあっちはjQuery使うな!って連投してくるやついないな
(じゃあお前がDOM APIで書けば?って思うが)
0831Name_Not_Found
垢版 |
2017/11/19(日) 15:45:42.35ID:???
プログラム板にあるスレはWeb制作板と同じで荒らしの乗っ取りスレしかないから、まともなスレを立てようとするのは良いと思う
Web制作板/プログラム板共にまともなテンプレのスレがないから
0833Name_Not_Found
垢版 |
2017/11/19(日) 15:49:04.06ID:???
>>832
ワッチョイあるしそっちが、もともとは
まともなスレとして立てられたんだろうな
この上まだ立てる気? 乱立させるなよ・・・
0834Name_Not_Found
垢版 |
2017/11/19(日) 15:52:07.52ID:???
>>832-833
わかってて言ってるんだろうけど騙される人が出ないようにレスしておく
それはドサクサで立てられた強制IPスレで本来の次スレではないし利用もされていない
白々しい
0835Name_Not_Found
垢版 |
2017/11/19(日) 15:55:51.95ID:???
>>834
めんどくせーやつだな。乱立させるなって話だ
一体いくつ有ると思ってんだよ
プログラム版のJavaScriptスレ全部リンクしてやろうか?

+ JavaScript の質問用スレッド vol.124 + [転載禁止](c)2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1427008785/

JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1449440793/

【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1460359714/

+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1482325013/

【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1475332848/

+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1491143438/

JavaScript 4(c)2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1417749547/

+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1467906869/

jQuery,.js [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1473773598/
0836Name_Not_Found
垢版 |
2017/11/19(日) 15:57:11.36ID:???
結局自分が気にいらないスレだから
自分が望むスレをたてようとしてるだけ
そこで何を会話するかまで考えちゃいない
0837Name_Not_Found
垢版 |
2017/11/19(日) 15:57:13.08ID:???
一時は自分で二桁以上乱立させておいてよく言うわ
0838836
垢版 |
2017/11/19(日) 15:58:19.44ID:???
新しくスレ立てた所で、結局住民はここと一緒って話な
新しいテンプレのスレができるだけで、そのスレで会話する内容は
ここと変わらないだろって言いたい
0839Name_Not_Found
垢版 |
2017/11/19(日) 15:59:09.95ID:???
>>837
俺じゃねーし、っていうか逆にお前か?
ずーっと気に食わない気に食わない
新しいスレ立てるって言ってるやつは
0841Name_Not_Found
垢版 |
2017/11/19(日) 16:01:31.40ID:???
議論ねぇ、今度はDOM APIによる実装を書いてくれよ?
jQueryによる実装を書いてくれる人がいて(素晴らしいことだ)
それに対して、jQuery書くなー書くなーって言ってるだけのおっさんよ?
jQueryを叩くのではなく、自分の考える素晴らしい方法を書くのが
正しい議論だ
0842Name_Not_Found
垢版 |
2017/11/19(日) 16:02:02.38ID:???
スレ立てたって人がいなければ意味がない
0845Name_Not_Found
垢版 |
2017/11/19(日) 17:16:11.16ID:???
これで少しはこっちのスレも平和になると良いな
0846Name_Not_Found
垢版 |
2017/11/19(日) 17:20:56.88ID:???
https://github.com/jquery/jquery/wiki/Roadmap
jQuery 3.3.0 はそう遠くない将来にリリースされる

https://github.com/jquery/jquery/wiki/jQuery-4.0-Event-Design
jQuery 4.0 ではイベントの設計が変わるっぽい

・Support all addEventListener options
・Avoid the need for a jQuery.Event wrapper
・Eliminate manual .trigger() bubbling and method calls
・Remove special events hooks
・Provide backcompat through Migrate 4.0
0849Name_Not_Found
垢版 |
2017/11/19(日) 18:06:51.50ID:???
>>636です。
react勉強し始めたのですが、webpackとか、fluxとかreactのついでに覚える事多いですねw
0850Name_Not_Found
垢版 |
2017/11/19(日) 18:17:28.93ID:???
>>849
そこが欠点だよな
プログレスエンハンスメント的に
HTMLを書いて機能を付け足していくってやり方ができない
ブラウザとテキストエディタがあれば作れた時代とはやり方がまったく異なる
だからjQueryで十分な用途にフレームワークを持ち出そうとは思わない。

この状況が解決するとしたら、WebComponentsが完全に仕様化され
ほぼすべてのブラウザに標準で搭載されて、今の同じく
ブラウザとテキストエディタがあれば作れるようになってからだろうな
その頃にはフレームワークは必要ないって言われているだろうw
0851Name_Not_Found
垢版 |
2017/11/19(日) 18:37:39.57ID:???
>>849
create-react-appを使えばwebpackは覚える必要は後回しにできる。
fluxはまぁぶっちゃけ後からでもいいんじゃないか。
stateの管理をトップレベルのコンポーネントに纏めることを心がければいいってだけ。
0852Name_Not_Found
垢版 |
2017/11/19(日) 18:47:33.15ID:???
つまり
create-react-appを覚えればwebpackは覚える必要は後回しにできる
ってことなんだよなw

結果的に覚えるものが増えてるという。
あと、数年後それが使えるかというと・・・
ほんとフレームワークって変わりすぎ
0853Name_Not_Found
垢版 |
2017/11/19(日) 18:52:38.64ID:???
webpackはいらんよ
今のモダンブラウザはESModuleにネイティブで対応している
0854Name_Not_Found
垢版 |
2017/11/19(日) 18:54:54.36ID:???
>>852
create-react-appは特に覚える事ないと思いますけど、、、
0855Name_Not_Found
垢版 |
2017/11/19(日) 19:03:16.83ID:???
>>853
about:configとかでフラグ立て無いと使えないものは
サポートしてるとはいえない
デフォルトで使えないならば、他の人に要求しなければいけないからだ
0856Name_Not_Found
垢版 |
2017/11/19(日) 19:12:56.59ID:???
>>855
モバイルとEdgeとSafariとCromeで使えるんだぞ?十分でしょ
FirefoxはまだみたいだけどFx使いはそれらと一緒にしては行けない
わざわざFxを好んでインストールしてる人なんだから
必要とあればフラグの有効化や別ブラウザを使うこともできる

そんなFirefoxももうすぐでしょ
今からwebpackとか覚える必要は無いよ
0857Name_Not_Found
垢版 |
2017/11/19(日) 19:15:45.27ID:???
>>856
十分じゃないよw
ほとんどん人が設定を変えないと使えんだだろ
99%使えないと言ってもいい
0858Name_Not_Found
垢版 |
2017/11/19(日) 19:17:14.87ID:???
Babel使えば良いんじゃないん?
ESModuleもサポートされてるみたいだし
0859Name_Not_Found
垢版 |
2017/11/19(日) 19:20:34.03ID:???
reactでwebpackを使う理由はESModuleのためだけじゃなくて
JSX対応もあるんだからwebpackなしにreactを使うのは
非現実的だよ。環境整えるのがめんどくさすぎる
もちろんJSX対応だけでもなく開発用のサーバーとか
テストフレームワークとかデバッグ用のツールとか
そういうのが統合されてる
0862Name_Not_Found
垢版 |
2017/11/19(日) 19:30:23.51ID:???
>>861
誘導するだけで隔離できると思ってるんだからおめでたい頭をしてるな
0863Name_Not_Found
垢版 |
2017/11/19(日) 19:35:00.03ID:???
気に入らない人を追い出す為に隔離スレを作って張り付いてんのか
5ch中毒だな
0864Name_Not_Found
垢版 |
2017/11/19(日) 19:37:16.24ID:???
まともな人は平日の日中帯に5chに書き込めないから高確率で荒らしなんだよな
対応した人が気の毒だ
0865Name_Not_Found
垢版 |
2017/11/19(日) 19:38:55.84ID:???
あ、だから俺が深夜にjQueryで回答した後
次の日の夜返ってきた時に大量にレスついてるのか
0866Name_Not_Found
垢版 |
2017/11/19(日) 19:42:40.44ID:???
質問攻めしか能がないというか、いろんな意味で考えが浅い荒らしだと思った
0867Name_Not_Found
垢版 |
2017/11/19(日) 19:44:27.93ID:???
ちなみのこれとか書いたの俺な。時間も深夜だろ?

458 自分:Name_Not_Found[sage] 投稿日:2017/10/11(水) 01:55:18.33 ID:???
補足

「今回は」アロー関数もクロージャーもいらない
今回の要件にthisがどうなるかってのが書かれていないから

this.barは今回は動くがthisは違っていると念の為に言っておく
いろんなサンプル追加
https://jsfiddle.net/rdeuvep2/6/
0868Name_Not_Found
垢版 |
2017/11/19(日) 19:52:04.79ID:???
「俺って質問者に感謝される回答をしてるんだぜ。悔しかったらお前らも回答してみろよ。」の人だよね
自己主張が激しいというか、承認欲求が高いというか
0869Name_Not_Found
垢版 |
2017/11/19(日) 19:56:52.34ID:???
それがあんたのいいたいこと?
俺と争ってないで、質問者に回答すればいいのに
0870Name_Not_Found
垢版 |
2017/11/19(日) 20:13:03.94ID:???
おそらく、何らかのパーソナリティ障害持ちだと思う。

- 自己評価/自尊心が非常に高い
- 他者からの自己が低い評価をされることに強迫観念を持っていて、少しでも低い評価をされると自己を保つ為に猛反発する
- 自分が信仰しているjQueryがけなされると、自分が否定されたように感じて、jQueryの有用性を熱く語って反論せずにはいられない
- スレに張り付いて、自分と思わしき人物が否定されると反論せずにはいられない(少しでも可能性があれば自分だと思い込む)

自己評価が高くないと気が済まない性格。
「質問者から感謝される自分」をアピールすることは、彼にとっては重要な事なのだろう。
0871Name_Not_Found
垢版 |
2017/11/19(日) 20:16:00.67ID:???
だからそういうJavaScriptと関係がない話で荒らすの辞めたら?
自覚ないんだろうけどさ
0872Name_Not_Found
垢版 |
2017/11/19(日) 20:21:16.55ID:???
自覚なき荒らしに自覚なき荒らし扱いされてて笑ったw
0873Name_Not_Found
垢版 |
2017/11/19(日) 20:21:53.35ID:???
まあJSと関係ない話をここでするなっていうのは正論だ
0874Name_Not_Found
垢版 |
2017/11/19(日) 20:23:19.98ID:???
彼のいうようにここを隔離スレに出来るなら丁度良いね
0875Name_Not_Found
垢版 |
2017/11/19(日) 20:24:17.73ID:???
ここじゃなかった、あっち。プログラム板の方
0876Name_Not_Found
垢版 |
2017/11/19(日) 20:24:40.94ID:???
>>1を守ってjQueryの話題をしないのも正論だな
0878Name_Not_Found
垢版 |
2017/11/19(日) 20:26:54.82ID:???
まあどっちが隔離スレかは質問者が決めることさ
俺はどこでも質問があればjQueryで答える
0879Name_Not_Found
垢版 |
2017/11/19(日) 20:34:21.96ID:???
あれ、正論を守るんじゃなかったっけ?
>>1も守りなよ?
0880Name_Not_Found
垢版 |
2017/11/19(日) 20:35:43.86ID:???
1は正論じゃないので守る必要なくね?
0881Name_Not_Found
垢版 |
2017/11/19(日) 20:37:16.91ID:???
1は正論だから守る必要があるね
0882Name_Not_Found
垢版 |
2017/11/19(日) 20:40:44.59ID:???
ではそう思う人は守ればいいよ
0883Name_Not_Found
垢版 |
2017/11/19(日) 21:05:31.40ID:???
どうでもいいって事だね
荒らしてもいいし、自由に振舞えばいい
0884Name_Not_Found
垢版 |
2017/11/19(日) 21:10:01.21ID:???
1つ確かなことは、その人が書き込んでるその内容が
その人が書き込みたいと思ってることなんだ。
jQueryで回答する人であれ、jQueryを書き込むなーって言ってる人であれ
0885Name_Not_Found
垢版 |
2017/11/19(日) 21:22:49.21ID:???
jQueryで回答したい人は、jQueryで回答したいと思ってるだけで、
jQueryを排除したい人は、jQueryを排除したいと思ってるだけってことか
0886Name_Not_Found
垢版 |
2017/11/19(日) 21:35:15.95ID:???
自由意思の尊重は無秩序になる事を意味する
0887Name_Not_Found
垢版 |
2017/11/19(日) 21:37:28.97ID:???
だから俺が管理してやるんだ
0888Name_Not_Found
垢版 |
2017/11/19(日) 21:42:14.62ID:???
件のライブラリ偏重の荒らしは「自分=自由」「他者=束縛」な二重規範な思想の持ち主だから嫌い
都合のいい時だけ自由を振りかざす
0889Name_Not_Found
垢版 |
2017/11/19(日) 21:54:09.61ID:???
はいはい。自分が嫌いだから〜
0890Name_Not_Found
垢版 |
2017/11/19(日) 21:56:41.76ID:???
自由意思を尊重するならJSと関係ない話題をする人を隔離スレに追い出す必要はないし、jQuery批判者に反論する必要はないし、自分を否定されても反論する必要がない
矛盾してるよな
都合が悪い時の逃げ口上として彼は「俺もお前も自由だ。勝手にやれ。」と主張する
0891Name_Not_Found
垢版 |
2017/11/19(日) 22:03:51.76ID:???
いやいやw 問題は自由意志かどうかではなくて、
JavaScriptに関係ある話題かどうかだよ。
JavaScriptに関係ある話ならここでいいし、
そうでないならほかスレ出やれってだけの話
0892Name_Not_Found
垢版 |
2017/11/19(日) 22:07:16.40ID:???
jQuery批判者は、jQueryを批判するだけで、何も生産的なことを言わないのがアウト
代替案を出せと
0893Name_Not_Found
垢版 |
2017/11/19(日) 22:07:19.21ID:???
JavaScriptに関係ある話題しか投稿できないと思うならそうすればいいし、JavaScriptに関係ない話題も投稿していいと思うならそうすればよい
0894Name_Not_Found
垢版 |
2017/11/19(日) 22:09:16.60ID:???
ただJavaScriptの関係ない話題ばっかりしてるやつは荒らしってだけ
少しはjQueryを見習え
0895Name_Not_Found
垢版 |
2017/11/19(日) 22:17:51.10ID:???
こうやって都合の悪い時だけ自由でなくなって、荒らし認定するんだよね
>>1の禁止行為に接触している自分は自由を振りかざすくせに
0896Name_Not_Found
垢版 |
2017/11/19(日) 22:20:18.96ID:???
まあ>>1の禁止行為なんてみんなから同意を得ず勝手に決めたもんだしな
0897Name_Not_Found
垢版 |
2017/11/19(日) 22:24:06.37ID:???
そうやって自分の都合のいいように解釈するのも得意だよね
あなたがそういうなら他の人もそうしていいよね
このスレのルールはみんなから同意を得ずに勝手に決めたもんだから、JSに関係ない話題をしてもいいんだよね
0898Name_Not_Found
垢版 |
2017/11/19(日) 22:29:44.58ID:???
>>897
その書き込み自体がJSと関係ない話題だって自覚は有るかい?
0899Name_Not_Found
垢版 |
2017/11/19(日) 22:31:04.71ID:???
>>898
JSと関係ない話題も問題ないよね
勝手に決められたルールに従う必要はないんだよね
0900Name_Not_Found
垢版 |
2017/11/19(日) 22:32:26.79ID:???
自覚はあるのかって聞いてるだけなんだが?
0901Name_Not_Found
垢版 |
2017/11/19(日) 22:34:08.38ID:???
>>900
JSとは関係ないね
荒らし対応をしてるだけ
0902Name_Not_Found
垢版 |
2017/11/19(日) 22:35:42.01ID:???
JSと関係ない話をするやつよりか
jQueryの話をするヤツのほうがマシだな
0903Name_Not_Found
垢版 |
2017/11/19(日) 22:38:13.83ID:???
俺はあのjQuery荒らしの方が嫌いだわ
無自覚だし、他人のコードをけなすし、jQueryをちょっと批判しただけで猛反発するし、個人を尊重してないよな
0904Name_Not_Found
垢版 |
2017/11/19(日) 22:43:16.56ID:???
jQuery荒らしはその時々で都合のいい理屈を主張するから、前後で矛盾していて信頼できない
既にブーメランでやりこめられてるわけだけどw
0905Name_Not_Found
垢版 |
2017/11/19(日) 22:43:50.55ID:???
彼は最初lodash荒らしだったしjQuery一筋ってわけじゃない
自分が優位に立てる状況がほしいんでしょ
0906Name_Not_Found
垢版 |
2017/11/19(日) 22:46:56.16ID:???
でも最後に力を持つのは動くコードを出してる側なんだよな
0907Name_Not_Found
垢版 |
2017/11/19(日) 22:48:12.20ID:???
jQueryはずるいよな。ちょっとしたコードなら簡単にかけてしまう。
DOM APIで同等のサンプルコードを書けって?そんな面倒なことやってられるか
そう思っている間に、さっさとjQueryでコードを書いてしまう
0908Name_Not_Found
垢版 |
2017/11/19(日) 22:49:17.00ID:???
react-routerめっちゃ便利ですね。感動しました
0909Name_Not_Found
垢版 |
2017/11/19(日) 22:50:22.12ID:???
まともな回答者は彼とのやり取りに疲れていなくなったからね
彼のネガティブな側面が現状を生み出している
俺ももう正直面倒くさい
0910Name_Not_Found
垢版 |
2017/11/19(日) 22:52:29.68ID:???
ずっと熱心にテンプレ更新してスレ立ててた人も去っちゃったし
まあ見ていてもストレス溜まるだけだからな
0912Name_Not_Found
垢版 |
2017/11/19(日) 23:16:06.10ID:vRHf0qv2
jQuery, lodash(Underscore) で、すぐに書ける事が多いので、便利。
JavaScript だけを使えとか、非効率な事で、時間を浪費させる奴がいる。
そいつが荒らし

getElementById() とか、ブラウザの差異とか、
仕事時間の8割が、ビジネスロジックとは無関係で、無駄な時間

多くの開発者が、jQuery, lodash(Underscore), React など、
JavaScript の無駄な時間からの、脱却を目指してきた

それに延々と反対する、荒らしがいる。
JavaScript だけを使えとか

C言語を勧める奴と同じ。
非効率な事をさせて、相手の時間をつぶさせる

CSS の質問に、SASS で答えたり、
Python の質問に、Ruby で答えると「死ね」とか言ってくる

とにかく、新技術・新ライブラリなど、荒らしの知らない技術を書き込むと、荒らしてくる

新しい知識を邪魔しよる。
人に新技術を教えると、教えるなって荒らしてくる。
たぶん、新技術を教えると、自分が食えなくなるから、荒らしてくるだろ

荒らしは放っておくべき。
相手をする奴がいるから、いつまでも荒らしてくる

相手をしなければ、書くことが無くなるはずだが、
荒らしに反論するから、荒らしが喜んで書き込んでくる
0913Name_Not_Found
垢版 |
2017/11/19(日) 23:43:25.73ID:0vnkD6rf
以前、テンプレ更新していた者だが、今でも時々スレを覗いてはいる
>>1のテンプレがすっきりまとまっていて感心してた(見習いたい)

荒らしは決していなくならないので、今、やり直すなら荒らしの見分けがつきやすいプログラム板が良いと思う
俺はテンプレ改修には参加しないと思うが、やるなら一人でテンプレ更新するのはモチベ的に辛いので複数人で更新していくのがお勧め
俺としては「誰も動かないなら俺が」という気持ちから始めたことだが、
- 誰もがテンプレ更新なんて面倒な作業をやりたくない
- でも、ルール無用では困るので、他の誰かがテンプレ更新してくれるならしてほしい(やってくれるならやってほしい、でも積極的に勧めるわけでもない)
- 一部は2chなんて便所の落書き(ルールなんて守られなくて当然)だと思っている
そんな中で孤独にテンプレを更新していくのは誰がやっても続かないと俺は思う
多分、多くの人に望まれてやった事ではないし、一部は俺のエゴも入ってた
でも、それだけではテンプレ更新を続ける理由としては弱すぎた
0914Name_Not_Found
垢版 |
2017/11/20(月) 00:11:51.90ID:???
本人の確証は何もないが一応お疲れさま
自分も誰も動かないうちの一人だったから偉いことは言えないけど
以前ライブラリ荒らしが暴れてプログラム板へ移ったときはそれなりに上手く行ってたよ
最終的に民族憎悪みたいなレスが投下されまくってスレが消えたけど
0915913
垢版 |
2017/11/20(月) 00:14:13.09ID:oz/7wyxx
「テンプレはどうせ守らない人が出てくるから作っても仕方がない」という意見が一部にあるが、これは正解でも不正解でもあると思う
テンプレは一つの基準にすぎず、守るか否かはそれを読んだ人の良心に委ねられている
道徳やマナーと呼ばれるものと同じ

だが、「他の人が守らないのだから俺も守らなくても仕方がない」と消極的ながら荒らしを幇助する行為は頂けない
「他の人が守らない事」と「自分自身が守らない事」は本来別物であるはずだが、「みんなで渡れば怖くない」理論で自己を正当化してしまう
これが良くない

「他の皆は守っていないが、自分だけは守ろう」
そういう意識を持った人が出てきて、それに賛同する人が続かなければこの現状は打開できない
俺がテンプレ更新したのも「他の誰もが期待していなくても俺は更新を続けよう」という気持ちからだった
だが、それは一人でやっても絶対に成功しない
もし、今誰かが新しくスレを立てようとしていて、テンプレ更新しようとしている人がいるのなら、そしてあなたがその人に賛同するのなら、勇気をもって賛同してほしい
そうした一人一人の意識(良心や道徳観念)がテンプレを守る為に必要な事だと俺は思う

それから、荒らしは少人数なので複数人で対処すれば対策できると思う
一人の人間に出来る事はたかが知れている
0916913
垢版 |
2017/11/20(月) 00:22:16.60ID:oz/7wyxx
>>914
ありがとう
俺も自分がテンプレ更新していた事を証明する事は出来ないが、労いの言葉だけでも「やってよかった」と思える
これからテンプレ更新してくれる人がいたら是非労ってあげてほしい
0917Name_Not_Found
垢版 |
2017/11/20(月) 01:00:02.86ID:???
逆にある程度の属人性が必要なんじゃない

Web板とム板に分かれた後も荒らしが次スレを乗っ取ろうとするのは変わらなかったが
その度にそれぞれのスレで熱意ある人が立て直しと誘導を行ってスレが続いているように見えていた
でもWeb板の人は荒らしに根負けしたのか消えて、ム板では別の荒らしにスレ自体が潰されてしまった
この乗っ取りスレも滅茶苦茶にされたテンプレに指摘が何度かあったが行動する人はもう残ってない

過去うまく回っていたのは貴方を含む何人かの努力に寄るところが大きいと思う
俺は質問への解答が誰かの助けになればと考えてまだブックマークしているだけで
今も珍しい話を聞けたから長文書いてるだけであって荒らしと体力勝負をする気は更々ない
0918Name_Not_Found
垢版 |
2017/11/20(月) 01:07:51.66ID:???
>>914
> 以前ライブラリ荒らしが暴れてプログラム板へ移ったときはそれなりに上手く行ってたよ
だろ? 俺がjQueryの書き込みをするからじゃないんだよ。
それをいちいち否定するから荒れるんだよ
0919Name_Not_Found
垢版 |
2017/11/20(月) 01:27:46.87ID:???
jQueryの話は有用だからね
排除するまでもない
0920Name_Not_Found
垢版 |
2017/11/20(月) 03:47:40.33ID:???
漏れなんて、Kotlin, Python の質問に、Ruby で答えたりしてる

基本的に、どの言語でも同じだし、
それを見た違う人が、Kotlin, Python に翻訳してくれる。
数言語使えるのは、当たり前だし

別に、jQuery, lodash で答えても、自分に関係なければ、スルーすれば良いだけ。
質問者以外の人には、参考になる

本の紹介をしても「ステマするな」とか、荒らしは一々、因縁を付けてくる

たぶん荒らしは、仕事してない奴だろ
0922Name_Not_Found
垢版 |
2017/11/20(月) 05:31:30.57ID:???
仕事仕事と言う人いるけど、プログラミングは仕事の為のものじゃない
ここは純粋にJavaScriptを学びたいという気持ちに答えるスレであって
むしろ仕事の為のものなら金払って教えてもらえというのが伝統
0923Name_Not_Found
垢版 |
2017/11/20(月) 05:43:26.89ID:???
独りで連投しまくって、生活の全てが5chなんだな
0924Name_Not_Found
垢版 |
2017/11/20(月) 09:57:25.65ID:???
今度は質問者にまで、仕事に関係があることは
書き込むなとかいいはじめたよ・・・
どんだけ自分の思う通りのスレじゃなきゃだめなんだか
0925Name_Not_Found
垢版 |
2017/11/20(月) 10:54:23.51ID:???
いまだ5chに違和感
専ブラだから5chって出ないし
0926Name_Not_Found
垢版 |
2017/11/20(月) 11:40:05.93ID:???
昔は趣味でブログ作るために手探りでHTMLから勉強始めたんだろうなと言うような頓珍漢で超初歩的な質問から
古きWebの荒波の中まだ整備が進んでないJSの海路を開拓しようとする挑戦者の高度な質問まで溢れてて
それに対して孤独に修行して様々に悟りを開いた仙人たちがコードをただ与えるだけではなく檄を飛ばして育てようとしてたものだが
今では取って付けたような業務的な単機能の質問と回答のみでググレカスさえも言われなくなってしまった
回答者がスレ住民として一致団結して質問者を育てようとすることが無くなり単なる回答発表会になってしまった
0927Name_Not_Found
垢版 |
2017/11/20(月) 12:00:31.59ID:???
じゃあ教育スレでも作ったらいいんじゃないですかね(棒)
0928Name_Not_Found
垢版 |
2017/11/20(月) 12:52:35.93ID:???
>>920
釣り針太すぎ
質問に対して別言語で答えるのは迷惑でしかないよ
荒らし以前の問題
0929Name_Not_Found
垢版 |
2017/11/20(月) 14:41:22.90ID:XmZC2a3m
>>926
たまにはそんなこともあった気がするけど、基本は今も昔も変わらない気もするなあ

気に入った話題が目についたら、質問者置いてきぼりで長文連投
そしてディスり合い、週末になると面倒になって収束する
みたいな
0930Name_Not_Found
垢版 |
2017/11/20(月) 15:25:55.44ID:???
ほんと質問と関係ない初心者は
こうあるべきだ論を語るの
やめればいいのに
0931Name_Not_Found
垢版 |
2017/11/20(月) 15:38:37.68ID:???
初心者はおっぱいを見せてくれるべきだ(女性限定
0932Name_Not_Found
垢版 |
2017/11/20(月) 20:31:53.36ID:???
>>930
「jQuery」を連鎖でNGすればいいよ
それでかなり快適になる
jQueryは悪くないとは思うけど言い争ってるガキはほぼその話だから
0933Name_Not_Found
垢版 |
2017/11/20(月) 20:34:14.70ID:???
index.htmlに
<html><head type="module" src="./index.js"></head></html>
とmodule指定し、
index.jsにただ
alert('alert');
と記述しました。module指定しないとダイアログが表示されるのですが、module指定しないと表示されません。
module指定するとどういう違いが発生するのでしょうか??
0934Name_Not_Found
垢版 |
2017/11/20(月) 20:35:25.15ID:???
>module指定しないとダイアログが表示されるのですが、module指定しないと表示されません。

module指定しないとダイアログが表示されるのですが、module指定すると表示されません。
の間違いです。
0935Name_Not_Found
垢版 |
2017/11/20(月) 21:52:29.82ID:???
質問と関係のない話をする奴や、因縁を付けてくる奴を無視しよう。
反論すると、荒らしが喜ぶだけ

荒らしはそればっかり、ずっとやってるし、
他人が新技術を取得するのを、妨害してくる

人の成長を、ねたむだけ
0936Name_Not_Found
垢版 |
2017/11/20(月) 22:40:41.60ID:???
> 質問と関係のない話をする奴
ブーメラン
0937Name_Not_Found
垢版 |
2017/11/20(月) 22:52:24.20ID:???
本当に質問と関係ない話を無視してくれるのなら支持するけどね…
・jQueryの啓蒙
>>1のルールを守っていない話題
・jQuery批判への反論
0938Name_Not_Found
垢版 |
2017/11/20(月) 22:59:00.44ID:???
>>1を守らない奴は無視しよう、でFA
0939Name_Not_Found
垢版 |
2017/11/20(月) 23:03:50.77ID:???
その>>1自体が書き換えられて参照先も機能してないんだが
0940Name_Not_Found
垢版 |
2017/11/20(月) 23:27:40.12ID:???
>>932
> 「jQuery」を連鎖でNGすればいいよ

それ本当にやってくれるなら支持するよ
荒れてる本当の原因はjQueryを批判しだすから
ここでNGにしてjQueryの書き込みが見れないなら
批判しようがない

質問者はjQueryの回答が見れるし、jQueryの回答を
見たくない人は見れない。だから批判しようがない。
そうすれば両者Win-Winになって平和になる
0941Name_Not_Found
垢版 |
2017/11/21(火) 00:02:33.84ID:???
jQueryの「啓蒙」は質問と関係ない話題だが、本人は気が付いてないんだな
0942Name_Not_Found
垢版 |
2017/11/21(火) 00:46:41.32ID:???
>>939
禁止行為は読めるから守らない理由にはなってない
0943Name_Not_Found
垢版 |
2017/11/21(火) 01:37:58.26ID:???
>>941
「啓蒙」じゃなければjQueryの話題は質問と関係あるって
認めてくれる?
0944Name_Not_Found
垢版 |
2017/11/21(火) 12:58:04.47ID:???
質問者以外にも、多くの人が見ているのだから、
ライブラリなど有意義な話は、書き込んでよい

理解できなければ、スルーすれば良いだけ。
他の人が説明してくれることもあるし、その他者とのコラボも面白い

話が転がっていくのが、便所の落書きの面白い所。
多人数だから、思わぬ発見があって、非常に効率的

荒らしは、それを批判してくる奴。
何々を書き込むな、とか言ってくる奴が荒らし

ただし、宗教論争のように実のない、関係のない話はダメ
0945Name_Not_Found
垢版 |
2017/11/21(火) 13:57:47.88ID:???
内容からして>>920>>935と同じ人だと思うけど
自分が滅茶苦茶やりたいからケチ付けるやつは荒らしだって言ってるようにしか見えないよ
0946Name_Not_Found
垢版 |
2017/11/21(火) 15:10:45.40ID:???
jQueryの回答自体が悪いんじゃないんだけどなぁ
どんな回答しようが回答者の勝手でしょ みたいな態度は良くない
まあ>>615が極端すぎたから荒れただけで節度を守ってくれれば文句はないんだけどね
0947Name_Not_Found
垢版 |
2017/11/21(火) 15:34:17.20ID:???
ただ好きに質問して好きに回答してそれに対してケチを付けられたくなければ他所でやればいい
ここは一問一答サイトではなく、1スレ1000レスが連なる掲示板で
それが百数十回繰り返されてきた伝統と由緒ある場所がここ
質問と回答はその全てを踏まえて尊重した上で行わなければならない
テンプレが変わってもvol幾つと付いている限り受け継がれている精神がある

それが嫌ならvol幾つと付けずに直前の30レスのみ返答可などにすればいい
0948Name_Not_Found
垢版 |
2017/11/21(火) 17:00:58.31ID:???
アホかこいつ
質問スレだぞ
0949Name_Not_Found
垢版 |
2017/11/21(火) 17:52:49.86ID:???
つうか質問者が悪い
まず情報提供しなさすぎだし
荒れてなくとも返答も不十分

荒れそうになった場合質問者が唯一舵を切れる立場にあるんだから
色んな方法があるのは分かりました
今回はjQuery使った場合を詳しく教えてください
くらい空気を読んで言うべき

もしくは回答者どうしで喧嘩しないように一人ひとり相手をすることもできる
俺が質問してたときだって10レスに対して返答したり追加情報加えたり普通にしてた
それで良く回答者集団から変なやつといじられてたが
それはそれで回答者が団結してるということでよかった
0950Name_Not_Found
垢版 |
2017/11/21(火) 18:19:12.77ID:???
質問スレッドなんだから質問に対して任意に答えれば良いだけ
答えに対しての疑問を問いただすのは質問者の範疇
課題に対して討論するならプログラム板でやればいい
何が伝統だよ
乱立スレ建てまくってるしw
0951Name_Not_Found
垢版 |
2017/11/21(火) 18:46:25.62ID:???
他人の回答に、因縁を付けてくる奴がいるから、もめる。
そいつが荒らし

どう回答するかは自由。
JavaScript の質問に、Haxe で答えたり、CSS の質問に、SASS で答えたって良い。
それを見た他人が、JavaScript に翻訳してくれることもある

誰も書き込まないよりはマシ。
少しは正解に近づく

何も1人で、正解を書かなくても良い。
何人かで正解を作りあげても良いし、正解に近づくだけでも良い。
本来、便所の落書きは、気楽なもの

荒らしは、回答者の努力に対して、因縁を付けてくる
0952Name_Not_Found
垢版 |
2017/11/21(火) 18:51:14.00ID:???
対応ブラウザがどうのと因縁付けてくる奴もいるしな
0953Name_Not_Found
垢版 |
2017/11/21(火) 19:15:05.36ID:???
回答に対してこういうのもあるよとか、こうした方がよくないとかはいいと思うけど、それはダメだこうすべきとかの押し付けや宗教は他いけ
0954Name_Not_Found
垢版 |
2017/11/21(火) 19:54:33.03ID:???
現実問題
誰かがこうすれば?と書いて
その次に別の人がこうした方がいいよと書けば
それだけで喧嘩になりうる
0955Name_Not_Found
垢版 |
2017/11/21(火) 20:27:49.15ID:Ux/Aq56i
>>954
沸点低すぎな人が、たまにねw
HAHAHAそういう考え方もあるよねガイズ!
ですませば良いのに
0956Name_Not_Found
垢版 |
2017/11/21(火) 21:42:29.32ID:???
>>952
> 対応ブラウザがどうのと因縁付けてくる奴もいるしな

それは因縁じゃなくて注意点だな。
質問者が、教えてもらったコードで自分のブラウザで動作テストして
リリースしたら動かないってクレームが来ました。
どうしてですか?って後から追加質問がくる可能性あるだろ

その可能性がある以上、対応ブラウザについて注意をうながすのは
回答者の義務だよ。もちろん回答者が忘れたりすることもあるだろう
そういう場合は他の人が教えてくれる方がみんなのためになるよ
0957Name_Not_Found
垢版 |
2017/11/21(火) 21:44:20.06ID:???
>>953
> 回答に対してこういうのもあるよとか、こうした方がよくないとかはいいと思うけど、それはダメだこうすべきとかの押し付けや宗教は他いけ

良くないとか言いたいなら、少なくとも別のやり方を提示するべきだろうね
そうでないと質問者も動くコードが有って解決してるのに、
なんで喧嘩してるの?このコードがなんでだめでどうすればいいの?って戸惑ってしまう
0958Name_Not_Found
垢版 |
2017/11/21(火) 21:46:52.24ID:???
もし質問者が僕のIE9で動きませんと言ったら?
プログラマーである回答者の義務はChrome使えということだろ
IE9で動くようなコードをこの2017年に新しく教えてネットのゴミを残すことではない
大アホが
0959Name_Not_Found
垢版 |
2017/11/21(火) 21:51:35.35ID:???
このタイミングでそれ書けるハートの強さしゅごい
0960Name_Not_Found
垢版 |
2017/11/21(火) 22:01:39.26ID:???
>>959
> IE9で動くようなコードをこの2017年に新しく教えてネットのゴミを残すことではない

え? for文使ったらダメってこと?
IE9でも最新のブラウザでも動くコードならOKでしょ
0961Name_Not_Found
垢版 |
2017/11/21(火) 22:03:16.76ID:???
ここ数レスの発言を考慮して、荒れないようにテンプレ書き直した
次からはこのテンプレを守って欲しい

特にこれ↓
> ・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです


+ JavaScript の質問用スレッド vol.131 +
http://mevius.2ch.net/test/read.cgi/hp/1511269113/
0962Name_Not_Found
垢版 |
2017/11/21(火) 22:08:57.67ID:???
>>958
君はIE9は切り捨てればいいと言えばいい
他の人はIE9で動くコードを書く

この2つの回答が出て終わりだよ

そこでネットのゴミを〜とか言い出すのはダメ
他人を批判しないように。流れを黙って見てろ
0964Name_Not_Found
垢版 |
2017/11/21(火) 23:17:59.24ID:???
>>961
意に沿わない内容を独善的に消して都合のいい内容に書き換えてるだけじゃん
そこまで別スタンスにしたいなら>>947の言うように別スレとして立てりゃいいのに
0965Name_Not_Found
垢版 |
2017/11/21(火) 23:44:05.32ID:???
>>963
headはscriptの間違いだという仮定の上でレスするよ
type属性に"module"の値があるとES Modules形式のスクリプトとして読み込む仕様があるから
それを実装しているブラウザだとindex.jsがES Modulesとして実行されるせいだと思う
普通のスクリプトとして実行するぶんにはtype属性は要らないよ
0966Name_Not_Found
垢版 |
2017/11/21(火) 23:50:57.44ID:???
>>933
答がつかないのは、headなんて書いてるからだよ。scriptが正しいだろ?

<script src="./index.js"></script>は
<script type="text/javascript" src="./index.js"></script>と同じ
外部JavaScriptスクリプトを読み込んでいるだけ

昔のIEはJavaScriptとは別にvbscriptも対応していた
その場合は <script type="text/vbscript" src="./index.vbs"></script> と書く

vbscriptに対応してないブラウザで↑の書き方をした場合はどうなるか?
そう、text/vbscriptなんて知らないから、なにもしない。読み込まない

もうわかっただろ?
ES modulesに対応してないブラウザでは、type="module" をつけると
知らない言語扱いで読み込まないんだよ

あー、そうか、普段最新のJavaScript使えーブラウザ使えーって言ってる人は
ブラウザが対応してないという現実を見るのが悔しいって可能性もあるな
0967Name_Not_Found
垢版 |
2017/11/22(水) 00:27:27.62ID:???
>>965
>headはscriptの間違いだという仮定の上でレスするよ
その通りです。単にここに書くときに間違えただけです。実際は<script>タグです。
>>966
>ES modulesに対応してないブラウザでは、type="module" をつける
ひょっとしてそういうオチかもしれません。
他のブラウザでも実行してみます。ありがとうございます。
0968Name_Not_Found
垢版 |
2017/11/22(水) 00:38:43.27ID:???
一部のモダンブラウザが対応しているからって
今よく使われてるブラウザは必ずしもES Modulesに
対応しているとは限らないからね
最新のブラウザだけでテストしていると動かないってことになる

ちなみにwebpackあたりを使って変換すれば
非対応のブラウザでも動くようになる
0969Name_Not_Found
垢版 |
2017/11/22(水) 01:49:44.21ID:???
>>943
jQueryの質問に対する答えなら関係ある話題と認める
だが、スレのローカルルールを守るのは大前提であり、jQueryスレでやれ
0970Name_Not_Found
垢版 |
2017/11/22(水) 02:03:21.70ID:???
スレのローカルルールなんてVol.1から変わってきてるだろ
現実に合わせて変えれば良いんだよ
0971Name_Not_Found
垢版 |
2017/11/22(水) 07:52:37.20ID:???
一部が対応してないとか言ってるといつまでも使えないけどな
ESMは間違いなく今が使い始めどころ
心配ならnomoduleでアラートでも出しとけ!
0972Name_Not_Found
垢版 |
2017/11/22(水) 09:50:36.45ID:???
だからwebpackやbabelを使おうって話になるんでしょ?
こちとら何年も前から旧ブラウザ対応かつES6対応ができてる

それにブラウザがネイティブにModuleに対応したとしても
ファイルが分割されたままだと遅くなるので
どちらにしろビルド処理は必要になる

Moduleは使えるなら使うけど、無くても問題ない機能だよ
0973Name_Not_Found
垢版 |
2017/11/22(水) 11:30:22.65ID:???
JS の規格がコロコロ変わるし、各ブラウザで挙動が変わるから、
純粋なJSだけの話では、解決できない。
そこが他の言語と違う所

だから、jQuery, Lodash, React, webpack, babel などが、JSスレに入ってくる

これらの混合技術は、現実との折り合いを付けた結果。
純粋な言語の、JS部分だけを分離できない
0974Name_Not_Found
垢版 |
2017/11/22(水) 13:37:34.70ID:???
柔軟な反面、扱いにくいってことだな
0975Name_Not_Found
垢版 |
2017/11/22(水) 17:19:26.71ID:???
>>972
だからというのはおかしくないか?
別にWebPackなんかを使うんなら標準でサポートされてる必要が無いんだから
いつまでもポリフィル使うと言ってるのと同じことだぞ
0976Name_Not_Found
垢版 |
2017/11/22(水) 19:03:57.18ID:???
誰も柔軟とか言ってないし
扱いにくいとも言ってない

単にブラウザで動くJavaScriptは
他の多くの言語と違い、同時に複数の
実行環境に対応しなければいけないという
課題があるということ

そしてブラウザ、バージョンがことなれば
使える機能(言語だけではなくAPI)も違う
実装がばらばらなのでどうしても抽象化
レイヤーが必要になる
0977Name_Not_Found
垢版 |
2017/11/22(水) 19:08:10.94ID:???
>>975
なんでいつまでもポリフィルつかうの?
ほとんどのブラウザが対応したときに
ポリフィル使うのやめればいいだけじゃない
0978Name_Not_Found
垢版 |
2017/11/22(水) 19:11:29.13ID:ZHVd3FFo
>>977
ブラウザが対応した時に、じゃないんじゃない?
非対応のブラウザを使うユーザがいなくなった時だよ
0979Name_Not_Found
垢版 |
2017/11/22(水) 20:12:03.64ID:???
より正確には無視していいほど、
少なくなった時だろうね
0980Name_Not_Found
垢版 |
2017/11/22(水) 20:16:20.26ID:???
ポリフィルつかったら、ずっとポリフィルを
使い続けなきゃいけないという
発想がよくわからない
ポリフィルは将来けすことを前提に使うものだよ
0981Name_Not_Found
垢版 |
2017/11/22(水) 21:39:44.75ID:???
将来消すというのは理想だが実際はありえないことだけどね
0982Name_Not_Found
垢版 |
2017/11/22(水) 23:04:29.29ID:???
それぞれのサポートポリシーの問題としか言えなくね
公的サービスとか100%にリーチしなきゃいけない場合はともかく
0983Name_Not_Found
垢版 |
2017/11/22(水) 23:20:38.85ID:Jp4OCNoy
>>981
しらんがな
一般的な話をしている時に
お前の悩みを言われても関係ない話だ
0984Name_Not_Found
垢版 |
2017/11/22(水) 23:50:17.55ID:???
>>971
> 一部が対応してないとか言ってるといつまでも使えないけどな
そもそもES Moduleなんて使う必要あるの?
0985Name_Not_Found
垢版 |
2017/11/23(木) 02:46:21.47ID:???
モジュールシステムはやっぱり必要
どうせならimportキーワードを使って公式にサポートされてる方がいいだろう
0986Name_Not_Found
垢版 |
2017/11/23(木) 02:50:58.83ID:???
PHPみたいになんでもかんでもつっこんどけばおk
0987Name_Not_Found
垢版 |
2017/11/23(木) 11:25:26.76ID:???
でもminifyや難読化、WebAssemblyとかを使うと
結局ビルド環境は必要になるんだよね

必要なのはビルド環境がなくてもES Moduleを使ったライブラリを
使いたいってときぐらいかな

ライブラリを作る方からすればES Module対応で作っておけば、
ビルド環境でもブラウザだけでも使えるので楽ってことぐらいか
0988Name_Not_Found
垢版 |
2017/11/23(木) 12:23:36.23ID:???
どう見ても、なんでもいいから次の新環境が必要なのにGoogleはとりあえずDartのChromeへの
搭載再開しろよ。
このままだと10年後もJavaScriptでみんなで摩耗してそう。
0990Name_Not_Found
垢版 |
2017/11/23(木) 12:59:42.98ID:???
うん、だから、「再開」してほしいと。
クソ言語使ってみんなで必死こいて生産性あげようと、ずっとやってて馬鹿みたなんだけど。
それで次から次へといろんなフレームワークでてきて。

「クソ言語」使って「超がんばる」より
「そこそこ言語」使って「そこそこにがんばる」方が百倍ましなんだから、

多少のえり好みとかは置いといて主要ブラウザでなんでもいいから新言語作ってまとめろよな。
0991Name_Not_Found
垢版 |
2017/11/23(木) 13:11:02.34ID:???
chromeのローカルストレージを他の環境にコピーしたいです
以前はサイトごとに分かれていない
単にサイトごとのローカルストレージ用ファイルをコピーするだけで事足りたのですが
今は実装がLevelDB
というものになっているようで、
サイトごとにデータを簡単には取り出せないようです
特定サイト用のローカルストレージのデータを移す方法やツールがあれば
教えて下さい
0992Name_Not_Found
垢版 |
2017/11/23(木) 13:11:32.01ID:???
×以前はサイトごとに分かれていない
○以前はサイトごとに分かれていて

でした
0993Name_Not_Found
垢版 |
2017/11/23(木) 13:31:21.14ID:???
>>990
JavaScriptを改良するほうが遥かにいい
TypeScriptやBabelという下地が出来てしまったから
今は新しい仕様のJavaScriptを変換するだけで
すぐに使えるようになった
0994Name_Not_Found
垢版 |
2017/11/23(木) 15:34:10.58ID:???
はっきり言って今のJSは十分良い言語
どちらかと言うと他のWeb標準仕様が問題
未だにPromise対応してないものが多くあったりだとか
特にIndexedDBはセッションの問題があるから自作でラップは難しいし
どうにかして欲しいよね
0995Name_Not_Found
垢版 |
2017/11/23(木) 16:29:14.25ID:???
どこがいい言語なんだよ、それは他の優秀な人がクソ言語の上に頑張ってフレームワーク作って
それ使ってるだけだからだろよ。

それにWeb技術の流行り廃りがはげしいのは、元になるJavaScriptがクソだから
安定しないで、いろんなライブラリ・フレームワークが生まれ消えるのが激しいいんだよ。

もっとJavaScriptがまとな言語だったなら周辺ライブラリ・フレームワークの流行り廃りももっと安定してるわ。

もうちろんいい言語使うときにもフレームワークとか使ってたりするだろうけど。

馬鹿すぎだろおまえら。
0996Name_Not_Found
垢版 |
2017/11/23(木) 16:37:18.65ID:???
意味不明
プログラミング言語は、どこかしらイケてない
しかも「なんでそこをそのままにした?」って不思議になるくらいイケてない
そんな中でJavaScriptは、そんなに悪くない
むしろいい方の言語だと思うけどね
0997Name_Not_Found
垢版 |
2017/11/23(木) 16:39:46.53ID:???
たとえばpythonにはいまだに定数すらない
年次ごとのアップデート体制を整えたJavaScriptは相当進んでるだろ
0998Name_Not_Found
垢版 |
2017/11/23(木) 16:56:23.10ID:???
本の紹介。Stefanov も書いてる

入門 React ――コンポーネントベースのWebフロントエンド開発、2015

Reactビギナーズガイド ――コンポーネントベースのフロントエンド開発入門
Stoyan Stefanov, 2017
0999Name_Not_Found
垢版 |
2017/11/23(木) 17:24:35.76ID:???
なんで、pythonあたりの古い言語と比較するんだよww
1000Name_Not_Found
垢版 |
2017/11/23(木) 17:34:17.12ID:???
>>999
機械学習も関係して今一番流行ってるから
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 20時間 23分 21秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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