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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 73c8-oPzN)
垢版 |
2017/04/03(月) 00:31:25.68ID:82yaJsi70
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

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

>>740
自分でテストした事じゃねえよ。
自分たちが信頼性を担保できるか、だよ。
担保できるなら、そりゃそれでいいよ。

>>745
ものによってはやるよ。特にイントラは。
IEのバージョンはまあほっといてもインフラ屋が整えるから、ものによってはFFのLTSやら、Chroniumの自家ビルド撒く。

>>760
最下行懐かしさすら感じた。
VSCodeはホントに良いな。ちょっと前はBrackets使ってたけど、早々乗り換えた。
売ってるか、VSの公式オプションとして勝手に入ってくりゃ導入しやすいのにな。
2017/07/02(日) 19:28:46.77ID:e/yyuEo2a
>>761
悪意あるコードである場合はほとんど無いが、悪意あるコードを実行するためのとっかかりになる事はあったな。
764デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 19:51:23.42ID:flwPV3hx0
>>759
タグのstyle属性にCSSを埋め込むのは、良くやるけどなぁ。
チョイとhtmlを書くには、最初はstyle属性使うゾォ。
2017/07/02(日) 20:44:01.86ID:lbFb44zd0
JavaScriptのお勧めの入門書ってどんな本になりますか?
よかったら教えて頂けますでしょうか?
2017/07/02(日) 20:59:41.50ID:eAvQkLaE0
>>765
本じゃなくてMDN読め。マジで。
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide

韓国人死ね
2017/07/02(日) 21:08:49.17ID:qu1w2u8p0
MDNは入門には向かない
弁護士の入門に六法全書を勧めるようなもの
読み深めるのは入門が終わってから
2017/07/02(日) 21:15:33.94ID:U+yzEr64M
>>765
ネットで解説してるサイトが沢山あるぞ
769デフォルトの名無しさん (アウアウエー Sa4a-8ij8)
垢版 |
2017/07/02(日) 21:17:32.02ID:kcvEAltTa
>>765
HTML/CSS/javascript辞典でも買ったら良いんでね?初心者なら結構使えるかと。
javascript習いたいと言う事はやりたいことあるはずだから、その中からやりたいもの選んでコピりまくれ。
2017/07/02(日) 22:17:01.46ID:eAvQkLaE0
>>767
お前ちゃんと見て言え。入門編はハロワからだ。
ずぶの初心者なんてピリオドとコンマ/大文字と小文字間違えてハマったりするんだから、
変に写経する必要もなく、コピペで動くMDNが一番いいよ。

>>765
ちなみに対話形式の入門サイトがよければuhyohyoがまあまあ。
http://uhyohyo.net/javascript/
ここはある程度マトモなやつが書いている感がある。

JavaScriptに関しては検索すればいくらでも引っかかるが、
馬鹿が間抜けな方法でドヤ顔しているサイトが多いので注意しろ。
(MDNはこれがほぼないからいい。理由は多分、執筆者が複数だから)
つっても初心者が見分けることは不可能なので、
特にステマ臭感じなければ言われた事を信じるしかないね。

つか他言語って日経とかが先導して
一線か退きたての連中に執筆してもらっている記事があるけど、
JavaScriptってないよな?MDNに集約してあるからか?
(あれらは肩書き付きで書いているから初心者でも信頼できるか判定できる)

韓国人死ね
2017/07/02(日) 22:17:14.23ID:viRBzUTY0
流動的に言語仕様が変化していく中
今おすすめのjs入門って言われるとなかなか難しそうだな。
今から習うならES2015を中心に学んだほうが、余計なゴミを学習する手間を減らせるかもね。
オレ個人としては以下の本がちょうどよかった。

プロになるためのJavaScript入門 ~node.js、Backbone.js、HTML5、jQuery-Mobile (Software Design plus)
2017/07/02(日) 22:39:49.38ID:8fmO5i+70
入門書じゃないけど
HTML5 Web標準API バイブルは一回は読んどいた方がいいと思った
2017/07/02(日) 22:48:14.46ID:0SO6fajC0
>>762
> 自分たちが信頼性を担保できるか、だよ。
> 担保できるなら、そりゃそれでいいよ。

あー、わかったわかった。
お前、何の信頼性を担保するかが分かってないんだ。

使ってるライブラリの信頼性を担保するのは必須じゃないんだよ。
お前が開発しているシステムの信頼性を担保すればいい。

お前が開発しているシステムが100%完璧に動く。
それをテストして確かめればいい。
そうすればライブラリも問題ないことが証明できる。

嘘だと思うか? お前が開発しているシステムはOSの上で動くだろう?
つまりOSの機能を使っているわけだ。だけどOSのテストはしていない

OSの機能を使ってるのにOSのテストはしていない。それなのに信頼性を担保しているだろう?
それができるんだからライブラリのテストをしなくても、お前が開発している
システムのテストをすればお前が開発しているシステムの信頼性を担保できるというわけだ

お前が本当にするべきはライブラリの信頼性の担保じゃない。
お前が開発しているシステムの信頼の担保だ。
無駄なことしていたね。
2017/07/02(日) 23:16:22.73ID:ynDhLM7Z0
>>742-760
「javascript css html 構文チェック ツール」で検索!

JS用
JSLint, JSHint, ESLint, JSCS

CSS用
CSS Lint

HTML用
1 Another HTML-lint gateway
2 Another HTML-lint 5
3 The W3C Markup Validation Service
4 The W3C CSS Validation Service
5 W3C Link Checker

HTMLの文法をチェックしてくれるサービス・ツール5選
http://blog.nest-online.jp/15901

HTMLとCSSの文法チェックツール5選
http://programming-study.com/technology/html-css-check/

JavaScript/CSSのLint系ライブラリまとめ
https://blog.htmlhifive.com/2016/01/29/javascript-css-lint-library/
2017/07/02(日) 23:23:40.25ID:ynDhLM7Z0
>>765-772
はじめてのJavaScript、掌田津耶乃、2013

オブジェクト指向JavaScript、2012, Stoyan Stefanov

この本は、図書館で読んだけど、内容は忘れた。
Stefanov の本は、わかりやすい。
とても、クールな外人
2017/07/02(日) 23:37:23.00ID:8fmO5i+70
>>762が作ってる様なシステムって例えばIEのバージョン変えたらアウトみたいなそういうのなんだろうな
グローバルなら不具合があれば都度対応するもんだけど
イントラで納入したらそれきり変更しないみたいな
2017/07/03(月) 00:33:29.07ID:NVKo/d7Z0
>>776
多分効率ではなくて長く働いたら
残業したら偉いみたいな文化の会社なんだと思う
悪い意味で社畜なんだろう。
2017/07/03(月) 00:36:18.92ID:eIKaVSVP0
お礼が遅くなってしまいましたが、
答えて頂いた方、ありがとうございました。
2017/07/03(月) 05:33:41.15ID:asl1DT8Q0
プログラミングのプの字も知らないならまずはScratchみたいな疑似言語で
ループや配列あたりまで知っておくと導入がスムーズ
2017/07/03(月) 14:11:31.72ID:I1s3dJhLH
>>771
> プロになるためのJavaScript入門 ~node.js、Backbone.js、HTML5、jQuery-Mobile (Software Design plus)
ギャグなの?
2017/07/03(月) 14:18:44.12ID:pRpZtob8a
jQuery Mobileって二年くらい前から更新止まってなかったっけ?
2017/07/03(月) 14:42:36.21ID:q0hg7zKV0
>>775
今時オブジェクト志向はオワコン
2017/07/03(月) 14:50:05.44ID:MZPmjKUL0
>>780
まぁ2012の本だから、ライブラリ周りな話は古いのは認めるけど
jsの入門部分は読みやすくまとまっていておすすめ。Backbone.jsとかは俺も読み飛ばした。
784デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/03(月) 19:52:35.14ID:5YkGJt3m0
>>766
Mozila Developer’s Networkの略かな?MDNは。
良さそうだね。

でも、俺は本で読みたいな。

俺が良かったと思う本は、O’raillyの開眼JavaScript。
薄くて、全容を捉えるのに丁度良い。枝葉末節に触れてないのがGood.

ただし、ES3の説明だから、最新ES2015にCatch Upするには、
別の本が必要だけど、基本はES3だからなぁ。
2017/07/03(月) 20:46:03.41ID:zaKuQFjj0
>>779
韓国人みたいな馬鹿ならそうなんだろう
韓国人死ね

マジレスするとそれは勉強のための勉強になってるからNG。
「JavaScript?ならそれはドキュメントを大量に読むことになるから
日本語と英語を勉強した方がいいね」と言っているに等しい。
そもそもループや配列を10分で理解できないような奴がプログラミングなんてやるもんじゃない。
安倍首相:「小学生にもプログラミングを」←おい止めろドアホ、でしかなかったろ。
プログラミングを知らない奴が頓珍漢なことを言うのは常で、
今ならAIについての過大な期待/過小な評価がそれだ。
CNNやMLを知っている奴からすると、いやそれはねーよ、が多すぎるだろ。

Scratchとかはwikiにもそのまま書いてあるが、モチベーションを維持するためのものだ。
JavaScriptに関しては初段階から高位記述が使えるから必要ない。
smalltalkベースでいいのかは俺には判定不能だが、それが役に立つとしたら、
smalltalkのリスト=JavaScriptのリストと理解出来る=抽象思考ができる
わけだから、そういう奴は最初から配列やループで引っかかることはない。
これがその手の教育用言語がイマイチ流行らない理由だ。
使うべき対象がせいぜい小中学生であって、
その段階なら国語/英語/数学をやったほうがよく、
抽象思考が出来る段階(高校生より上)なら実用言語の方がエコシステムが揃っていて有利だからだ。
2017/07/03(月) 21:07:03.55ID:asl1DT8Q0
勉強のための勉強はすべきだよ
もし今すぐjQuery使って何かをしたいというのがあるならjQueryから始めればいい
プログラミング自体に興味があるなら、
実用言語は学習環境(それこそモチベーションの維持も含む)としては向かない
2017/07/03(月) 22:29:45.56ID:zaKuQFjj0
>>786
朝鮮人らしいすり替え乙
韓国人死ね

俺はjQueryの学習を否定してない。それは明らかに実用環境だろ。
お前はどういう論理で反論しているつもりになっているんだ?

お前や韓国人みたいな馬鹿にも分かるようにもう一度言うと、
・Scratchの経験が生きるような奴は、最初からJavaScriptでも何の苦労もしない。
・Scratchじゃないと続かない奴がプログラミングを始めるのは時期尚早だ。
配列は数列やベクトルを習うと自然に理解できる。ゆとり以前では高2の範囲だった。
そこで引っかかるようなら、国語/英語/数学をきっちりやってからでいい、という意見だ。
LogoとかPascalとかも昔からある教育用言語だけど、使っている奴なんて皆無だろ。
意味ねーんだよマジで。

もちろんどっちが妥当かを判断するのは当人でいい。
お前との議論は空回りするだろうし、意味もない。
2017/07/04(火) 02:17:33.67ID:dNef7kBX0
また質問をさせて頂きます。
ideoneの言語選択欄を見るとJavaScriptは2つあるんですが、
これはどう使い分ければよいのでしょうか?
私は記述ブラウザはgooglechromeを使っています。
2017/07/04(火) 06:53:51.11ID:oyAK7KEX0
>>788
SpiderMonkey(Firefox等で使われるJavaScriptエンジン)と、
Rhino(主に組み込み用でブラウザでは使われないJavaScriptエンジン)ですね。
ChromeのJavaScriptエンジンはV8で、これらとはまた違うものを使っています。
ではV8はないし、SpiderMonkeyの方を使えばいいのかというと、答えはNOです。
ideoneのはサーバサイドで実行されるので、ブラウザで実行されるクライアントサイドのものとは別物です。
なのでhtmlを作ってブラウザで試して下さい。
最低限<script></script>を書いて、この中にJavaScriptのコードを書けば動きます。
<script>
alert("Hello\nWorld");
</script>
790デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 14:31:57.11ID:GExTsYeb0
「関数を実行している場所」ってどういう判断をすればいいの?
俺の中では、「何らかの文字列やドットでチェーンされたものの後に () 」
がついていれば、関数やメソッドがそこで呼ばれている。
という判断をしているけど、
コードをステップ実行しているとそれじゃ説明の付かないソースの
ジャンプの仕方がある。
もちろん for や ifの後の () は「関数実行の()」ではないし、
関数定義の 「funcition の後の ()」も関数実行ではない。
逆に onClick="callback" みたいに

「()がつかなくてもよくわからないけど関数が呼ばれる」みたいなのも
あるかもしれないし、そこら辺がよくわからない。

ステップ実行してて、思いもしたかったソースに急にジャンプすると
何が起こったのかわからなくなってしまう。
Call Stackの状態も関数名が1つずつ積まれたり降ろされたりするのではなくて
急激にスタックが変化しているから何が起こったのか見失ってしまう。
2017/07/04(火) 14:48:16.59ID:+DF/zzlV0
いつ実行されるのか不明といえば、非同期処理が思いつくが
792デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 15:27:44.87ID:GExTsYeb0
非同期処理?のところでの動きがよくわからないのかな?
無名関数があるとよくわからなくなるっぽい。

コールスタックを見ると(anonymous) とか r l n i みたいな一文字だけの
関数名表示のところでわけがわからなくなる。
これらのコールスタック上の一文字関数名はソース上に
function として定義されている関数名と一致していないから
何なのかがよくわからない。
2017/07/04(火) 15:55:19.32ID:u+VzSenF0
>>790
onClick=みたいなのは、実行してねという「登録」だから
それがいつ実行されるかはonClick次第としか言えない

関数も参照だから、あちこち渡っていく過程で別の名前になることもあるし、
内部的な直接見えない部分に紐付けされて呼ばれる場合もある
( )が付かなくともゲッターセッターは関数の呼び出し

もし圧縮されたJSをデバッグしたいとかなら
デバッガと併用して、整形したソースを目で見てそこが何かを理解する作業も必要
ライブラリを無視したいのであればデバッガの設定でスキップ可能
2017/07/04(火) 19:18:44.46ID:dNef7kBX0
>>789
ideoneについて質問をした者です。
お礼が遅くなってすいません。
詳しくありがとうございました。
795デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 21:34:26.68ID:GExTsYeb0
>>793
なるほど、関数って「定義」と「実行」だけで成り立っているかと思ったら
その間に「登録」が挟まれるものでもあるってことかなぁ

整形は {} で行ってるよ。
あまりコアすぎる処理はスタックトレースに乗らないようにBlaxboxing
した方がいいんだね。

ところで、「レスポンス」ってファイルなの?文字列なの?
オブジェクト的なものなの?
2017/07/04(火) 21:46:06.56ID:VNwinaDY0
>>789
それ毎回思うんだけど、お前らのalert信仰って何なん?

俺がJavaScriptを始めたとき、大概のサイトはalertを使っていて、
「これでデバッグかよきっついなー」と思っていた時期があって、
その後、console.logあるのかよorzだった。

だから馬鹿が書いたオレオレJavaScript入門ではなくMDNを読め、
と言いたい所だが、MDNもハロワはalertだときてる。
これって何なん?ブラウザで動くことを誇示したいのか?
どう考えてもconsole.logの方が使えるし最初に紹介されるべきなんだが。
現実的にalertなんて使うことないだろ?

韓国人死ね
2017/07/04(火) 21:50:36.25ID:/bsbbamh0
>>796
デバッグ用途だからな。
alertの方が文字数が少ない
それに画面上に表示されてくれる。

デバッグ用だからすぐに見たい時にすぐに見れる
2017/07/04(火) 21:56:53.72ID:WWB6/nj10
console.logは同時に実行する量が多いと拾いきれなかったと思うが
2017/07/04(火) 21:58:58.27ID:MfuChGM0M
>>796
おまえは本当にばかなんだな
スマホ実機で確認したりと、確認方法は様々だろ
スマホにコンソールあるのか?ん
2017/07/04(火) 22:00:15.44ID:MfuChGM0M
あとな、アラートはそこで動作がいったん停止するんだよ
そもそもコンソールとは別物なの
それによる使い分けがあるんだよ
わかったかい?
2017/07/04(火) 22:10:55.66ID:Jc3vhyvW0
最初にconsoleとかいわゆるdevtoolとかを説明するのが
めんどくさかったとかw
2017/07/04(火) 22:11:53.57ID:Qp4D6Nj/0
スマホのブラウザにコンソールがないからかもしれない
2017/07/04(火) 22:15:02.91ID:Qp4D6Nj/0
というかMDNでconsole.logのページとか見ると「非標準」の表示がしてある
2017/07/04(火) 22:21:28.64ID:Jc3vhyvW0
hello worldをスマホで始めるやつは
なかなかたいしたタマじゃないかとも思うw
2017/07/05(水) 00:04:31.70ID:oqB/GF4W0
お前ら食いつきすぎで逆にびびるわ。

韓国人死ね

>>798
いやそれはない。
大量に吐いたらまとめて捨てられるだけで、ランダムに落ちることはない。
とはいえこの用途にはどのみちalertは使えないだろ。

>>801
MDNの入門ページは開発ツールの後になぜかalertなんだな。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Introduction
そして次ページ以降は全部console.logで二度とalertは使われないというちぐはぐさ。

>>その他
そこらへんがお前らのおかしい所でな、
console.logという「インタフェースが揃っていること」が重要であって、
その中身はどうでもいい、というのがオブジェクト指向なんだが。
なければ作ればいいだけだろ。
適当なdivをpositoin:fixedにしてinnerHTML += XXXX;で
オレオレconsole.logは簡単に作れる。
そうすればモバイルだからalertじゃないと駄目とか、関係なくなるだろ。
最悪console.logをalertに直結してしまってもいい。
いずれにしてもプラットフォーム依存の部分が見える状態でコーディングするのは得策ではない。
alertなんて同期UIでモーダルだし、通過判定くらいにしか使えない。
それならappendChildでいちいちテキストノード付けてもいいし。
2017/07/05(水) 00:05:16.85ID:oqB/GF4W0
プラットフォームによって切り分けるというのは、
お前らが嫌っている生Cの手続型プログラミングであって、
究極の実行効率を求める手段であり、JavaScript的ではないんだな。
生産性ガーなら躊躇なくconsole.logにインタフェース統一して、必要ならオレオレ実装だろ。
不要なときは空関数に接続しておけばソースを変更する必要もないし。

ただ、この辺のちぐはぐさはMDN書いている奴もそうで、
標準じゃないと言うのなら、chromeみたいに、
・型によって色が変わる
・オブジェクトはクリックすれば展開される
仕様のオレオレ実装console.logを「ポリフィル」と称してMDNに載せててもおかしくないわけでさ。
実際これがあれば助かる奴もそこそこいるんじゃないかな?
お前らが実機テストを重視しているのであれば。

なんつーか、この手の「お前ら意識高いだけで中身ねーよな」ってのは
JavaScript界隈では非常によく見かける。
お前らだけではなくMDNもだというのが終わっているのだが、
そのせいもあってお前らが間抜けであることに気づかないという悪循環だ。
何のために何をやっているのか考えてなくて、
○○をやりさえすればいいと暗記しているからこうなる。
そこはマジで、考える癖をつけたほうがいいと思うぞ。

韓国人死ね
2017/07/05(水) 00:49:04.40ID:2bj0sfMKM
必死に考えたごまかしがそれか?ん?
おまえは本当にあたまがわるいんだなぁ

アラートデバッグはスマホ実機での簡易確認に便利
アラートは動作をそこで一時停止させて各種確認が可能
要するにconsole.logとは使い分けなんだよ
バカがconsole.logが上位互換とかおもって↓あんなこと書いちゃってたけどさ

「 現実的にalertなんて使うことないだろ? 」


これ、どう落とし前つけんの?ん?
2017/07/05(水) 03:01:17.21ID:Pz4DebRH0
alertは視覚的にわかりやすい
開発ツールはブラウザやOSによって操作がちがい、スマホのように存在しない環境もある。開発者ツールの使い方をやる前のサンプルにはalertのほうが説明が少なくて楽

そして、同等に近いものは権限的にポリフィルでは書けない

・DOM構築前でも使える
・クロスオリジンのフレームでも出力可能
・Webサイト上から読み取られない
・DOM操作に影響しない
 
中途半端に再現したものを使うのは特に入門編では混乱のもとなので良くない。alertにつなぐのはライブラリとか拡張機能による出力があるのでどう考えても変

また、今後セキュリティの問題とかが出ればconsole.logが書き換えできなくなる可能性を否定できない。
2017/07/05(水) 07:19:35.73ID:tax8J9ZO0
大昔は間違って連続alert出しちまったら大事だったが
今は普通にそのタブだけ閉じれるからな
まあアラートでも何でもええと思うよ

別にalertとconsole.logは包括関係でもなんでもない
全く別の機能だし
2017/07/05(水) 07:29:54.56ID:zFb2YRep0
説明が面倒だったとか、スマホ考慮したとか、全部正解なんですけど、
やっぱ視覚的にわかりやすいってところが一番ですかね。
console.logは地味で初心者の反応が悪いんですよ。
興味を持ってもらうにはalertのほうが効果的だと思います。
2017/07/05(水) 08:03:34.95ID:7CZ44oFla
プログラムに手加えるのめんどいしブレークポイントで済ませちゃうことが多いかも
2017/07/05(水) 11:48:12.35ID:KD2VFbty0
SPAの場合に
urlが実際のコンテンツ配信のエンドポイントになっているのかそれともjsによる擬似的なurl?
か区別つかないよね。
これってjsから検出する方法ありますかね?
locationオブジェクトを参照する範囲では区別つかないんですが
2017/07/05(水) 12:10:27.92ID:W7p06HKZ0
console 系は、本番のソースコード中に放置していると、

メモリリークするので、ツールで消すべし
2017/07/05(水) 19:47:23.76ID:tax8J9ZO0
それは昔の話
今はしない
https://1000ch.github.io/memory-leak/console/
2017/07/05(水) 20:26:52.96ID:uevhplVm0
>>812
ルーターに指定のURIが登録されてるかどうかチェックできたりしない?
フレームワークによるかもしれんけど
2017/07/05(水) 20:39:38.81ID:tax8J9ZO0
performance.getEntries()[0].name == location
で分かる
2017/07/06(木) 00:17:33.48ID:/WGPUMaU0
>>807
姦流プログラミングではalertを使ってデバッグをする、まで読んだ
つかそれマジで言ってるんだろうし、かなりやばいぞお前

韓国人死ね


>>811
それは正解。

ハロワってのはCに対するリスペクトを示したものなのだが、
お前らもMDN執筆者もCを知らず、結果的に面従腹背になってる。
あれは「最も基本的な出力」としてprintfを使っているのであって、
それはprintfデバッグという最も汎用的なデバッグ方法に繋がっている。
標準がどうのこうの言い出したらCの方が酷くて、
画面なんてつながっていないのも多く、シリアルに出せればマシな方だ。
それでも「最も基本的な出力」としてのprintfというインタフェースは決まっていて、
とりあえずまずはそこを目指す、ということになっている。

だから最初のハロワはconsole.logでないと話にならず、
お前らは駄目な教科書を使っているから無駄なところで引っかかり上達してない。
blind leading the blindを地で行ってる。
お前らは被害者でもあるが、加害者にもなっている。
ただまあ、JavaScript界隈ではこれもよく見かける光景ではあるのだが。

ちなみにMDNのこちらのガイドはハロワはDOMでやっている。
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/JavaScript_basics
俺はこれはありだと思うよ。オレオレ実装console.logにつながるし。
見た目派手なのが欲しいのならこっちで行くべきだろう。
2017/07/06(木) 00:18:33.64ID:/WGPUMaU0
つかマジでお前らもうちょっと自粛しろ。馬鹿が馬鹿を再生産してる。ソースはお前ら。
「alertはデバッグに使える(キリッ」ではなくて、
「alertという効率が悪いデバッグ方法を使わざるを得ない事態に追い込まれている」
事自体が駄目なんだよ。それはお前らが目指す生産性ガーに明確に反するだろ。
お前らはファッションで生産性ガーを言っているだけであって、お前らの実際の生産性は低いよ。
少し考えれば分かるだろ。

似たような実例は福一の時バ菅首相がヘリで放水したことだよ。
見た目は派手だが全く意味ないというのは最初から分かってた。
あの采配の酷さはいまだに言われてるだろ。
お前らはそれをやってるんだよ。それで馬鹿が再生産されていることに気づけアホ共。

韓国人死ね
2017/07/06(木) 00:45:38.20ID:DNqxUdzY0
「alertは効率が悪いデバッグ方法である」が
そもそも間違いなので話にならない
2017/07/06(木) 01:08:50.89ID:/WGPUMaU0
ん?揚げ足取り乙。が、まあ、言い直しておこう。

・alertが一番マシなデバッグ方法だという状況でデバッグをする事態に追い込まれている

これでいいか?
俺個人はデバッグでalertを使うこと自体は否定しない。それが最適であれば使えばいい。
ただな、そういう状況自体がありえないように努力するべきであって、
console.logとalertを使い分けしてデバッグする(キリッってのは間違った方向の努力だ。
お前らはここらへんがまるで分かってない。関数型()な奴も割りとそうなんだけどさ。
向いている方向がまるであさってと言うか。

理由は多分、大規模なコードを扱ったことがないのと、マトモにデバッグしたことがないからだ。
だから俺の言い分が正しいと思う奴がいたら、上記を試してみろ。多分、上達する。

韓国人死ね
2017/07/06(木) 01:51:06.50ID:ohfPQcDZ0
XSSの例示とかのサンプルはalertが基本になってるな
試行錯誤する際にも成立が視覚的にわかりやすいし、console.logと違って押し流されたり何らかのページ移動なんかで消えることもない
2017/07/06(木) 03:48:07.95ID:KVA+3wQ7M
>>817
必死に考えたごまかしがそれか?ん?
おまえは本当にあたまがわるいんだなぁ

アラートデバッグはスマホ実機での簡易確認に便利
アラートは動作をそこで一時停止させて各種確認が可能
要するにconsole.logとは使い分けなんだよ
バカがconsole.logが上位互換とかおもって↓あんなこと書いちゃってたけどさ

「 現実的にalertなんて使うことないだろ? 」


これ、どう落とし前つけんの?ん?
823デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/06(木) 04:45:34.54ID:9sJW4q9K0
すみません、HTTPリクエストやレスポンスって
文字列なのかファイルなのかオブジェクトなのかよくわからなくなりました
プログラム上ではオブジェクト化されているけど
chrome devtoolではレスポンスはファイルとして認識されている。
(ローカルストレージにはファイルシステムとしては現れない)
「ファイル」でいいのかなあ、バイナリ画像もあるわけだし、
それを各言語で「オブジェクト化」しているの?
2017/07/06(木) 09:46:58.98ID:DNqxUdzY0
>>820
> ・alertが一番マシなデバッグ方法だという状況でデバッグをする事態に追い込まれている

全然理解してないじゃないかw

場合によってconsole.logを使ったほうが良いかalertを使ったほうが良いかは変わるんだよ。
ほんと融通がきかないやつだな。

なんでも同じ方法でやろうとすんなや
2017/07/06(木) 15:02:19.08ID:9E7JeyR60
alertはデバッグのためのものじゃない
デバッグという言葉を知って、意識する段階になったのならやっぱりブレークポイント置いたりすべき
ただ入門段階の練習、ましてや試し実行に『デバッグ』もクソもない

別に一番最初からデバッガを使っていく必要もない
その頃は取っ付き易いalert確認でもいいということ
2017/07/06(木) 17:31:23.84ID:iKy+SoTP0
Javascript初心者です。以下のドキュメントを参考に、zaifのAPIからビットコインの価格を取得するだけのプログラムを作ったのですが、実行しても何も表示されず困っております
どこが間違っているのかご教授願えればと思います

ws
http://kaworu.jpn.org/javascript/ws

Zaif Exchange APIドキュメント
https://corp.zaif.jp/api-docs/


////////test.js/////////
var WebSocket = require('ws');
var wss = new WebSocket('wss://ws.zaif.jp:8888/stream?currency_pair=btc_jpy');
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
});
});


実行
$ node test.js
2017/07/06(木) 20:43:47.23ID:Lp3AWG+i0
>>815
>>816

ありがとうございます。
> performance.getEntries()[0].name == location
これで行けそうです。
chromeExtensionをつかって不特定多数のコンテンツの解析に使いたいんで特定のフレームワークに依存するコードは使えないんスよ。
助かります。
2017/07/06(木) 20:45:50.81ID:Lp3AWG+i0
>>826
これ確かzaif側のwebsocketのプロトコルバージョンが古かった気がします。
提供されてるclientライブラリ使ったほうがいい気がする
2017/07/06(木) 20:50:04.38ID:eiBibCfNd
>>827
拡張機能ならもっとスマートな方法があったかもしれない
コンテントスクリプトならその方法が一番楽だろうが
2017/07/06(木) 23:21:48.35ID:L8j5rxy60
var wss = new WebSocket('wss://ws.zaif.jp:8888/stream?currency_pair=btc_jpy');

console.log(wss);

これで、戻り値・エラー番号などを、見れるのでは?

戻り値が不適切なら、new WebSocket に失敗してるから、
エラー番号・エラーメッセージで検索すれば?

エラー番号・エラーメッセージも無いのに、漏れらにわかる訳ないだろ。
F12開発者ツールを起動して、デバッグすれば?
2017/07/07(金) 02:01:29.47ID:yB6Iql440
漏れってカキコ見たの何年ぶりだろう
2017/07/07(金) 08:58:45.03ID:s4A4ltyS0
var wssってなんだよw
するならvar wsだろ
xhrのrはRequestだからxhrでいいが
wssの最後のsはSecure→Encryptedだぞ
Secureであることの区別を表す必要が本当にあるのか?
あったとしてもスキームとしてのwssをそのまま使うのはおかしい
せめてswsとかewsだろ
2017/07/07(金) 15:00:36.62ID:COa0Ed5+0
質問お願いします。
画像データををCSSにBASE64形式で置いたのですが、それを使用するボックス要素に合わせてサイズ変更したいのですが
どのようにすればいいでしょうか?よろしくお願いいたします。
2017/07/07(金) 17:08:23.64ID:X45WHCT+d
>>832
WebSocketSessionとか?
いずれにせよ自転車置き場の屋根にガチャガチャ言わんでも。
2017/07/07(金) 19:47:42.14ID:a0p8X5TA0
>>831
一週間前の書き込みすら記憶に残らない、これが韓国人クオリティ

マジで韓国人死ね
836デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/07(金) 20:10:39.66ID:8UX+Q+HA0
>>833
https://i.stack.imgur.com/dIfIp.png
2017/07/08(土) 01:39:40.00ID:AHa+5Wfk0
数日前回答を頂いた者です。
ideoneのJavaScriptを選択して、教えて頂いたように
<script>
alert("Hello\nWorld");
</script>
と入力してもエラーになってしまいます。
なにかアドバイスを頂けますでしょうか?
2017/07/08(土) 05:38:53.92ID:5BjTXb8r0
アドバイスもなにもな
JavaScriptとはどういうものかとかHTMLのこととか微塵も分かっていない状態で
そんな身の丈にあっていないサイト使おうとするからそうなる

『餡』は『餡』でもこし餡、粒あんいろいろあるように、君がやってるのは
ideoneは『白餡』を欲しているのに君は『黒餡の饅頭』を与えてるような、論外ものなんだよ

そこは最悪でも饅頭と餡の違い、そして白餡黒餡の違いが分かる人が利用するとこなんだよ
産まれて初めて餡(しかもWeb上の黒餡)を知った人が一人で使うようなところではない
JS実行サイトなら他にもたくさんあるが、君くらいならメモ帳で書いていくので十分なんだよ
2017/07/08(土) 12:06:03.27ID:+tVxWBzW0
>>837
>>789をちゃんと読んで
ideoneじゃなくてhtml書いてブラウザーで動かすんだよ
2017/07/08(土) 12:20:32.49ID:If7Rv9IA0
>>837
サービスは目的に応じて選ぼう
https://jsfiddle.net/sz76xxw3/
2017/07/08(土) 12:44:49.69ID:v/CZ5FQl0
ideone使いにくいよな。
JavaScript以外なら仕方ないのかもしれないけど、
そうでないなら使いたくないわw
2017/07/08(土) 14:30:09.61ID:J5RuKAu7d
何かのアルゴリズムとかECMAScripを試したいときは便利だよ
そうじゃないときは使いにくいというより、使おうと考えるべきじゃない
2017/07/08(土) 16:00:56.38ID:Fv/VLC2ua
>>837
35歳の発達か
2017/07/08(土) 18:57:51.60ID:AHa+5Wfk0
答えて頂いた方、ありがとうございました。

>>838
はい、bracketsで書いていこうと思います。

>>839
すいません、htmlを書くの段階から分かりません…。
少し調べてみます。

>>840
改めてありがとうございます。利用したいと思います。

>>843
そうかもね。
2017/07/08(土) 19:52:07.55ID:VUw5dhen0
paiza.ioでよくね?
何か問題あるか?
2017/07/08(土) 20:00:40.34ID:5BjTXb8r0
一番いいのはね、Webサイトい興味をもってブログとかし始めて、
もっと自由な表現がしたくてHTMLとCSSをかじり、
やがてJSにたどり着くコースなのよ

そうするとね、JSの能力が低くてもHTMLとCSSの能力でカバーして十分に
作りたい物表現できるのよ、
そこから楽しみながら徐々にJSに重点置いていくのも容易

でもね、そういう基盤が全くないというのは、無理とは言わないけど
少なくともここで文字だけで教えるのは容易では無いわ
仮に教えるとしても結局、HTMLやCSS、
もしかするともっと基礎的な知識を身に着けろという話に終始するだけだろうし

JSって確かに簡単な言語だけどね、それはJSを始めようとする人は
HTMLやCSSの知識があるということが半前提でのことなのよ
そして、ブラウザの操作やその他のリテラシーもそれと同じくらい重要
君はまず地道にそういう知識をためていかないと無理があるよ
2017/07/08(土) 20:27:31.78ID:fIuXTSpk0
3日でマスター HTML5 & CSS3、鳥羽薫、2013

この本で簡単に、30ほどのHTML5・CSS3の主要タグが学べる
2017/07/08(土) 21:15:27.92ID:VUw5dhen0
JavaScriptもHTMLもCSSも何も知らないまま入社2日目からWebサイトの改修を先輩への質問なしでさせられて泣きそうでした
849デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/08(土) 23:46:11.44ID:EDp/ROlD0
API用のURL編集ツールとか
URLの解析ツールってあるの?
クエリストリングを作るのが難易度高すぎる。
配列や関数、JSONや コールバック、トークンとか絡んでくるとわけわからん
最終的にはエンコードされて汚ったなくなるし。
2017/07/09(日) 00:11:17.72ID:ODdY4A4c0
クエリストリングを作る?
そんなもんjQueryとかに任せればいいだろ?

> 配列や関数、JSONや コールバック、トークンとか絡んでくるとわけわからん
クエリストリングとは全く関係ない話だ
851デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/09(日) 00:14:11.12ID:LPmXeDzw0
>>850
なんで?

$.ajax({ type: 'GET', url: 'http://', data{}, });
このurl: にクエリストリング引数を指定しないと行けないじゃん。
2017/07/09(日) 00:22:07.43ID:ODdY4A4c0
>>851
ちゃんとexampleみな
https://api.jquery.com/jquery.get/

$.get( "test.php", { name: "John", time: "2pm" } );

こういうふうに書くんだよ。
2017/07/09(日) 05:46:42.70ID:sX6v1jPj0
var url = "http://何々"

// 全体の設定
$.ajaxSetup({
data: {format: 'xml'},
timeout: 60 * 1000
});

$.ajax( url )
.done(function( data, textStatus, jqXHR ) { 処理 })
.fail(function( jqXHR, textStatus, errorThrown ) { 処理 });

こんな感じでも、書ける
2017/07/09(日) 11:35:11.72ID:6p7UXVr5a
>>849
new URLSearchParams を使う方法も有る。
https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams

var params = new URLSearchParams;
params.append('q', 'URLSearchParams');
params.append('ie', 'UTF-8');
console.log('https://www.google.co.jp/search?' + params.toString()); // https://www.google.co.jp/search?q=URLSearchParams&;ie=UTF-8
2017/07/09(日) 11:38:32.00ID:6p7UXVr5a
URLコンストラクタを使った方がいいか。
var url = new URL('https://www.google.co.jp/search');
url.searchParams.append('q', 'URLSearchParams');
url.searchParams.append('ie', 'UTF-8');
console.log(url.toString()); // https://www.google.co.jp/search?q=URLSearchParams&;ie=UTF-8
2017/07/09(日) 13:20:33.93ID:zx3kMPLK0
いや違うんだよ。>>854-855みたいに
クエリストリングを作る必要がないって話。

フォーム使うって手もあるしJavaScriptであれば
普通にパラメータをハッシュまたは配列で渡すだけで
組み立ててくれる。
2017/07/09(日) 14:37:35.20ID:9yQC/vv/0
それはそうするためのライブラリを使えばの話だろ
標準APIのxhrやfetchで使えるのは
Blob,BufferSource,FormData,URLSearchParams,USVString,ReadableStream
だけ
2017/07/09(日) 14:58:54.59ID:zx3kMPLK0
>>857
でもそこに書いてあるのって、特定のブラウザでしか使えないから
結局Polyfillライブラリいれることになるじゃん?
2017/07/09(日) 15:02:30.29ID:zx3kMPLK0
それに>>851の段階でjQuery使うってのは明らかだよね?
2017/07/09(日) 17:11:29.14ID:7vHFYENhM
Polyfillは将来的に外せるものだし、性能差もあるからjQueryと同列に語るのは違和感があるな

ところで、>>851は一例じゃなかったのか
質問者はすべてのコードでjQueryを使って、ajax以外(a要素とか)でURLを組み立てる事がないなら、そうなんだろうな
2017/07/09(日) 17:12:12.99ID:9yQC/vv/0
jQueryの話だったのにJavaScriptであればって話を広げたのは他の誰でもなく君じゃんよ
jQueryならちゃんとjQueryであればって書いてよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。