+ JavaScript の質問用スレッド vol.119 +at TECH
+ JavaScript の質問用スレッド vol.119 + - 暇つぶし2ch382:デフォルトの名無しさん
16/04/13 08:47:17.62 OPbsDvyC.net
言語によって生産性は変わらない。
タイプ数の違いや、改行の数の違いは
生産性には全く結びつかない。
言語によって生産性は変わらず
ライブラリによって生産性は変わる。

383:デフォルトの名無しさん
16/04/13 08:49:52.79 OPbsDvyC.net
CoffeeScriptはいい例だな
書き方が変わるだけで、生産性の向上には
つながることができなかった言語

384:デフォルトの名無しさん
16/04/13 09:56:55.91 DCkaewxP.net
それは嘘だね
C#はJavaの3倍生産性が高い

385:デフォルトの名無しさん
16/04/13 10:11:47.50 N3hRKpiT.net
>>380
そういう寝言は別に書かなくていいよ。

386:デフォルトの名無しさん
16/04/13 10:18:02.93 zGtnPLFL.net
生産性と標準ライブラリを混同しちゃいかんだろ。
まあ.net FWはかなり良いのは確かだけど、逆に依存したらえらい目に合うと思うよ。
1989/01/08変更のファイルが残ってるような言語で開発してるけど、
1/10に役所に提出する書類に間に合わせるのに、FWの出荷待つとか無理だし、それが間に合わないと客が潰れるレベルの損失出るとかヤバいよ。

387:デフォルトの名無しさん
16/04/13 10:56:57.38 .net
ASP.NETの検証コントロール(クライアントとサーバ両方やってくれる)とかSqlDaraSourceとか超楽

388:デフォルトの名無しさん
16/04/13 11:03:53.99 OPbsDvyC.net
>>382
標準ライブラリの話はしていないよ。
標準じゃなくても良い。
ライブラリやフレームワークの有無で
生産性は大きく変わるが、言語の違いでは
生産性は殆ど変わらないって話。

389:デフォルトの名無しさん
16/04/13 11:25:41.89 /y2OU546.net
>>379
その通りです。
自己満足の世界

390:デフォルトの名無しさん
16/04/13 12:48:23.40 u+HfQS9z.net
Luaでは余りにjsに近い

391:デフォルトの名無しさん
16/04/13 12:51:05.79 u+HfQS9z.net
cとclojureの生産性が同じ……?

392:デフォルトの名無しさん
16/04/13 13:00:30.95 OPbsDvyC.net
>>387
十分なライブラリがそろっている状態では
ほとんど変わらん。

393:デフォルトの名無しさん
16/04/13 13:02:14.51 .net
どんな言語でも「こんなんは書いた覚えあるわな」
ってコピペしてくるわけだから
またはググってコピペだから
あんまり変わらないかも

394:デフォルトの名無しさん
16/04/13 15:26:02.76 SBj4pmRf.net
1つの正規表現を複数回使うときでも
事前コンパイルみたいにnew RegExpで正規表現オブジェクトを作って使いまわしてコスト低減、ってあんまり見ないんだけど
これなんか問題あったりする?あるいは効果なかったりする?

395:デフォルトの名無しさん
16/04/13 15:42:37.87 DCkaewxP.net
効果は実測するしかない
クライアントJavaScriptはUIとネットワークの世界の言語だからほぼ無意味だろうね

396:デフォルトの名無しさん
16/04/13 17:53:01.31 sN8Fln5r.net
>>390
new RegExpじゃなくて正規表現リテラルでも事前に作って使いまわしてコスト削減されるのは変わらないと思うけど、実装の最適化次第かな
var i = 0, reg = /^p/, string = 'pattern';
while (i++ < 50000) {
reg.test(string);
}

397:デフォルトの名無しさん
16/04/13 21:10:15.40 7l1cW0em.net
正規表現オブジェクトのキャッシング最適化は各エンジンここ1年で実装が進んでるし
まだまだこれからの分野

398:デフォルトの名無しさん
16/04/13 21:55:02.11 g3cnBes/.net
JSON.parse( "/regexp-string/" )って必要性は感じないよね?
オブジェクト内に含まれる正規表現が空オブジェクトに変換されてモヤッてしただけなんだけど。
Dateもいっそ"Date(~)"でいいのではないかなと。

399:デフォルトの名無しさん
16/04/13 22:22:20.53 7l1cW0em.net
JSONはJSのためだけのものじゃないしね
そんなことを言ってたらキリがない

400:デフォルトの名無しさん
16/04/13 22:51:56.96 g3cnBes/.net
>>395 たしかに、納得納得。

401:デフォルトの名無しさん
16/04/14 14:42:53.97 J1EObEvz.net
JSかCSSかどっちが悪いのかわからないのですが
スマホサイトでボタンを押すと画面外からメニューが出るものを作っています
具体的にはメニューのdivのpositionのleftを100%にして画面右にはずしておいて
トップにfixedしたボタンをクリックでJSを動作させてleftを50%に書き換えてアニメーションさせてます
ただこの書き方だとコンテンツの途中、スクロールした状態でボタンを押すと
メニューが横から出てくると同時にコンテンツがトップまで戻ってしまいます
コンテンツのその場でメニューを出したいのですがこれは何が原因で上に戻ってしまうのでしょうか?

402:デフォルトの名無しさん
16/04/14 14:58:42.01 SPtT+geu.net
あ?

403:デフォルトの名無しさん
16/04/14 15:02:45.14 JkBXQj6P.net
>>397
それはこっちかな
(X)HTML/CSS/Dreamweaverの質問に優しく答えるスレ21©2ch.net
スレリンク(hp板)

404:デフォルトの名無しさん
16/04/14 15:14:54.24 bRZRCETq.net
javascriptで円を描きたいのですが、始点と終点の使い方について教えてください
math.piという関数が出てきますが、これはいったいどういう意味なんでしょうか?
始点は0で終点は360という書き方でも円はかけると思うのですが、これを使う意味が分かりません。

405:デフォルトの名無しさん
16/04/14 15:17:35.51 ettVKtfM.net
じゃあ使わないでください。

406:デフォルトの名無しさん
16/04/14 15:28:29.14 J1EObEvz.net
自己解決しました
return false;書けば戻らなくなりました
JSでしたね

407:デフォルトの名無しさん
16/04/14 15:28:37.11 jsKKLFZF.net
>>400
あなたは0と360と言う情報から円周上のxとyを全て求めて円を描くことが可能なのですか?

408:デフォルトの名無しさん
16/04/14 15:35:54.28 jrefqPbU.net
>>400
角度の単位に一周を360度(直角が90度)になる馴染みのある単位系をなぜ使わないのか?
馬鹿なのか、死ぬのか、とまでは言わないが不便ではないか。という意味のご質問ですか?
角度の単位の代表的なものは、ご存知の一周を360度とするものです。
これは昔、一年が360日と考えられていたころに発明された60をベースにした単位(60秒=1分、60分=1時間)です。
他に、直角を100(単位はグラディアントとかグラードとか言う)とする、10進数こそ正義、という単位もあります。
プログラミング言語でよく使われる単位はラジアンで、半径に対する弧の長さの比を使って角度を表すものです。
これを使うと一周は円周率(pi)の2倍になります。
三角関数というもの(サイン、コサインなどなど)があり、は画像系のプログラミングでもよく使います。
で、この単位系(ラジアン)の便利なところは、三角関数の微積分で、100とか360のような係数が出たり消えたりしないことです。

409:デフォルトの名無しさん
16/04/14 15:36:41.24 bRZRCETq.net
上のものです
例えば、Math.PI*1.5としたら、円周率の1.5倍ということで半円ができるはずですが、
私の認識は間違ってるんでしょうか?

410:デフォルトの名無しさん
16/04/14 15:42:39.26 jrefqPbU.net
>>405
扇型の中心角の話だとして、
半円(中心角180度)は、円周率の1倍、(piそのもの)になります。
円周率の1.5倍だと270度に相当し、円の3/4になります。

411:デフォルトの名無しさん
16/04/14 15:44:34.83 SppvdaVa.net
>>405
普段使っている単位を使いたい気持ちはわかる
1.5が半円は間違えだ

412:デフォルトの名無しさん
16/04/14 16:22:09.26 MIl70kQk.net
あんたらには無縁の話だろ

413:デフォルトの名無しさん
16/04/14 16:30:42.23 XpoLc8eO.net
クラスの設計について教えてください。
最近になってコンストラクタ関数にもプロパティを生やすことができるのを知り(クラス変数?)、
名前空間も綺麗に整うため、生成したインスタンスを格納する配列をコンストラクタ関数に
入れようと思っています。
このような設計は何か問題が無いか、アドバイスをください。
簡単なコードではやりたいこともでき、関数もオブジェクトならば問題無いような気がするのですが、
大きなコードを書いたらどこかで詰むんじゃないかと、不安なんです。
var App = {};
App.Person = function(name, state) {
this.name = name;
this.state = state;
}
App.Person.prototype.setState = function(state) {
this.state = state;
};
// インスタンスを格納する配列
App.Person.persons = [];
// インスタンスが共通で使うオブジェクト
App.Person.state = { warking: 0, swiming:1, sleeping:2 };
// 配列に入れて様々な処理をしたい
App.Person.doSomething = function (){
for (var i = 0; i < App.Person.persons.length; i++) {
if (App.Person.persons[i].state === App.Person.state.swiming) {
console.log("泳いでいるのは" + App.Person.persons[i].name)
}
}
}
App.Person.persons[0] = new App.Person("吉田", App.Person.state.warking);
App.Person.persons[1] = new App.Person("村松", App.Person.state.swiming);
App.Person.doSomething();

414:デフォルトの名無しさん
16/04/14 17:00:55.17 bRZRCETq.net
>>406
>>407
なるほど、円周率*1が180度を表すのですね。
ラジアンというものを調べてきます。

415:デフォルトの名無しさん
16/04/14 17:14:39.55 IJnJnibC.net
javascriptにクラスはありません
ないものの話をするのはやめてください

416:デフォルトの名無しさん
16/04/14 18:05:27.57 fy/Ek9QC.net
作ればあるし、作らなければないよ?
何を持ってないと言ってるの?

417:デフォルトの名無しさん
16/04/14 18:32:10.48 h3KiwqeP.net
>>410
ラジアンって中学の数学じゃなかったっけ、、、
いや数Ⅰだったか

418:デフォルトの名無しさん
16/04/14 18:33:19.79 MIl70kQk.net
JavaScriptはクラス指向じゃないからな

419:デフォルトの名無しさん
16/04/14 18:34:38.19 h3KiwqeP.net
って検索したら数Ⅱか、、、

420:デフォルトの名無しさん
16/04/14 18:39:04.99 yvAyG8T7.net
高校数学だけど諸事情により弧度法学んでない人も多くいるよ
個人的な事情じゃなくて指導要領の問題

421:デフォルトの名無しさん
16/04/14 19:06:36.98 Y0ioTXAP.net
学んでないんじゃなくて記憶にないだけだろ
おまえらどうせ授業なんて聞いてやしなかったんだろうし

422:デフォルトの名無しさん
16/04/14 19:44:33.43 uLJO6cEY.net
>>411
ES6で糖衣構文が出来た
URLリンク(developer.mozilla.org)

423:デフォルトの名無しさん
16/04/14 19:44:44.31 yvAyG8T7.net
いやいや、高校教育はどんどん幅が広くなってきてて絶対やる必修科目/項目が減ってきてる
特に弧度法は10年近く数IIから数学IIIに移されてた。文系だと数IIIはやらないしそうでなくてもなおざりにされることはよくある
さらに指導要領の遵守と教師の裁量と教師の趣味思考信条と授業の時間制限とまあ色々あるので…
もちろん忘れてるケースも多いだろうけど本当に教わってないケースも意外とあるから知ってる前提は中学レベルくらいに留めるのが無難かもね

424:デフォルトの名無しさん
16/04/14 20:10:23.25 IxiTROQl.net
つまりゆとりは中卒だと

425:デフォルトの名無しさん
16/04/14 20:12:34.54 x1J0G4cD.net
必死に濁してるようだが学んでないやつはバカとしか読めない

426:デフォルトの名無しさん
16/04/14 20:49:29.50 6J+p43e3.net
>>409
関数のプロパティを使うのはいいが、設計思想に首を傾げるところが多い
・明らかにコンストラクタでないのに App (大文字から始まる名前)
・PersonにPersonのインスタンスを格納する不思議(Array.arrays = new Array をやってるようなもの)

427:デフォルトの名無しさん
16/04/14 21:09:35.74 XgnJW0xC.net
>>410
中卒か?

428:デフォルトの名無しさん
16/04/14 21:13:45.57 VgjdRSr0.net
いい加減、学歴を貶める不毛な行為は止めないか

429:デフォルトの名無しさん
16/04/14 21:18:13.65 zHhupJkO.net
いったいどうすれば再利用可能な美しいコードを書けるの?

430:デフォルトの名無しさん
16/04/14 21:35:42.71 /lnot8M5.net
 ___    ハ,,,,,ハ.∩
/ || ̄ ̄|| r( ゚ω゚ )ノ  はーーーー!
|.....||__|| └‐、   レ´`ヽ
| ̄ ̄\三  / ̄ ̄ ̄/ノ´`
|    | ( ./     /

ふゅーーーっ!
 ___            ∩ハ,,,,,ハ
/ || ̄ ̄||         _ ヽ( ゚ω゚ )∩  じょんッ!!
|.....|| ゚ω゚ ||         /`ヽJ   ,‐┘
| ̄ ̄\三  / ̄ ̄ ̄/  ´`ヽ、_  ノ
|    | ( ./     /      `) )

          ___
       ∩/ || ̄ ̄||
      _ ヽ|.....|| ゚ω゚ || 7
      /`ヽJ   ,‐┘/
     ´`ヽ、_  ノ
        `) )

431:デフォルトの名無しさん
16/04/15 01:36:57.07 paMmofV4.net
class構文は糖衣構文とは呼べない
全く新しい概念・機能が入ってるから

432:デフォルトの名無しさん
16/04/15 02:06:22.81 goHZ67UE.net
>>409
クラスAのインスタンスの集合を、クラスAに収納しているの?
そんなややこしいことをせず、単に普通のコンテナに入れればよいだけ。
そうしないと、便利なコンテナのメソッドが使えない

433:デフォルトの名無しさん
16/04/15 06:58:43.14 ypL17/E1.net
ラジアンでは2πが一周に相当するらしいですが、この場合のπとはいったい何のことでしょうか

434:デフォルトの名無しさん
16/04/15 07:00:36.03 9VFl1+zB.net
おまえにもついてるだろ2つ

435:デフォルトの名無しさん
16/04/15 07:25:02.81 ypL17/E1.net
あっすいみせん
読み方が違うんですね

436:デフォルトの名無しさん
16/04/15 07:32:43.52 RSig610Q.net
日本語も間違ってますが

437:デフォルトの名無しさん
16/04/15 12:14:37.10 nRwhaoVL.net
>>409
察するに、インスタンスを生成したときに、自動的に管理されるようにしたい?
クラスで管理するのではなくて、管理するオブジェクトを別に作ればいいのでは?
クラスで管理すると、複数系統の管理ができない。
例えばPersonが人を表すと仮定して、地球の人と火星の人を別に管理しようとしても出来ないでしょ。

438:デフォルトの名無しさん
16/04/15 13:30:28.84 ypL17/E1.net
デフォルトのjavascriptで円グラフというか、パックマンのような顔を描くことはできますか?

439:デフォルトの名無しさん
16/04/15 13:35:23.94 sM2G3xuL.net
なんでできないって思うの?

440:デフォルトの名無しさん
16/04/15 13:41:22.10 HeSDe1m1.net
パックマンの顔ってどこですか?

441:デフォルトの名無しさん
16/04/15 13:48:20.94 cx5PLOSb.net
>>434
デフォルトのJavaScriptではできない。
ブラウザのJavaScriptならDOMあたりを使ってできる。
>>435
なんで出来ると思ったの?

442:デフォルトの名無しさん
16/04/15 13:53:37.43 gXCAJEC6.net
前に見たことがあるヤツはこれ使ってた
google.visualization.PieChart

443:デフォルトの名無しさん
16/04/15 14:02:06.59 q0YL4+kw.net
>>434
デフォルトのjavascriptとは?

444:デフォルトの名無しさん
16/04/15 14:07:54.02 cx5PLOSb.net
そりゃクライアントでもサーバーでも共通して使えるものが
JavaScriptだろ

445:デフォルトの名無しさん
16/04/15 14:14:43.47 gq7S3zH1.net
なんで質問に対してみんな威圧的なの?

446:デフォルトの名無しさん
16/04/15 14:22:28.54 Nh0RiUpt.net
揶揄が含まれる質問するから

447:デフォルトの名無しさん
16/04/15 14:54:23.01 RMsg6cvq.net
質問ばっかしてるから嫌われるんだよ
少しはてめえでがんばれや

448:デフォルトの名無しさん
16/04/15 15:02:42.56 wfLLyc7m.net
>>441
内容のある回答で答えている人はみな穏やかですよ
>>443のような粗野で下卑た方とは違います

449:デフォルトの名無しさん
16/04/15 16:05:48.54 ypL17/E1.net
>>437
URLリンク(edu.happy-kakurembo.com)
回答ありがとうございます。
このページの最後あたりのパックマンの絵は、arcに対してどのような指定をすればいいんでしょうか?

450:デフォルトの名無しさん
16/04/15 18:33:26.08 MBFKaPoJ.net
>>444
お前は本物の下種

451:デフォルトの名無しさん
16/04/15 20:56:44.07 CgWnf6JN.net
>>427
あったっけ?

452:デフォルトの名無しさん
16/04/15 21:25:34.80 YAV9sBDZ.net
extends時のsuper周りかな?
HomeObject、this未初期化、NewTargetとか。

453:デフォルトの名無しさん
16/04/15 23:12:26.62 goHZ67UE.net
>>445
ブラウザ上でのお絵描きは、HTML5のCanvas を使うのが一般的。
Canvasを調べたら?

454:デフォルトの名無しさん
16/04/15 23:38:52.79 cx5PLOSb.net
果たしてCanvasはデフォルトのJavaScriptといえるのだろうか?

455:デフォルトの名無しさん
16/04/15 23:42:08.84 XOash53W.net
十中八九次も質問で返ってくる

456:デフォルトの名無しさん
16/04/16 00:22:55.74 3KgdSRGk.net
>>422,428,433
遅くなってすいません
助言に従ってインスタンスは管理用オブジェクト、あるいはコンテナに
入れてそっちでいろいろやろうと思います。
コンストラクタ以外の1文字目大文字は今までこっちの方がわかりやすいと思って
貫いていたのですが、Googleなどのスタイルガイドは小文字を推奨しているので
これも止めることにします。
独善的な部分が多くあったみたいで、どの指摘も参考になりました。
ありがとうございます。

457:デフォルトの名無しさん
16/04/16 02:48:50.71 MfNAX89g.net
CSSの話題はここでいいんですか?

458:デフォルトの名無しさん
16/04/16 03:10:29.72 iaL+2UmD.net
はい

459:デフォルトの名無しさん
16/04/16 03:20:43.40 JpTn0h26.net
>>409,452
ここでは話にならないと思ったら以下へ。
スレリンク(tech板)

460:デフォルトの名無しさん
16/04/16 07:16:19.11 9WyxoOSE.net
>>455
Web制作板で批判が集中して「話にならん」といってプログラム板に逃げた人が立てたスレ
仕様に疎いようでまともなレスも「おまえはわかってない」で一蹴するような人だからお勧めしないな

461:デフォルトの名無しさん
16/04/16 08:31:06.50 SqNX4mZ2.net
> textContentってquerySelectorで引っかけられないよね?
スレリンク(tech板:65番)
この人いろんなスレで同じ事を聞いてない?
>>214で答えが出ているのに学習能力のない人だなー

462:デフォルトの名無しさん
16/04/16 13:50:59.55 JpTn0h26.net
>>456
> Web制作板
以下を正しいと主張する連中ね
スレリンク(hp板:579番)
スレリンク(hp板:88番)
判断は各自でご自由に
経緯もその前後で分かるはず
そして他スレが流れ出すとWeb制作板には幼稚園児が沸くところも同じ

463:デフォルトの名無しさん
16/04/16 13:59:06.33 eCi0HCfm.net
他所のいざこざ持ち込まないで貰えませんかね

464:デフォルトの名無しさん
16/04/16 14:04:05.19 bDnIkDuW.net
本人だからほっとけよ

465:デフォルトの名無しさん
16/04/16 15:44:51.07 z5NEAFo4.net
>>458
後者は俺のレスだがなんかおかしいか?
superを使える場面ならわざわざ展開しなくとも
せっかくだからsuper使ったほうが良いだろうと
至極当たり前なことを言ってるだけなんだが。

466:デフォルトの名無しさん
16/04/16 23:57:06.24 R1w7ejAd.net
頑張って前後を読もうとしたけど長文過ぎて諦めた

467:デフォルトの名無しさん
16/04/17 02:50:29.74 9ampxFQS.net
まあいつものパターンでしょ。
あくまで性質・概念・思想で物を言う者と、実務で物を言う者の食い違い。
つまり、JSのクラスシステムについて、今どう認識できるかという話と、どう書くべきかという話がごっちゃになってる。

468:デフォルトの名無しさん
16/04/20 19:48:18.67 Lz+3WzGz.net
スレ違いすいません
photoshop上でラスタライズされた状態の平行四辺形オブジェクトの
各頂点の座標を取得出来ないか質問したいのだけれど
jsxについての適当な質問スレッド教えてください。。。orz

469:デフォルトの名無しさん
16/04/21 22:25:52.33 po+YH9ZN.net
<script type="text/javascript">
function checkdiv( obj,id ) {
if( obj.checked ){
elem = document.getElementById(id);
elem.style.backgroundColor='red';
}
else {
elem = document.getElementById(id);
elem.style.backgroundColor='green';
}
}
</script>
<input type="checkbox" checked="checked" onclick="checkdiv(this,'para')" />
<div id="para">表示</div>
こんな感じでチェックボックスのOnとOffで背景色が代わるようにしたんだけど、
checked="checked"で最初からチェックが入った状態の時もそれに対応する色にできないだろうか?

470:デフォルトの名無しさん
16/04/21 23:35:15.20 ReA7Xa9U.net
そういうのはCSSの役目です

471:デフォルトの名無しさん
16/04/21 23:50:48.23 X/7QzBzM.net
>>465
input.defaultChecked

472:デフォルトの名無しさん
16/04/21 23:52:12.99 po+YH9ZN.net
>>466
CSSで先に定義しておいてJavaScriptで直すということでしょうか?

473:デフォルトの名無しさん
16/04/21 23:55:31.27 po+YH9ZN.net
>>467
これなら行けそうです。
ありがとうございます。

474:デフォルトの名無しさん
16/04/22 00:56:04.95 4mUicHSB.net
いやそれcssのセレクタだけでできるだろ…
input[type="checkbox"]+#para { background-color:red; }
input[type="checkbox"]:checked+#para { background-color:green; }

475:デフォルトの名無しさん
16/04/22 01:59:59.83 DlNhB7g+.net
:checked は IE9+ で利用可能なので実用圏内ではないかね
URLリンク(caniuse.com)

476:デフォルトの名無しさん
16/04/22 08:15:14.68 DIThdNQ9.net
むしろこれを使わないと言ったら
CSSに親でも殺されたのかと疑うレベル

477:デフォルトの名無しさん
16/04/22 08:27:03.15 2EQFG1P2.net
僕のパパはフロントエンドエンジニアなんだ
毎日朝早くから夜遅くまでCSSと戦っていた
そう過労死で亡くなるその日まではね

478:デフォルトの名無しさん
16/04/22 08:50:00.81 o7fkiimI.net
ブロントエンジニアにみえたじゃねーか殴るぞ

479:デフォルトの名無しさん
16/04/22 09:30:42.89 4UoNuspO.net
僕のパパは○○エンジニアなんだ
毎日朝早くから夜遅くまで○○と戦っていた
そう過労死で亡くなるその日まではね

>>473
あなたの「好きな」ものを入れてくださいw

480:デフォルトの名無しさん
16/04/22 09:50:04.46 Wc1XF5nd.net
 ┏━━━━━━┓
 ┃  なまえをいれてください.  ┃
 ┗━━━━━━┛
.                ┏━なまえ━┓
.                ┃  きちがい   .┃
.                ┃   ̄ ̄ ̄ ̄  .┃
   ┏━━━━┻━━━━┓
   ┃あ い う え お は ひ ふ へ ほ .┃
   ┃か き く け .こ ま み む め も ┃
   ┃さ し す せ そ や   ゆ    .よ ┃
   ┃た ち つ て と ら .り る .れ ろ ┃
   ┃な に ぬ ね の .わ    を    ん ┃
   ┃っ .ゃ .ゅ ょ  ゙  ゚  もどる.l>おわり.┃
   ┗━━━━━━━━┛

481:デフォルトの名無しさん
16/04/22 10:32:43.47 dFG2RycI.net
>>470
できました。

482:デフォルトの名無しさん
16/04/23 03:21:55.64 EfkjAa5E.net
jQueryの質問で恐縮ですが、気になることがあるので教えて下さい。
CSSの:hoverとjQueryのon操作(マウスオーバーなど)って似たようで違うんですかね?
例えば、CSSで:hoverを適用していたのに、jQueryでon操作をすると、CSSのhoverが
無効になるということがありました。

483:デフォルトの名無しさん
16/04/23 08:19:57.77 16xisiTl.net
>>478
CSSは詳細度の高いスタイルが優先されるからjQueryコードの処理内容を読むべし
URLリンク(triple-underscore.github.io)

484:デフォルトの名無しさん
16/04/23 15:09:16.70 EfkjAa5E.net
>>479
ありがとうございます。読んでみましたが、特に解決しません・・。
ウィンドウサイズを可変したらメニューが変わるというのを作っているのですが、
なぜかclickが連続して2回実行されるんですよねぇ。
e.stopPropagation();を入れたりしてるんですが。
(clickして要素が開閉するやつです。toggle()を使っています)
もう少しソースがまとまったらまた質問させていただきます。

485:デフォルトの名無しさん
16/04/23 15:23:21.83 dqBuSyui.net
clickイベントを2回与えてるからじゃないの?

486:デフォルトの名無しさん
16/04/23 17:29:56.78 EfkjAa5E.net
自己レスですが、on、click内で
$(document).on('click', '.toggle', function(e){
$("+ul", this).toggle();
e.stopPropagation(); // これは駄目
e.stopImmediatePropagation(); //これだと1回になる
});
こんな感じで行けました。
同じようにclickがなぜか2回実行される方は試してみてください。

487:デフォルトの名無しさん
16/04/23 21:29:49.04 hIFK+dKK.net
>>482
Firefoxで、エレメントに紐付いてるイベント見て、2つ以上ついてたら、自分がonしている所か、jQueryをミニファイされてない方使ってそのonにブレークポイント置いて予想外のonしてないか確認すれば?
お前のソースの事はお前にしかわからんのだから。

488:デフォルトの名無しさん
16/04/24 10:16:17.66 C+cT95fe.net
>>482
> e.stopImmediatePropagation(); //これだと1回になる
これで1回になるなら>>481の指摘通り、同じ要素に2回以上の click イベントを定義するコードを書いてる
対処療法で済ませず、コードを読み直してバグを修正した方が良い

489:デフォルトの名無しさん
16/04/24 10:30:55.32 H9KkWHxX.net
>>484
いいじゃなか
ドヤ顔で自己満足してるんだから

490:デフォルトの名無しさん
16/04/24 12:31:48.88 yPs3jUb8.net
原因の理解を放棄し、場当たり的な修正しかしない時点で今後も同じバグを作り続けると思うよ

491:デフォルトの名無しさん
16/04/24 12:58:55.52 RNhCJQSk.net
場当たり的なプロジェクトならそれが正解
保守も自社がやると決まっているなら場当たり的な対応はしないけどね

492:482
16/04/25 02:48:54.21 MdSMyYZD.net
皆さん色々とご指摘ありがとうございます。
短いソースで同じ状況を再現できたので記載します。
■jQueryのバージョン:1.11.3
■scriptの内容
jQuery(document).ready(function ($) {
 $(window).on('load , resize', function () {
  if (window.innerWidth <= 480) {
   $(document).on('click', '.toggle', function(e){
    $(this).next().slideToggle(300);
   });
  }
 });
});
■styleの内容
.sub { display:none;}
■HTMLのbodyの内容
<div class="main"><a class="toggle">メイン</a><div class="sub">サブ</div></div>

493:482
16/04/25 02:49:24.22 MdSMyYZD.net
■制作の意図
レスポンシブでブラウザウィンドウサイズの切り替えによって、
scriptの内容が変化する物を作っています。上記はスマホ用の部分のみ記載しています。
■不具合の手順
1:横480px以上の大きさ(例えば、1024*768)のウィンドウサイズでファイルを開く
2:ウィンドウサイズを480px以下にする
3:メインをクリックする→サブが表示される。またクリックすると閉じる(開閉動作)
4:ウィンドウサイズを480px以上にする
5:またウィンドウサイズを480px以下にする
6:もう一回、メインをクリックすると2回動作されてしまう(1回のクリックで、閉じて閉まる)
デバッグを見てもいまいち原因が理解できないのですが、
どこに問題があるか分かりますでしょうか?

494:デフォルトの名無しさん
16/04/25 03:30:02.07 Ps5j2E75.net
素人目にはonResizeごとにイベントを上書きじゃなくて追加してるんだから当たり前に見えるんだけど
なんなら泥臭く$(window).on('load , resize', function () { 直後にフラグ確認を仕込めば1回が保障されるんでないか

495:デフォルトの名無しさん
16/04/25 04:01:26.78 wavxOtJH.net
>>490
> 直後にフラグ確認を仕込めば1回が保障されるんでないか
やめろw
フラグを使ったら負けだと思え。
一般的にイベントハンドラっていうのは
起動時(onload時)に全部つけてそのままにする。
その後は追加も削除もしないようにする。

496:デフォルトの名無しさん
16/04/25 04:05:25.79 wavxOtJH.net
>>489
作ってるときは、かっこよく見えるんだよなぁw
slideToggle使うのやめれ。
CSSのメディアクエリーだけで完結させろ。
スライドするとかっこよく見えるんだろうが、
ウインドウのサイズ変更(縦横変更)なんて
通常は滅多にやらない。
作ってるときは、頻繁に変えるから
サイズを変えたときに、かっこよくしたいと思うのだろうが、
アニメーションなんかせずにぱっと変えたほうがいい。

497:デフォルトの名無しさん
16/04/25 10:11:52.96 8V9apdt+.net
>>488-489
>>490の指摘通り、新しいclickイベントハンドラが追加(上書きではない)されるのが原因
上書きさせるなり、上書き処理そのものが必要なロジックに変更すればいい
オリジナル(>>488)
URLリンク(jsfiddle.net)
関数宣言(上書きされず) ※addEventListenerなら上書きされる
URLリンク(jsfiddle.net)
off->on(上書きされる)
URLリンク(jsfiddle.net)
clickだけ(上書き不要)
URLリンク(jsfiddle.net)
jQuery#onは同じ関数オブジェクトを指定しても上書きしない時点でDOM Eventsよりも劣るな(これはバグじゃないのか?)
あなたの要件はこれで解決されるが、ウインドウサイズを480px以下にリサイズし、slideToggleで要素を隠した後にウインドウサイズを481px以上にリサイズすると隠された要素を表示する手段がなくなるな
そう難しくないので回避する手段を自分で考えてくれ

498:493
16/04/25 10:26:03.11 8V9apdt+.net
>>488-489
>>492の指摘通り、メディアクエリの方が遥かにスマートだな
slideToggle も transition を使えば実装可能だろう
URLリンク(developer.mozilla.org)
toggle処理はちょっと面倒だが、:checked を使えば可能
input[type=checkbox] を使うか、aria-checked を使うかは迷いどころかもしれんが
URLリンク(developer.mozilla.org)
あと、<a class="toggle"> は止めたほうが良い
リンクでない要素にa要素をつけるぐらいならspan要素でも使ったほうが良い

499:デフォルトの名無しさん
16/04/25 10:39:06.04 +thJ1HWA.net
根本的にイベントの扱い方の問題
>>488見たらわかると思うけどねw

500:デフォルトの名無しさん
16/04/25 11:03:57.31 sTr8T40l.net
>>495
質問者以外は皆分かってると思うよ

501:デフォルトの名無しさん
16/04/25 11:13:49.93 Vb9mflyV.net
>>492
> ウインドウのサイズ変更(縦横変更)なんて
> 通常は滅多にやらない。
メディアクエリを使うならウインドウリサイズにも対応するので主張が矛盾してる

502:デフォルトの名無しさん
16/04/25 12:21:02.08 SIfnh3qZ.net
>>488
on複数回呼んでるじゃねえかw
onは、イベントハンドラを追加する、って関数だからな。
resize発生する度にイベントハンドラが増えていってるよ。
readyで、リサイズのイベントハンドラ足すんじゃなくて、
clickのイベントハンドラ足して
そのclickのハンドラの中で幅を判定してなんなりしろよ。

503:デフォルトの名無しさん
16/04/25 12:25:10.40 +thJ1HWA.net
>>488
基本的なことを理解すべき
$(function() {
$('a.toggle').click(function() {
if ($(window).innerWidth() <= 480) {
$('div.sub').slideToggle(300);
}
return false;
});
});

504:デフォルトの名無しさん
16/04/25 12:36:19.71 +thJ1HWA.net
飯食いながらだったので抜けてので、追記
$(function() {
$(window).resize(function(){
$('div.sub').hide();
});
$('a.toggle').click(function() {
if ($(window).innerWidth() <= 480) {
$('div.sub').slideToggle(300);
}
return false;
});
});

505:デフォルトの名無しさん
16/04/25 12:38:13.10 SIfnh3qZ.net
>>493
アホか。追加で良いんだよ。
匿名関数をその場で宣言してるなら別の関数だし、
同じ関数を複数回適用したい時に中でカウンタ持つはめになるじゃん。
設計の是非はおいておいて、範囲指定と、要素で絞ってonかけたいとかあるっしょ。
リスト全体にhoverでフォントサイズを1つ大きく、要素指定でもhoverでフォントサイズを1つ大きくってしとけば、わかりやすい法則性でフォントサイズ制御したりできんじゃん。
one使え。

506:デフォルトの名無しさん
16/04/25 14:24:44.11 kKT6Zxsu.net
>>498
w

507:482
16/04/25 15:45:16.13 MdSMyYZD.net
皆さん、色々とありがとうございます。
>>500のソースを見る限り、resizeの中にclick操作を入れたので、
複数回呼ばれる形になったんですかね?
この書き方だと何回も実行されませんでした。
あと、on使ってるのは、click(functionよりもon('click'って書き方にしろ
ってのをどこかで見たのでそうしていたのですが、
これも使いどころによって正しくないみたいですね。
皆さんのレスを参考にもう少し勉強してみます。

508:デフォルトの名無しさん
16/04/25 21:46:02.92 JSGjZ52R.net
>>503
onでもええやで

509:デフォルトの名無しさん
16/04/25 22:02:03.57 Ps5j2E75.net
>>503
俺もえらそうなこと言えるようなたいした人間じゃないが
いったんjqueryから離れて基礎を学び直すのをマジおすすめ

510:デフォルトの名無しさん
16/04/25 23:02:39.46 D+WslEY/.net
>>497
> メディアクエリを使うならウインドウリサイズにも対応するので主張が矛盾してる
リサイズっていうのは、サイズを変えることだ。
メディアクエリを使うのはページが表示された時の
サイズに応じた処理をするためだ。
初期のサイズであって、リサイズのためではない。
だから主張は矛盾していない。
ウインドウのリサイズなんてめったにしないだろ

511:デフォルトの名無しさん
16/04/26 00:25:14.44 YAhU7UJr.net
>>506
それはあなたがリサイズのユースケースを想定していないだけだ
Windowsタブレットではマルチウインドウが標準だし、そろそろAndroidにもマルチウインドウが登場する
ウインドウを全画面から2画面に分割した場合、メディアクエリが発動する
デスクトップOSでも同じ現象が起きる

512:デフォルトの名無しさん
16/04/26 09:15:49.75 ZTlcFrw8.net
Windowsが標準w

513:デフォルトの名無しさん
16/04/26 11:14:53.22 v8OmTco7.net
今時、マルチウインドウなんて当たり前だろうに想像力の乏しい人だね

514:デフォルトの名無しさん
16/04/26 11:19:29.88 x636ghAj.net
俺はリサイズよく使うよ
解像度が違う別のディスプレイに移動させるときとかね

515:デフォルトの名無しさん
16/04/26 21:12:17.34 gA9V/byj.net
PCモニタのアスペクト比を16:9にしてからリサイズを良く使うようになったな
4:3の頃はまず使わなかった(モニタが小さかったのも一因だろうが)

516:デフォルトの名無しさん
16/04/26 22:22:59.39 swW8g96r.net
>>507
お前、一つのページを見ているときに
マルチウインドウで、サイズを変えるのか?
もう一回聞くぞ。
マルチウインドウを使うかどうかじゃなくて、
サイズを変えるのか?
小さい画面で使うのはサイズ変更じゃない。
サイズ変更した状態でページを開いているだけだ。
今話しているresizeイベントでスライドするという処理は
「ページを開いた後でサイズを変更する」という一連の動作を
した時にだけ発動するものだ。
しないだろお前?

517:デフォルトの名無しさん
16/04/26 22:24:34.54 swW8g96r.net
>>507
> それはあなたがリサイズのユースケースを想定していないだけだ
リサイズのユースケースがないなんて話はしていない。
リサイズ時にアニメーションして欲しいとは思わないって言ってるだけだ。
作っている方は何度もリサイズして実験して満足がいくものをとか思ってるかもしれんが、
見る側からしたら、ウインドウのリサイズなんてまずしない。

518:デフォルトの名無しさん
16/04/26 22:27:14.76 sgDROvum.net
>>512
>>507を読み直したら?
それとも、あなたは「ウインドウを全画面から2画面に分割」する動作をしないといいたいのかな

519:デフォルトの名無しさん
16/04/26 22:38:30.96 A0x7AT0j.net
>>512-513は多分、デスクトップOSしか想定していないから「画面の分割なんてするわけねーだろ」と一蹴する気がする
タブレットを使ったことがないんだろ

520:デフォルトの名無しさん
16/04/26 22:52:00.82 aeiDD/mA.net
>リサイズ時にアニメーションして欲しいとは思わないって言ってるだけだ。
こんなの書いてる時点でどうにもならない

521:デフォルトの名無しさん
16/04/26 22:56:43.65 7RJVkgnK.net
というか、リサイズ時にアニメーションって
一体なんのこと言ってるの?

522:デフォルトの名無しさん
16/04/26 23:08:56.30 A0x7AT0j.net
>>517
多分、>>493が指摘した問題への対策じゃないかな
slideToggle で隠れた要素がウインドウを481px以上にリサイズした時に表示する手段がなくなるので予め隠れた要素をアニメーションで表示させておく
と思ったけど、「リサイズなんてするわけねーだろ」の人だったね
ホント何なんだろ

523:デフォルトの名無しさん
16/04/26 23:15:10.53 m+yPBzkk.net
「480px以下にリサイズ後に.toggleをclick時にアニメーション」を省略して「リサイズ時にアニメーション」と説明したんじゃない?
日本語が不自由なだけな気がする

524:デフォルトの名無しさん
16/04/26 23:25:48.62 oZATkmH1.net
日本語が不自由といえば>>501もわけがわからんかったな
> アホか。追加で良いんだよ。
「何が」追加で良いのか分からん
「resize時にclickイベントハンドラが追加で良い」なら要件を満たせてないのであり得ない
URLリンク(jsfiddle.net) のjQuery#onが追加で良い」なら後半のhover云々の説明との整合性がとれん
jQuery(element).on('click', handler);
jQuery(element).on('click', handler);
jQuery(element).on('click', handler);
element.addEventListner('click', handler, false);
element.addEventListner('click', handler, false);
element.addEventListner('click', handler, false);
イベントハンドラが3回追加されて便利な状況がさっぱりわからん
こんなことやるならhandlerの中で3回繰り返した方がよっぽどいい

525:デフォルトの名無しさん
16/04/26 23:48:56.02 swW8g96r.net
>>514
> それとも、あなたは「ウインドウを全画面から2画面に分割」する動作をしないといいたいのかな
そりゃすることぐらいあるだろう。
だが、2画面に分割したいと思った時に、
それがたまたま、お前のページである可能性は極めて少ない。
そんなマイナーなアクションのためにアニメーションを付けるのが
無駄だと言ってるの。
思い返してみ? 今日お前が2画面に分割した回数を。

526:デフォルトの名無しさん
16/04/26 23:52:46.47 7RJVkgnK.net
ウインドウをリサイズした後に特定の要素をclickすると
window.innerWidthが480px以下ならメニュー?をslideToggle
ってことだよね?
リサイズ時にアニメーションって関係ないじゃんw

527:デフォルトの名無しさん
16/04/26 23:58:16.87 Bi6OX6KX.net
>>521
ブラウザとテキストエディタを2画面分割で開いてブラウザのページ内容をコピーしてテキストエディタにペーストするのは良くある事なんだけど
ブラウザを見ながらテキスト入力できるのはマルチウインドウの最大のメリットでしょ
「自分がしないから他の人もしないだろう」って思い込みは色々危険だよ

528:デフォルトの名無しさん
16/04/27 00:26:39.16 mjPz9hpH.net
スマホの横持ち、縦持ちを切り替えることはしょっちゅう起こるよ

529:デフォルトの名無しさん
16/04/27 04:38:04.23 ymPBswSy.net
>>524
同じページを表示したまま、縦横に何度も持ち帰るんか?
その時画面のアニメーションを見たいんか?

530:デフォルトの名無しさん
16/04/27 05:07:52.00 iS2uJpqo.net
要は、主目的は画面全体のアニメーション表示ではなく、画面が広いときはメニューを横並びに表示させて
画面が狭いときはメニューをクリック/タップで展開/収納のトグル動作させたい、
ということと思われる
そうでなければ画面の幅に応じてイベントを追加する意味がない

531:デフォルトの名無しさん
16/04/27 08:44:26.76 tEogpAYP.net
>>520
要件はどうでも良くて、api仕様はそれで良いと言ってるんだよ。
その後、once使えと言ってるじゃないか。

532:デフォルトの名無しさん
16/04/27 09:22:32.44 9uyPVyt/.net
>>526
メニューというか特定の要素をclickした場合
画面サイズで何だかの振り分けをしたいんじゃないの?
何れにしてもリサイズをアニメーションって意味不明
単なる持論だよ

533:デフォルトの名無しさん
16/04/27 11:46:48.06 VeDPJalk.net
>>527
API仕様がそれで良い理由が明確でない
しかも、once()で解決しないだろ

534:デフォルトの名無しさん
16/04/27 12:04:54.36 x1DYS/Nj.net
>>527
once()のAPIが見つからないけど、one()の事?
one()を使ったらクリックして閉じた後にウインドウリサイズしないと開けなくなったんだけど
URLリンク(jsfiddle.net)

535:デフォルトの名無しさん
16/04/27 12:21:41.01 PwdWdDII.net
offしてからonすればいいんじゃね?

536:デフォルトの名無しさん
16/04/27 13:01:52.49 x1DYS/Nj.net
>>531
その辺りは>>493で全て答えが出てるから
>>499-500がドヤ顔で解説しているのも既出だし、何がしたいんだか

537:デフォルトの名無しさん
16/04/27 15:19:37.97 BFKJgt+J.net
>>523
オナニーにしか使わないからresizeは必要ない派には、何を言っても理解できないよ。

538:デフォルトの名無しさん
16/04/29 10:29:51.62 Zpx1WpIM.net
>>533
そんなこと言ってるやついないけど、
むしろ、自分の都合のいいように
書き換えるお前には理解できないだろうよw

539:デフォルトの名無しさん
16/04/29 11:58:35.72 2UzU1Fa0.net
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
指定した商品のキーワードとカラーが現れると自動クリックするメソッドがurlが乱数対策で書き換えられたので使えなくなりました。
他の要素から検索する場合、どう書き直せばいいのでしょうか?

540:デフォルトの名無しさん
16/04/29 12:28:51.15 Z5nc+wFx.net
>>535
そのソースだけでは理解不能だと思う
window.location で検索して学習するれば解決するじゃないかな?

541:デフォルトの名無しさん
16/04/29 14:50:02.78 FtHCzag5.net
ブラウザ操作の自動化は、Firefoxで、SeleniumIDE を使って出来ないか?
または、Selenium WebDriver を使って、プログラムするとか
Seleniumデザインパターン&ベストプラクティス、2015
OSSのブラウザ自動テストツール、Selenium WebDriver を使って、
Rubyでテストを書いた本

542:デフォルトの名無しさん
16/04/29 15:12:10.79 npmLXJBi.net
>>535
自動でクリックすると何の役に立つの?

543:デフォルトの名無しさん
16/04/29 15:13:47.73 JN3HPUnt.net
転売厨だろどうせ

544:デフォルトの名無しさん
16/04/30 14:09:13.13 uVz81x78.net
GitHubで匿名通信(Tor、i2p等)ができるBitComet(トラッカーサイト不要でDHTだけで日本語検索可能)
みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
    

545:デフォルトの名無しさん
16/04/30 19:08:39.84 HhSXq6WP.net
>>537
いまどきIDEはねーよ

546:デフォルトの名無しさん
16/05/01 16:53:27.97 sgiYXWIX.net
JavaScriptの文法をひととおり勉強し�


547:Iわったんですが コード書くにはどのIDE使うのが標準ですか? いまはわざわざメモ帳使ってます。(まあそれほど本格的にはやってない段階ですが、しかし将来は本格的にする予定なので。) JavaならEclopse、 VisualC#やVisualBasicならVisualStudio、 AndroidならAndroidStudio がそれぞれ標準みたいになってるじゃないですか。 JavaScriptはそのへんどうなってますか?



548:デフォルトの名無しさん
16/05/01 17:24:58.87 avBwiD/Q.net
>>542
Atomとか

549:デフォルトの名無しさん
16/05/01 17:42:02.88 sgiYXWIX.net
>>543
ありがとうございます
Atom試してみます
ところでAtomは他言語も標準的IDEになってる言語はありますか?
あまりマスターすべきIDEの数を増やしたくないのでJavaScriptをEclipseやVisualStudioでもできるようならそのほうが理想的なのですが。

550:デフォルトの名無しさん
16/05/01 18:12:07.05 t8gRHm+a.net
>>544
JavaScriptに標準IDEはありません
主にシンタックスのカラーリングや補完機能あればいいと思う
自分の好みでいいんですよ

551:デフォルトの名無しさん
16/05/01 19:03:40.53 6DCl83u4.net
「JavaScript」の標準にIDEはMozillaが作ってるだろ
つまらん嘘つくなよ

552:デフォルトの名無しさん
16/05/01 19:54:17.33 IEJxz53a.net
インテリセンス最強のエディタは?
今の所VSが強い印象だけど対抗馬いるか?

553:デフォルトの名無しさん
16/05/02 01:55:39.31 T+iaWOtl.net
>>544
本格的にやるなら、サーバーでの編集用にVimかEmacsを覚えるというのも手だが、言語の練習と同時には覚えるの辛いだろうな・・・

554:デフォルトの名無しさん
16/05/02 14:30:45.71 5BTmw4JC.net
VSCode

555:デフォルトの名無しさん
16/05/02 19:09:21.56 Fa0O9xkC.net
質問です。
JavaScript で、
 var data = 'Price1080';
 var Price = data.match( /^(Price|Kakaku)(\d+)/ );
 if ( Price[2] == 1080) { 【←エラーが発生する行】
  alert('1080円です');
 }
とした場合には正常に動作しますが、data に 正規表現でマッチングしない文字列が与えられていた場合、例えば、
 var data = 'PriceNashi'
だったときには、
 Firefox 最新版の場合 TypeError: Price is null
 Chrome 最新版の場合 Uncaught TypeError: Cannot read property '2' of null(anonymous function)
といったエラーがエラーコンソールに流れてしまいます。
Price[2] が null なのは分かるのですが、こういった変数が null の場合にもエラーを発生させない方法はないでしょうか?
(Price[2] が null なら、単にif文の中身を実行しないようにしたいです)
if ( Price[2] != null ) でチェックしようとしても、同様に「TypeError: Price is null」が発生してしまうので困っています。
ご教示お願いいたします。

556:デフォルトの名無しさん
16/05/02 19:22:45.64 vIuKkp7F.net
if (Price!==null)

557:デフォルトの名無しさん
16/05/02 19:50:52.07 86Jgi2PX.net
if ( Price && Price[2] != 1080 )

558:デフォルトの名無しさん
16/05/02 21:22:42.79 nFATBe9U.net
var Price = data.replace(/Price|Kakaku/, '');
if (Price == '1080')

559:デフォルトの名無しさん
16/05/02 21:47:19.59 58IGANjT.net
それ頭にpriceは書かなきゃいけないの?
なくして数値型で判定した方が確実だと思うけど

560:550
16/05/02 21:56:37.86 Fa0O9xkC.net
>>551-552
ありがとうございます。
教えていただいた方法で試してみたところ、エラーは発生しませんでした。解決です。
if文で配列全体の存在を確認する分にはエラーは発生しないけど、
配列内の要素の存在を確認した場合、その配列自体が存在しないとエラーになっちゃうようですね。
>>553-554
色々な解放があるようですね。
ありがとうございます。

561:デフォルトの名無しさん
16/05/03 04:50:38.58 1U/0N7SV.net
>var Price = data.match( /^(Price|Kakaku)(\d+)/ );
>if ( Price[2] == 1080) { 【←エラーが発生する行】
普通、1行目の後に、いきなり2行目を書かない。
論理的につながっていない
1行目の後には、少なくとも1つでも、一致したかどうかの判断が必要
そして一致していれば、2行目の処理へ進む。
一致するものが無ければ、2行目へ進まない

562:デフォルトの名無しさん
16/05/03 08:47:51.21 65DdW2hV.net
var num = Price ? Price[2] : null;
if (num == '1080')

563:デフォルトの名無しさん
16/05/03 15:41:32.16 6WBArbcg.net
JS的には普通はこう
var price = +( data.match( /^(Price|Kakaku)(\d+)/ ) || [] )[2]
if ( price == 1080) {
判定をするのはJSらしくない
暗黙の型変換を利用し値を早い段階で確定させていくのが正しい動的型付けの手法

564:デフォルトの名無しさん
16/05/03 16:12:55.52 64Up/wnd.net
書き方が悪くないか?正規表現なら
replace(/^.*(Price|Kakaku)([0-9.]+).*$/g,'\\1')-0
かなんかして、1080と比較したら確実じゃないの?

565:デフォルトの名無しさん
16/05/03 16:13:50.36 64Up/wnd.net
あ、リロードしてなかった。すまん。

566:デフォルトの名無しさん
16/05/03 17:09:50.29 2ApUtfSZ.net
^(?:(Price|Kakaku)(\d+))?
と、全体は一致するようにするとか
replaceするやつは '1080' でもマッチしてしまいそう

567:デフォルトの名無しさん
16/05/03 17:14:00.54 65DdW2hV.net
Price || Kakakuの他にも異なった文字列が
存在する、しないで変わってくるね

568:デフォルトの名無しさん
16/05/03 17:29:30.46 IJoN7jmc.net
とりあえずIEでもChromeでも
そこに書いてあるJavaScriptのコードを少しだけ改変/追加したいのですが
簡単にコードエディットする方法はありますか?
インテリセンスだけがついてあれば充分です。
現状はメモ帳にコードを貼り付けてやってるのでものすごく効率が悪い。
ちなみにJavaScriptはまだかなりの初心者です。

569:デフォルトの名無しさん
16/05/03 17:49:40.27 YTE1L/l3.net
おまえごときその辺のテキストエディタで十分

570:デフォルトの名無しさん
16/05/03 17:54:18.04 64Up/wnd.net
>>559
自己レスで間違えてた。
\\2に置換すると、Priceに続く数字だけ残る。

571:デフォルトの名無しさん
16/05/03 17:55:12.59 G4OBLQ5I.net
ブラウザのコンソールからファイル編集して保存できるよ
メモ帳すらいらん

572:デフォルトの名無しさん
16/05/03 18:55:05.50 IJoN7jmc.net
>>564
あまりわたしを怒らせないほうがいいぞ。
わたしは真剣に聞いているのだからな。

573:デフォルトの名無しさん
16/05/03 19:00:51.75 mbDp1eZa.net
昨今のテキストエディタは優秀だから騙されたと思って拾ってこいや
てめえにゃもったいないくらいのサポートしてくれるっての

574:デフォルトの名無しさん
16/05/03 19:01:38.06 IJoN7jmc.net
>>568
たとえばどれでしょうか?

575:デフォルトの名無しさん
16/05/03 19:43:50.15 G9XEXQGe.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
URLリンク(twitter.com)
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw

The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT +


576:PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 8



577:デフォルトの名無しさん
16/05/04 06:10:29.02 0hExvDHP.net
>>563,569
URLリンク(atom.io)
URLリンク(www.sublimetext.com)

578:デフォルトの名無しさん
16/05/04 09:13:01.47 bRkFYhVs.net
>>563
MSDNの、IE11・F12 開発者ツールの使い方を参照

579:デフォルトの名無しさん
16/05/05 10:19:03.70 ydt/wr9U.net
>>567
真面目に聞いてる人が放置するのか

580:デフォルトの名無しさん
16/05/05 10:44:15.30 fknk/t2B.net
最強のエディタはVSと相場は決まっておる
他のエディタはロクなインテリセンスのないゴミばかりだよ

581:デフォルトの名無しさん
16/05/05 11:52:59.62 SMfsRko8.net
notepad 最強伝説

582:デフォルトの名無しさん
16/05/05 11:57:07.40 F9EaZa1N.net
自己満足が最強

583:デフォルトの名無しさん
16/05/06 00:24:25.24 4boKzuh/.net
エディタなら秀丸一択だろうが
4200円するけどそれだけの価値はある

584:デフォルトの名無しさん
16/05/06 08:25:56.04 wkAp2vOU.net

秀丸は世界的でなくDTDを採用していたりと外も中も古臭く拡張を作りづらく
JSのように日進月歩で絶賛進化中の言語情勢に全くついてこれていない

585:デフォルトの名無しさん
16/05/06 10:19:44.07 XipIUMCb.net
chrome developertoolコンソール
インテリセンスもあるし

586:デフォルトの名無しさん
16/05/06 10:22:17.38 SIBOz9L4.net
秀丸はもうだいぶレガシーになってしまったな
少し前はNotepad++だったけどそれも過去になった
今のところAtomがいいけど
ちょっと重いんでVS Codeに期待

587:デフォルトの名無しさん
16/05/06 12:30:06.56 QA9WXQLh.net
禿丸って、ちゃんとインテリセンスある?

588:デフォルトの名無しさん
16/05/06 13:06:16.77 b+5YqGKq.net
秀丸ってまだ存在してたんだ

589:デフォルトの名無しさん
16/05/06 14:17:41.74 G4Kxj38O.net
4200円ていつの時代の話だよ

590:デフォルトの名無しさん
16/05/06 19:01:56.63 tQEExFw/.net
ternjsさえのれば、どの環境でもだいたいおなじくらいのインテリセンスなのかなあと思った
それ以上はTypeScript使わないかぎりしんどい気がする

591:デフォルトの名無しさん
16/05/06 21:49:21.53 qd0GNKqW.net
みなさん、javascriptってこの先生き残ると思いますか?

592:デフォルトの名無しさん
16/05/06 22:08:01.20 zDXbuI6Z.net
ブラウザで動く言語としてはJavaScriptは確実に生き残るだろう。
その他のaltJSは殆どが死滅するはず。JavaScriptの上位互換といえるような
TypeScriptだけがMSの興味を引いている限り生き残る。
COBOLが生き残ってることからもわかるように、
特定の分野で多く使われた言語は長く生き残るものだよ。
言語仕様の良し悪しじゃない。
死滅した言語っていうのはVBやDelphiだけど、
これは開発元が開発をやめたか大幅に縮小したため。
逆に言えば開発元が開発をやめない限り使い続けられる。
そしてJavaScriptの開発元はどこか?MS、Google、Mozilla、他
このように複数あるから開発を一斉にやめるってことがまず考えられない。
加えて改良が進められているから辞めようって声も上がらない。
辞めるぐらいなら改良すればいいわけだからね。

593:デフォルトの名無しさん
16/05/06 22:49:31.18 HS1krX3+.net
>>586
Delphiとか当時は革新的だったよなぁC++Builderとかとともにお世話になった。
その中の人が今はc#やtypeScript作ってるんだよね。

594:デフォルトの名無しさん
16/05/07 00:27:39.35 H9AjK5sV.net
FileReaderで画像の複数読み込みを行って、画像とファイル名を対に表示したいのだけど、非同期ゆえ一致しない場合がでてくるのですが、何か良い方法はないでしょうか?
var name = new Array();
var data = new Array();
$('#images').on('change', function (event) {
var files = $(this).prop('files');
var fileReader = new Array();
for (var i = 0; i < files.length; i++) {
name[name.length] = files[i].name;
fileReader[i] = new FileReader();
fileReader[i].onload = function (event) {
var n = data.length;
data[n] = event.target.result;
$('body').html($('body').html() + '<div>' + name[n] + '<img src="' + data[n] + '"></div>');
};
fileReader[i].readAsDataURL(files[i]);
}
});

595:デフォルトの名無しさん
16/05/07 01:25:28.41 R3j+TLGo.net
jQueryって毎回スクリプトタグ書かないと動かないんですか?

596:デフォルトの名無しさん
16/05/07 04:30:24.07 S68KOTjs.net
jqueryでreplaceする時にreplace(/test/g,'test2')みたいなコードみたんだが、検索文字列をなぜクォーテーションで囲ってないのだ?
このトークンはどういう扱いになっているの?
当方、javasctipt初心者です。

597:デフォルトの名無しさん
16/05/07 04:45:54.23 S68KOTjs.net
正規表現オブジェクトというのね。
自己完結しました。

598:デフォルトの名無しさん
16/05/07 08:19:51.56 nYaS7NzX.net
>>589
jQueryに限らず、外部スクリプト化したいなら<script>を書かなければならない
onclick属性やonload属性等のイベントハンドラ属性だけで完結できるならこの限りではない

599:デフォルトの名無しさん
16/05/07 08:44:10.25 nYaS7NzX.net
>>588
画像とファイル名は同時に表示出来ているのでは?
それよりも document.body を上書きしていたり、jQueryを使っているにも関わらずfileReader[i].onload のような素のJavaScriptコードが見られたり、HTML出力でfilesと同じ順序を保証していない事が気になる

600:デフォルトの名無しさん
16/05/07 11:48:23.84 98qiMegf.net
>>589
JavaScriptのこういう所は何とかして欲しいよ
コードのモジュール化、再利用がめんどくさすぎる
未だにブラウザ間で最低限の互換性すら取れてないし
IT業界の最前線で使われている言語とは思えない

601:デフォルトの名無しさん
16/05/07 12:11:46.43 7m+gJQ3f.net
何言ってだこいつ

602:デフォルトの名無しさん
16/05/07 12:22:16.57 //iuahhd.net
頭悪いんだろうからほっとけよ

603:デフォルトの名無しさん
16/05/07 12:40:50.09 98qiMegf.net
いやいやこれに同意できないって相当毒されてるぞ
JS以外の言語触った事無いのか?

604:デフォルトの名無しさん
16/05/07 12:47:05.73 bc2M0je5.net
あなたこそ梅毒でも煩ってるの?
ここよりお医者に行くべきだよ

605:デフォルトの名無しさん
16/05/07 12:58:07.39 H9AjK5sV.net
>>593
コードに関しては、非同期部分の問題となってる部分をチェックしていただける方がおられた場合に簡単にテストできるよう、
ポイントに絞ったものとなってますので、最終的にはファイル名ソートもしくは入力順に表示するつもりですし、もちろんdocument.bodyの上書きなど行うこともありません
ですので問題定義以外の部分でのコードの粗はご了承ください
さて、このコード、確かに画像と名前は同時に表示されますが、「filesと同じ順序を保証していない」とご理解いただけてるように、
nameはfiles順に代入されていきますが、dataは読み込み完了時に代入され、書き出しもそのタイミングです
1:サイズ大
2:サイズ中
3:サイズ小
と、あった場合、nameは1,2,3、dataは概ね小、中、大と代入されていき、対になって表示されることは保障されていません

606:デフォルトの名無しさん
16/05/07 12:59:41.90 98qiMegf.net
>>598
可哀想なやつだな
まあ生き方は人それぞれか

607:デフォルトの名無しさん
16/05/07 13:07:53.42 HCFqFuTE.net
>>594,597
多分、あなたがいっているJavaScriptはクライアントサイドスクリプトの事だろうが、クライアント側の環境に依存するから簡単に後方互換性を捨てることが出来ない
Node.jsなら十分可能だから
クライアントサイドスクリプトは製作側の環境だけ整えても仕方ないのだから言語の問題というよりもユーザのリテラシーや古い環境に固執すユーザの考え方の問題
ES6でモジュール管理機能が追加されているから古いブラウザを切り捨てる気があるなら可能
現状ではAltJSを使うなり、Babelでトランスコンパイルするのが妥協点

608:デフォルトの名無しさん
16/05/07 13:18:35.30 HCFqFuTE.net
>>599
onload 時に出力結果を配列 or DocumentFragment にキャッシュしておき、その要素数が files.length と一致したら document.body.appendChild してみては?

609:デフォルトの名無しさん
16/05/07 15:09:05.53 NRmKgF8p.net
そもそもWebという仕組みがモジュール化しずらいんだから仕方がない
HTML5+でパッケージングの案とか出てたけど立ち消えになったしな

610:デフォルトの名無しさん
16/05/07 16:24:25.14 rW+w2i1Z.net
Microsoft全てを委ねていればこんな体たらくにはなってなかった

611:デフォルトの名無しさん
16/05/07 17:31:40.76 q+dYax/I.net
どいつもこいつもジャップは母国語すら満足にしゃべれなくなったのか?

612:デフォルトの名無しさん
16/05/07 17:50:30.87 7m+gJQ3f.net
void 0 === a && ~~

a === void 0 && ~~
こういうのってどっちがいいとかある?

613:デフォルトの名無しさん
16/05/07 17:54:47.43 kizhSvpl.net
結果を先に書いておかしいと思わないの?
おまえセンスねえからやめたほうがいい

614:デフォルトの名無しさん
16/05/07 18:14:28.17 v072DMKU.net
>>604
おうJScriptが主流になってたな

615:デフォルトの名無しさん
16/05/07 19:18:58.60 PsySjkPg.net
>>604
そんなことしてたらここまでブラウザは進化しなかった

616:デフォルトの名無しさん
16/05/07 19:25:18.36 rW+w2i1Z.net
こういうバカな反逆者がブラウザの正しい進化の道を閉ざしてきたんだな

617:デフォルトの名無しさん
16/05/07 19:26:31.11 JbOpDSya.net
>>594
ブラウザ間の最低限の互換性は取れてるような。
caniuseでも通してみりゃわかるだろうけど。
モジュール化も、module.exportsして今のところはwebpackか何か通しておけばいいんでないの?

618:デフォルトの名無しさん
16/05/07 20:07:07.26 rW+w2i1Z.net
手段があるなら良いってもんじゃ無いよね
当たり前のようにサポートされてないって事がweb業界のリーダー達の怠慢を表してる
Microsoftがリーダーになっていればこうはならなかった

619:デフォルトの名無しさん
16/05/07 21:10:40.66 kFFwjeQZ.net
スレ違いだったらすいません。webプログラマーを目指そうかどうか、悩んでいます
SQLやフレームワークでデータを引っ張ってきてphpでhtmlを生成し、htmlにcssで装飾し、jsで動きをつけて・・・と思っていたのですが、
IE8や下手するとIE6の対応、IEはJscriptというjavascriptと少し違う言語…などの変な多様性に悩んでいます
いくつかサイトを作ってみましたが、IE6で動かなかったり、携帯ブラウザで表示が崩れたりして大変困っています。
困っているというか、どうしていいかわかりません。
ブラウザ間の違い等、どこまでサポートしているかなどの基準はあるのでしょうか?

620:デフォルトの名無しさん
16/05/07 21:14:56.21 znoXDAwn.net
>>613
文面を見るかぎりWebプログラマーには向いていないと思うので別の道を探してください

621:デフォルトの名無しさん
16/05/07 21:20:22.07 rZxk5OUW.net
ES6 module が来ても HTTP で GET している限り、パフォーマンス低下は免れないわけで何が嬉しいのか良くわからん
CSS の @import のように始めの頃だけ重宝されていずれ使われなくなる気がする
moduleが必要だとは思うが、>>611のいうようにwebpackでbuildすれば最適なパフォーマンスが得られるわけでブラウザ側で実装する必要性を感じない

622:デフォルトの名無しさん
16/05/07 21:38:26.64 rZxk5OUW.net
>>613
今時、IE8- は古すぎると思うけど、顧客の要求仕様か特殊な案件?
各種フレームワークのサポートブラウザを確認
互換性情報はWebにあふれているから活用しようか
URLリンク(caniuse.com)
URLリンク(www.quirksmode.org)
URLリンク(kangax.github.io)
URLリンク(msdn.microsoft.com)
URLリンク(developer.mozilla.org)

623:デフォルトの名無しさん
16/05/08 01:45:49.69 a6za2jQ4.net
>>588
そもそも複数のリソースファイルは、5個ずつパラレル読み込みで、
複数あるサーバーのどこから読み込んでいるのかすら、わからない。
どのファイルが先に読み込まれるかも、当然わからない
F12開発者ツールで、リソースの読み込みタイミングを見てみ
onChange は、要点に関係ないだろ
>new Array();
[]; 空配列リテラルを使う
>>613
IE6なんて、対応しないだろ
CSSもツールで、関数(ミックスイン)で書く。
Sass & Compass 徹底入門、2014
他に、Bourbon にも、ミックスイン集がある

624:デフォルトの名無しさん
16/05/08 02:14:54.64 OocjjMXM.net
>>599
> nameはfiles順に代入されていきますが、dataは読み込み完了時に代入され
答え自分で書いとるやないかーい
fileReader[i].onload = function (event) {
&nbsp;&nbsp;var n = data.length;
&nbsp;&nbspdata[n] = event.target.result;
}

fileReader[i].onload = (function (n) {
&nbsp;&nbsp;return function (event) {
&nbsp;&nbsp;&nbsp;&nbsp;data[n] = event.target.result;
&nbsp;&nbsp;};
})(i);

625:デフォルトの名無しさん
16/05/08 02:15:33.52 OocjjMXM.net
s/&nbsp;/ /g

626:デフォルトの名無しさん
16/05/08 11:04:13.34 J2x5cRTw.net
>>618-619
bodyへの挿入処理がない
多分、>>602の通りの実装にするんだろうけど

627:デフォルトの名無しさん
16/05/08 13:29:51.82 P/nJjC5X.net
ID:H9AjK5sV です
ID:OocjjMXM 様のCallback使う手法でうまくいきました
レスして頂いた皆様、有難う御座いました

628:デフォルトの名無しさん
16/05/09 08:47:40.90 W7sFbKKM.net
jQueryで作っているんですが
下のような内容でボックスのどこでもクリックやタッチしたらclass = "box"のIDを
変数に取得したいんですが商品名や説明があるところだと
クリックやタッチは反応してるんですがIDが取れません。
商品名のところでクリックやタッチしてもclass = "box"のIDを取得できる書き方はありませんでしょうか?
$(".box").click(function(event){
 var boxId = event.target.id;
}
<div class = "box" id ="item1">
<div class = "title">商品名1</div>
<div class = "text">説明1</div>
</div>
<div class = "box" id ="item2">
<div class = "title">商品名2</div>
<div class = "text">説明2</div>
</div>

629:デフォルトの名無しさん
16/05/09 08:58:44.04 dyobdVC7.net
>>622
hasClassやclassListで分岐処理して
event.target.parentNode.id

630:デフォルトの名無しさん
16/05/09 16:48:27.63 wbQMz1Tb.net
>>622
event.currentTarget.id

631:デフォルトの名無しさん
16/05/09 21:03:12.68 o7YvYv9W.net
jQueryってそんなにありがたがるようなものかな
最近は無くて困る事ってそんなにないよね

632:デフォルトの名無しさん
16/05/10 00:01:34.91 yLtf5w/x.net
>>625
jQueryは便利だから使うんだよ。
jQuery使ったほうが便利なのに、使わなくても不便だけど頑張れる。
だから使わない。なんて考える人はおかしな人だよ。

633:デフォルトの名無しさん
16/05/10 00:04:42.17 yLtf5w/x.net
>>624
$(".box").click(function(){
 var boxId = this.id;
});
これでいけたよ

634:デフォルトの名無しさん
16/05/10 08:52:13.41 4ts0a3G7.net
>>625
クロスブラウザ的にはjQueryがなくて困るケースは減ったね
DOMを学習してクロスブラウザなコードを書いた事がある人にとっては今までの自分の資産(コード)があるし、jQueryはなくても困らないと思う
今までクロスブラウザに苦労してjQueryの便利さに触れた人がブラウザの対応度を調べる手間を惜しんで惰性で使ってるんじゃないかな

635:デフォルトの名無しさん
16/05/10 10:27:37.59 AYSgFkex.net
>>626
jQueryは確かに便利なとこもあるだろうが、
俺にとっては「標準でない」という時点でとても不便なんだけどな

636:デフォルトの名無しさん
16/05/10 11:19:26.96 F0daG/eG.net
>>629
標準でないものを全く使わずに、何万行もコード書くとか疲れないか?

637:デフォルトの名無しさん
16/05/10 11:27:59.90 idlWyZE5.net
1. jQueryクソ!バニラJS最高!
2. DOM操作面倒になってきた…
3. 簡単に書けるラッパー用意したぜ!
4. クソオレオレDOM APIの歴史が銀河にまた1ページ

638:デフォルトの名無しさん
16/05/10 12:00:17.53 4ts0a3G7.net
>>324-389で出た話題の焼き直しかな
DOMが面倒と思うのは結構な確率で思い込みだと思う
自分なりのコーディングの型が身につけば snippet で楽になる
querySelectorAllが出来てからは大分楽になった
iteratorが出来てからは更に楽だね

639:デフォルトの名無しさん
16/05/10 12:08:57.36 pM7kjGoW.net
Web制作板で見た流れだな
スレリンク(hp板:839-960番)

640:デフォルトの名無しさん
16/05/10 13:34:07.61 IOgaEvdb.net
すんごい初心者的な質問かもしれないんだけど
jsonの形のデータを返すプログラムやらcgiやらがあるとして、
これをブラウザなりnode.jsなりが配列として受け取りたい場合は、レスポンス/返り値を受け取ってeval()が基本?
とりあえずブラウザでdocument.createElement('script')するとかjqueryのgetJSONとかは考えないものとして

641:デフォルトの名無しさん
16/05/10 13:41:24.58 Rtf28uts.net
>>634 JSON.parse

642:デフォルトの名無しさん
16/05/10 13:44:05.16 GuxwfwYt.net
>>634
JSON.parse

643:デフォルトの名無しさん
16/05/10 13:45:46.76 IOgaEvdb.net
>>635-636
言われたJSON.parseをMDNでみてきた、ありがとう
どうみても初心者丸出しでした本当にありがとうございました

644:デフォルトの名無しさん
16/05/10 16:37:13.26 a8SwGUA2.net
jQueryは壊滅的に見た目がダサい
記号多すぎ

645:デフォルトの名無しさん
16/05/10 16:39:32.39 z09te98I.net
>>637
「JSON JS」でググるくらいはしよう

646:デフォルトの名無しさん
16/05/10 16:42:23.47 JGlnd6eX.net
JavaScriptを書くとソースが長くなるのが欠点だわ
DOMにしてもセンスが無い

647:デフォルトの名無しさん
16/05/10 17:57:38.15 rBTKy2Ex.net
DOMは基本JSとは別物で言語に囚われない規格だよ

648:デフォルトの名無しさん
16/05/10 20:07:10.97 p4MwWBVW.net
質問です。
ラジオボタンが一つも選択されていない状態では送信ボタンを押せないか無効化させる方法ってありますか?

649:デフォルトの名無しさん
16/05/10 20:29


650::07.07 ID:FqZqz1a/.net



651:デフォルトの名無しさん
16/05/10 21:18:32.65 zqmBWtQQ.net
>>642
JavaScript によるバリデートは抜け道があるのでサーバサイドでのチェックも忘れずに
1.JavaScript で <input type="submit"> を input.disable = true にする
2. <input type="radio"> を change イベントで監視して全てのラジオボタンが選択されたら input.disable = false にする

652:デフォルトの名無しさん
16/05/10 23:08:08.13 yLtf5w/x.net
>>632
> DOMが面倒と思うのは結構な確率で思い込みだと思う
いや事実。
比較表でも作ってみればいい。
50%以上、jQueryの方がコードが短くなる。
50%は大きいで?

653:デフォルトの名無しさん
16/05/10 23:21:01.17 KuwcBTwn.net
>>644
その方法で抜け道ってどんな?

654:デフォルトの名無しさん
16/05/10 23:37:57.18 uAV2Alwm.net
適切な設計とモジュール化を行っていけばjQueryがあってもなくても大差ない
それがうまくできてないんだろうね
いやできていないというよりはサボってjQueryで誤魔化しているというべきか
そしてこういうコードはスケーラビリティが低く変化に弱いと相場は決まっている

655:デフォルトの名無しさん
16/05/10 23:40:05.80 WbwZXmAZ.net
>>645
何を言ってんだか
jQueryみたいなライブラリで短くなるのは当たり前でしょ
むしろそうじゃなければ存在意義が全く無い
そしてコードが短くなることと面倒でなくなることは繋がっていない
例えば他人が書いたコードを読むのであればjQueryの方が「面倒」だろうよ

656:デフォルトの名無しさん
16/05/10 23:48:31.48 yLtf5w/x.net
>>648
読む量も減るから楽になるよ。

面倒に対するアプローチには二通りある。
一つは勉強するのが面倒だからと勉強を避ける。
一見楽なように見えるが、知識がないからもっと楽な道を選べずにひたすら
単純作業を繰り返すことになる。勉強する面倒さを避けたがために面倒になる。
もう一つは勉強する面倒さを受け入れることで、もっと効率のいい方法に到達する。
急がば回れの言葉通り。最初に勉強という面倒なことをやることで、
その後ずっと楽になる。

657:デフォルトの名無しさん
16/05/10 23:57:03.18 uAV2Alwm.net
なぜコード量が大幅に減るか
それは本来モジュール化すべき重複したコードが大量にあるからなんだな
例えば100箇所に同じようなコードがありjQueryでそれを削減したとしよう
しかしちゃんとしたプログラマは1箇所に処理を纏めて再利用して重複を減らすだろう
この場合jQueryで削減できるコードは先の場合の1/100でしかない
しっかりしたコードを書くほどjQueryの恩恵は小さくなるのだ

658:デフォルトの名無しさん
16/05/10 23:58:28.27 yLtf5w/x.net
誰かが「面倒」といったとき、勉強するのが面倒と言ってるのか、
その後の作業が面倒と言ってるのかを見極めないといけないね。
どんなことでも作業を楽にするには、勉強する面倒さを
乗り越えないといけない。勉強して知識と技術がつけば作業は楽になる。
自動車の運転しかり、パソコンに使い方しかり、数学の公式しかり
作業ではなくて、勉強するのが面倒と言っているやつは、
そこまでのやつってことだよ。

659:デフォルトの名無しさん
16/05/11 00:00:25.17 ye4EAN+q.net
>>650
そのしっかりしたコードが、jQueryを使った場合と
使わない場合で、倍のコード量になってくるんだよ。
これ以上は絞り込めないといったコードで比較した話なんだから。

660:デフォルトの名無しさん
16/05/11 00:01:12.32 ye4EAN+q.net
ato
jQueryで楽々削減するのと、
しっかりと書かないと減らせないのとでは
面倒さも違ってくるだろw

661:デフォルトの名無しさん
16/05/11 00:43:36.75 wiJHIT3v.net
>>652
短く書きたいのなら別にjQueryでなく様々なものがある
jQueryは互換性を保つという点が薄れてきた今となっては極めて中途半端な存在
ちょっとしたことなら、わざわざ何かを導入しなくとも昔より発展した標準APIを使えばいいし、
それ以上のことでDOM操作を頻繁にするなら仮想DOM系の方がパフォーマンス的にも良い
それ以上ならフレームワークを使う

いずれにしろjQueryのパターンは古臭く、今ちょっとした味付けが欲しい場合は
Observableパターンと標準APIを使ったほうが良い

662:デフォルトの名無しさん
16/05/11 01:29:13.56 ye4EAN+q.net
>>654
たかだかHTMLにちょっと動きをつければいい所に
AngularとかReactとか持ち出すのは過剰。

jQuery程度がちょうどいいんだよ。
標準APIが発展? 冗長なのは変わってないだろ。

jQueryを使えばDOM APIよりも短くなるのは明らか。
比較一覧で証明された。

短くシンプルに書くのが目的であって
道具を導入するのが目的ではない。

663:デフォルトの名無しさん
16/05/11 01:30:48.00 x+4ifnQN.net
短く書ける事が即作業能率に繋がるわけじゃないんだけどな
document.getElementById('hoge')
$('#hoge')
確かにDOMの方が3倍長いけど、コード補完を使うから入力速度は大して変わらんね

664:デフォルトの名無しさん
16/05/11 01:41:26.30 mC1n68eU.net
>>655
jQueryはプログラミングに詳しくない人が本体とプラグインを使って
コピペ+αでそれなりのものを作るためのもの。
少しコードが多くなるとデバッグも適切な設定をしないと困難だし、
短くシンプルに書くためのものなんてのは誤った危険な認識だよ。
そしてjQueryは実際はそれ自体が目的で使われてる。
便利だからではなく、便利と思って使ってきたから、また使うとなってるだけ。
その無意味なスパイラルから抜け出さないと何時までも停滞したままだよ。

665:デフォルトの名無しさん
16/05/11 01:53:32.30 mC1n68eU.net
確かにDOMを平に見て弄りまくる場合にはjQueryは適してると言えるが
そんなに弄りまくる場合にはVirtualDOMを使うのが最近の流儀でメリットも沢山あるし
できればそもそもそんなことはしないで各種モジュール化するというのがより良い解決策
そしてモジュール化するとなったら特にjQueryのような平に影響を与えるライブラリは邪魔になり
必然的に標準仕様と、時期が来ればいつでも外せる少量のポリフィルを使うことになり
それが嫌なら全てをまとめて抽象化してくれるフレームワークの出番になる
jQueryはDHTMLだとかそういう時代には合ってたが、今jQueryが生まれた背景事は殆ど解決し
より良い解決策がたくさんあるのにあえてその古くて悪いスタイルを推すことは無いだろう

666:デフォルトの名無しさん
16/05/11 02:08:46.99 z7XWs6Or.net
>>5を読んだら次からスルーしてね

667:デフォルトの名無しさん
16/05/11 06:05:18.26 qJ1gI9ow.net
こいつが当人なんだから言うこと聞くわけないじゃん

668:デフォルトの名無しさん
16/05/11 06:05:43.37 T3iqLJ21.net
javascriptは流行の移り変わりが激し過ぎて、現在の最善手が1年後の時代遅れになりそう
触る人全員が最新技術を追いかけられればいいけど、それが無理なら枯れていて情報量が多く、あんまりわからん人でも気合で押し切れるjQueryは有用に感じる

669:デフォルトの名無しさん
16/05/11 06:48:45.94 udOmff2f.net
jQueryで削減できるのは末端のコーディングコストでしかない
重要なポイントは設計のコストでありjQueryにはこのコストを削減する力はない
むしろ全体の工数を削られたことによって設計が疎かになる可能性の方が恐い

670:デフォルトの名無しさん
16/05/11 07:06:15.34 XhqmdNgU.net
jQueryの悪さってもっと別のところにあると思う
EWMに沿ってライブラリが標準と共闘して活躍するのが理想だけど
jQueryは完全に自分の世界を築いちゃって相容れないこと
まあこの先の進化で自ずとそうなっていくだろうけど今はまだデファクトとして認められないね

671:デフォルトの名無しさん
16/05/11 07:15:59.11 XhqmdNgU.net
>>661
ブラウザのアップデートが一月半毎なことを考えると、時代遅れになるのは3ヶ月くらいのスパンだと思う
とは言えここ1年はESのアップデートが中心で、WebAPIはマイナーな調整が殆ど
来年以降HoudiniとかEWMに沿う低レベルの仕様がまたどんどん出てくると思う

672:デフォルトの名無しさん
16/05/11 08:16:21.66 7o2M3lBg.net
IE11 しかサポートしなくていい人は気楽だのう。

673:デフォルトの名無しさん
16/05/11 08:31:45.67 47ZN8m01.net
IE11以上サポートなんて半端なことよほどじゃないとしないでしょ?
Edge以上か、IE9以上か、プログレッシブエンハンスメントにして機能で篩い分けるか
の3択で今行ってる

674:デフォルトの名無しさん
16/05/11 09:08:23.44 ye4EAN+q.net
>>657
> jQueryはプログラミングに詳しくない人が本体とプラグインを使って
> コピペ+αでそれなりのものを作るためのもの。

という勘違いをしている人が、jQueryを悪く言ってるんだよねw

675:デフォルトの名無しさん
16/05/11 09:09:01.34 ye4EAN+q.net
>>663

Angularの悪さってもっと別のところにあると思う
EWMに沿ってライブラリが標準と共闘して活躍するのが理想だけど
Angularは完全に自分の世界を築いちゃって相容れないこと

好きな言葉に置き換えればいいよw

676:デフォルトの名無しさん
16/05/11 09:09:58.99 ye4EAN+q.net
>>658
> 確かにDOMを平に見て弄りまくる場合にはjQueryは適してると言えるが
> そんなに弄りまくる場合にはVirtualDOMを使うのが最近の流儀でメリットも沢山あるし

手段と目的が逆になってるw

VirtualDOMをいじらなくていいような簡単な所を
わざわざ複雑にするなや

677:デフォルトの名無しさん
16/05/11 09:47:54.59 LV2XLOSJ.net
一般的な記述でjQueryを使用して書けばソースが約半分になるは事実だ
どうして屁理屈をこねて反論するのだろうか?
jQueryを使用しているとJavaScriptを本質的に理解していないと
自己解釈しているだけだろw

678:デフォルトの名無しさん
16/05/11 10:17:41.47 x+4ifnQN.net
Virtual DOMはDOMが遅いから生まれたのであって独自の世界になるのは当然
AngularJSはMVC設計を取り入れているからMVCをやりたい時に使う
「では、jQueryは何をしたいが為に使うのか」という話だよな
記述量が半分になるメリットだけではjQueryの世界に没入するデメリットを相殺しきれない

679:デフォルトの名無しさん
16/05/11 11:00:32.08 kvpM6w4K.net
>>644
1はなんとかできたけど
2がわからない…

680:デフォルトの名無しさん
16/05/11 11:27:16.56 x+4ifnQN.net
>>672
どこがわからないのかわからんけど、form.elements['inputName'] で各要素を参照できる

681:デフォルトの名無しさん
16/05/11 15:35:23.12 m6oW+Aes.net
ここでjqueryに執着している奴は他の言語をあまり知らないんだろうな。jqueryなんてjsやる時に使えば便利という程度だろ。
c++とかc#とかもやるといいよ。

682:デフォルトの名無しさん
16/05/11 15:38:05.91 S3kH2EJT.net
忙しい調理場で「ハサミで切ったほうが丁寧に切れますよ」とか言ってくるやつがいたら
「さっさといつも通り包丁で切れよ」って思うだろうな
もちろんjqueryが包丁な

683:デフォルトの名無しさん
16/05/11 15:45:03.20 LV2XLOSJ.net
もうやめようよ
馬鹿と何とかは使いようっていうしなw

684:デフォルトの名無しさん
16/05/11 18:02:34.45 716xjHj3.net
>>668
それは機能の寄せ集めである典型的なライブラリであるjQueryにこそ最も強く言えることであって、
AngularJSは別物だよ

685:デフォルトの名無しさん
16/05/11 20:35:53.97 xrNZw1On.net
>>671
Virtual DOMはテストがやりやすくなるし
標準の代わりとしてまだ分かる
jQueryはむしろテストがしにくくなる
ただの餓鬼の玩具

686:デフォルトの名無しさん
16/05/11 20:42:34.87 w9XqkPaB.net
お前らの価値観とかどうでもええわ

687:デフォルトの名無しさん
16/05/11 22:00:50.15 ye4EAN+q.net
>>671
> jQueryの世界に没入するデメリットを相殺しきれない

デメリットって勉強するのが面倒くさいって話?

それって、その人自体のデメリットだよね。
勉強が嫌いな人に仕事を任せるのはデメリットw

688:デフォルトの名無しさん
16/05/11 22:06:23.24 ye4EAN+q.net
>>678
同じ理屈で

Virtual DOMはテストがやりやすくなるし
標準の代わりとしてまだ分かる
DOM APIはむしろテストがしにくくなる
ただの餓鬼の玩具

といえるんだよw

DOM APIとjQueryならば、jQueryを使ったほうがいい。

689:デフォルトの名無しさん
16/05/11 22:08:36.24 S3kH2EJT.net
すぐに廃れるものは勉強めんどいのわかるが
jqueryは勉強しといて損はないだろ
つーか勉強ってほどでもない
JS知ってりゃ1日で慣れる

690:デフォルトの名無しさん
16/05/11 22:08:53.06 ye4EAN+q.net
>>677
> それは機能の寄せ集めである典型的なライブラリであるjQuery

何を言ってるんだ?

jQueryはDOM APIの置き換えであって、
お前が言ってるのは(野良)jQueryプラグインの話だろ?

jQueryはオブジェクト指向型のDOM APIを関数型のプログラミングが
できるように置き換えるライブラリだよ。
(※ブラウザ間の互換性を吸収するライブラリではない)

691:デフォルトの名無しさん
16/05/11 23:12:52.71 O2+YRvW5.net
scって>>レス番にマウスポインタ持っていくと、返信先のレスが表示されますよね?
あれってどういう仕組みでしょうか?
ツールチップではないみたいですが

692:デフォルトの名無しさん
16/05/11 23:42:07.24 IeznZ4jj.net
まぁ、DOM操作をするか、何かにバインドするか、毎回一定範囲ごともらうかは思想次第だからなぁ。
書こうと思えば、jQueryだけでSPA書けるだろうし、その時にDOM足したり消したり細かくするか、innerHTMLごとサーバから貰うかも思想だし。
俺はinnerHTMLを毎度やりとりしてた派だから、今のreactの流れは当然の結果に落ち着いたとも思うし、
逆にクライアントサイドで何もかも済ませて、restfulなapi呼び出ししかしない、その上でクライアントサイドの状態と表示が不一致になるのを避けたり、コンポーネントとして再定義するという意味ではvue.jsは好き。

angularは収集つかなくなってる感が凄く嫌だな。

693:デフォルトの名無しさん
16/05/12 00:54:32.46 8vh2YrlZ.net
>>682
適材適所が出来ない無能だからこそ
何かと理由を付けてキャパシティの低さをカバーするのよ

694:デフォルトの名無しさん
16/05/12 01:36:10.90 WDa8o6L5.net
jQueryの勉強がめんどいって誰も主張してなかったと思うけど、何かと理由をつけて反論したいのね

695:デフォルトの名無しさん
16/05/12 01:59:28.76 9Y0usIRW.net
jqueryをちょっと練習してます。

サイトを見たんですが、なぜクロージャで実行するのでしょうか?
function内だけを実行しても同じ挙動に見えます。

$(function(){
$("#text1").css('color','red');
});

$にfunctionを渡すとどうなるのでしょうか?

696:デフォルトの名無しさん
16/05/12 02:36:00.78 WDa8o6L5.net
>>688
下記コードとほぼ等価
document.addEventListener('DOMContentLoaded', function () {
$("#text1").css('color','red');
}.bind(this, jQuery), false);

697:デフォルトの名無しさん
16/05/12 02:39:56.36 Xc9f48N7.net
やっぱりjQueryを使わないと長くなるなw

698:デフォルトの名無しさん
16/05/12 02:43:56.98 Xc9f48N7.net
>>685
Reactは高品質な(準)標準UIコンポーネントが作られれば普及すると思うよ。

そういう世の中になったら、jQueryを嫌がるのと同じように
○○コンポーネントは使うな自作しろとか言うやつが出てきそうだけどw


で、UIコンポーネントが出来た後は、ウェブアプリをポトペタで作れるようになって、
そしてUIコンポーネント同士を連携させるのにjQueryがやっぱり便利じゃね?って
言われるようになる。

699:デフォルトの名無しさん
16/05/12 08:01:45.83 RFqkT9TF.net
>>691
標準コンポーネント要らなくない?reactなら。
ポトペタでコンポーネントを置いて、結局コンポーネント間の操作をjQueryでやるのはまず破綻すると思うが。
良きひとつの別解としてでもDOMから離れて行くと思うよ。
操作したいのはDOMではなく、コンポーネントだからね。
今までは、DOM≒コンポーネントだっただけで。

700:デフォルトの名無しさん
16/05/12 08:12:03.13 ffZfaRCN.net
jQuery以外を知らず井の中の蛙となってる奴に何言っても無駄。
皆が新設でこれだけ教えてあげようとしてるのにムキになるだけだしどうしようもないクズだね。

701:デフォルトの名無しさん
16/05/12 09:11:36.25 VZ0ffw6x.net
蛙に失礼だろ

702:デフォルトの名無しさん
16/05/12 09:16:41.78 6wLBo9DQ.net
とりあえず今からjs始めようとするのにjQueryを触るのはなしだってことだよね。

703:デフォルトの名無しさん
16/05/12 09:29:20.27 pPHDojvh.net
「JS」を始めようとするのには無し
でもWebデザイン中心の入門としては学習資産があるからね

704:デフォルトの名無しさん
16/05/12 09:30:41.67 Xc9f48N7.net
>>695
DOM APIを触らないのであればそのとおりだけど。
DOM APIを沢山触るのであれば、
それをjQueryに置き換えると遥かに効率が上がる。

705:デフォルトの名無しさん
16/05/12 09:37:11.92 cWhHAzov.net
そりゃJavaを始めるのに面倒だからScalaで書いて呼び出すみたいなもの
いつかは触らないといけないのなら最初からDOMを勉強した方がいい
この先月に1回未満くらいしかJSをに触れる必要が無いのなら選択肢としてあり得る

706:デフォルトの名無しさん
16/05/12 09:52:19.65 lQiQw1tJ.net
必要なら$(elem)[0]を参照すれば済む

707:デフォルトの名無しさん
16/05/12 10:09:14.52 cWhHAzov.net
id振ってりゃその名前で直にアクセスできるけどね

708:デフォルトの名無しさん
16/05/12 10:15:36.21 RFqkT9TF.net
ID振るとか正気かわからん。
ページで、一意にしなきゃならんのだぞ。
「コントロールの中に幾つかのコントロールがある」コントロールを幾つか置いたらもう考えるのが面倒くさいし、状態変数(サーバで持ってるかクライアントで持ってるかに関わらず)との乖離が酷くなっていくじゃん。

709:デフォルトの名無しさん
16/05/12 10:30:08.78 cWhHAzov.net
それこそjQueryで扱う状況じゃないな
別にjQueryは抽象的だとか相対的な関係を扱うのに長けてるわけでもなく、
ただ「短く書ける」程度のものなのだから、
標準DOM APIで困難でフレームワークを使うような必要性が有るときは
それはjQueryにだって不向きな場面であるのは自明

jQueryの様々な付加価値、AnimationとかFetchとかPromiseも時代遅れの仕様だし
最早document.querySelectorAllを$と短く書ける以上のシロモノじゃない
いかに中途半端で役に立たないシロモノか分かったね?

710:デフォルトの名無しさん
16/05/12 10:33:36.37 gnZrQsyk.net
>>701
jQueryだって平に見て何かをする以上のことはできない。
ShadowDOMとか使ってコンポーネント化したり高度なこととは折り合いがつかない。

711:デフォルトの名無しさん
16/05/12 12:22:57.19 8PwOpBF8.net
だから相手すんなっての
lodashの啓蒙()で延々と荒らされた状態から何も進歩してねえ

712:デフォルトの名無しさん
16/05/12 12:49:57.46 RFqkT9TF.net
>>703
だから、jQueryでID指定でどうのとか、DOMapiでとかそういう発想じゃなくて、
ちゃんとコンポーネントとして考えようねって話だよ。

713:デフォルトの名無しさん
16/05/12 13:39:59.81 zeyNygYO.net
enchant.js 用のマップエディタを、jQuery UI で作って、公開している人がいる

jQueryは、ちょっとしたアプリにはいい。
こんなのDOMでは、面倒くさくて作れない

714:デフォルトの名無しさん
16/05/12 14:33:59.41 QFbK3hrX.net
jQuery MobileとjQuery UIはjQueryとは別物
一緒に語るな

715:デフォルトの名無しさん
16/05/12 16:19:45.56 iX4T91tZ.net
SPAを作るのに、SPA用FWを使いたいのですが、JQUIも使いたいです
組み合わせて使うのは、可能でしょうか?また、一般的な方法でしょうか?

716:デフォルトの名無しさん
16/05/12 16:46:03.41 RFqkT9TF.net
>>708
SPA用フレームワークが何かによる

717:デフォルトの名無しさん
16/05/12 16:56:38.45 iX4T91tZ.net
>>709
迷っているところです
VuaやAngular2などがあるみたいですが、おすすめはありますか?

718:デフォルトの名無しさん
16/05/12 16:59:58.81 3OjnTRaH.net
>>708
spaって何よ?

719:デフォルトの名無しさん
16/05/12 17:03:19.84 iX4T91tZ.net
>>711
シングルページアプリケーション

720:デフォルトの名無しさん
16/05/12 17:37:38.25 RFqkT9TF.net
>>710
vue.js使ってるけど、今までで一番感動した。
今はjQuery一切使ってないよ。
viewとモデルに専念してくれるから、あんまりお作法とか無いし。

721:デフォルトの名無しさん
16/05/12 17:46:16.47 iX4T91tZ.net
>>713
Angular2は複雑みたいですね
vue.jsの方が覚えやすいですかね?

722:デフォルトの名無しさん
16/05/12 17:49:42.18 aiv+0stS.net
>>693
jQueryは三下のやるゴッコだから許してやれ

723:デフォルトの名無しさん
16/05/12 18:23:11.34 gjMSeNc+.net
>>714
ライブラリ(フレームワーク)の選び方

コミュニティの大きい方
rc版とか論外
vueもag2も無い

724:デフォルトの名無しさん
16/05/12 18:42:57.19 iX4T91tZ.net
>>716
バインド以外使いたい機能特にないんですが、vueじゃ駄目ですかね?
UIはJQUIで作る予定ですが

725:デフォルトの名無しさん
16/05/12 19:53:00.09 RFqkT9TF.net
>>714
覚えやすいよ。

>>716
もうstable何度も出てるよ。トップページのボタン見て思ったんだろうけど。
コミュニティは大きいに越したことは無いけど。

>>717
UIは何でjQuery UI使うの?
アニメーションとかの為なら、vueでも出来るよ。
それこそバインドしておけば勝手に。

726:デフォルトの名無しさん
16/05/12 20:08:26.12 BZDGS6so.net
非同期な関数A、B、Cがあったとして

Aを実行、callbackでエラーと結果を受け取る
  エラーなら終了
  Aの結果がまずけりゃBを実行、cal(ry
    エラーなら終了
    その後Cを実行
  Aの結果がまずくなけりゃそのままCを実行

なんて流れで書きたいときCを実行するコード2回書かなきゃいかんの
それとも超クールな書き方あるの

727:デフォルトの名無しさん
16/05/12 20:09:48.05 iX4T91tZ.net
>>718
タブとダイアログを使いんですが、自分で実装出来ますかね?

728:デフォルトの名無しさん
16/05/12 20:58:00.22 bBgG4/I/.net
idすら一意に管理できないようなのはエンジニアやめたほうがいい

729:デフォルトの名無しさん
16/05/12 21:03:34.87 RFqkT9TF.net
>>720
タブは瞬殺。
チェックボックスの状態と、タブページのdisplayをバインドするだけ。
チェックボックスはcssでタブ耳みたいにしておく。
(チェックボックス自体は見えなくして、label forにスタイル当てるととても楽)
ダイアログもほぼ瞬殺。ダイアログの中身はslotで書いとけばいい。
背景を暗くするためのdivと、その上に置くdivのdisplayを、ダイアログメッセージ!=""にバインドしとけば、
ダイアログメッセージに文字列入れるだけ。

730:デフォルトの名無しさん
16/05/12 21:09:40.37 8TSCgVOi.net
>>719
超クールに書けますよ。そうJQueryならね

731:デフォルトの名無しさん
16/05/12 21:19:35.09 BZDGS6so.net
>>723
いやマジで
ぜんっぜんわかんねえ
promiseも細かい分岐書こうとしたらなんかresolve地獄になった

732:デフォルトの名無しさん
16/05/12 21:26:53.32 hY0jzmnf.net
>>711
まだこんなのがいるんだな

733:デフォルトの名無しさん
16/05/12 22:06:37.95 5wVtNAV4.net
インスタント麺だろ
知ってるよ

734:デフォルトの名無しさん
16/05/12 22:33:10.83 RFqkT9TF.net
p=new Promise(function(res,rej){res()});

p.then(a).
.catch(b)
.then(c)
.then(/*全部終わった*/)
.catch(/*cで死んだ*/)

ではいかん理由があるのだろうか。

735:デフォルトの名無しさん
16/05/12 22:34:03.31 lH3ZGyQp.net
たらこがない

736:デフォルトの名無しさん
16/05/12 22:34:57.59 Xc9f48N7.net
>>705
> ちゃんとコンポーネントとして考えようねって話だよ。
いやコンポーネント作ったからってそれで完結するわけじゃなくて、
コンポーネントとコンポーネントを繋ぐものが必要だろ?
そこにjQueryを使うんだよ。

>>713
> vue.js使ってるけど、今までで一番感動した。
> 今はjQuery一切使ってないよ。
DOM APIは使ってるかい? 使ってないだろう?

そういうこと。 そのタイプのフレームワークを使うことでDOM APIを使わずに
ウェブアプリを作ることは出来る。むしろDOM APIを直接触ってはいけない。
jQueryを使ってないっていうのは、jQueryはDOM APIを置き換えるだけだから、
DOM APIを使わないならば、必然的にjQueryも使わないだけ。
そしてこのフレームワークを覚えるのはjQueryよりも大変で単純なウェブサイトでは
大掛かりすぎて使うほうがコストがかかる。


整理するとjQueryの代わりに(もっとコストがかかる)フレームワークを使ったら
jQueryもDOM APIも使わないでいいということ。
フレームワークがいらない場面ではjQueryを使うのが良い。DOM APIは出番なしw


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch