元スレ+ JavaScript の質問用スレッド vol.139 +
JavaScript覧 / PC版 /みんなの評価 :
1 = :
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
■前スレ
+ JavaScript の質問用スレッド vol.138 +
http://mevius.5ch.net/test/read.cgi/hp/1550337177/
3 = :
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為にhttp://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。
■各種仕様
◆ 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 和訳)
4 = :
■各種仕様 (続き)
◆ 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)
http://developer.mozilla.org/ja/docs
◆ MSDN Library
http://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
■テンプレ案
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
5 = :
■テンプレ案
http://fiddle.jshell.net/6ksf2087/show/light/
■参考URL
ダウンロード、CDN
http://jquery.com/download/
ブラウザサポート
http://jquery.com/browser-support/
jQuery UI
http://jqueryui.com/
jQuery UI ダウンロ-ド
http://jqueryui.com/download/
リファレンス等
http://alphasis.info/
http://www.jquerystudy.info/
http://js.studio-kingdom.com/
【翻訳まとめ】jQuery 3.0 アップグレードガイド - Qiita
http://qiita.com/fmy/items/345a264a1cf2e2a73f62
6 = :
■JavaScript主要ライブラリ・フレームワーク
jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
http://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
http://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
7 = :
Q. jQueryはどのバージョンを使えばいいのですか?
A. IE9以上であれば、jQuery 3.0を使用してください。
IE8以下にも対応するならば、jQuery 1.12を使用してください。
補足
jQuery 1.9 までは一系統しかなく、古いブラウザも含めて全て対応していました。
その後、古いブラウザを切り捨てるためにバージョンを分岐させました。
古いブラウザにも対応した1系(1.10、1.11、12)と
古いブラウザを切り捨てた2系(2.0, 2.1, 2.2)です。
1系と2系は対応ブラウザの違いだけで機能は全く一緒です。
機能が同じなのにメジャーバージョンが違っているのが分かりにくい
ということでバージョン番号の付け方を変えることになり、
新たに古いブラウザを切り捨てたjQuery 3.0、そして古いブラウザにも対応した
jQuery Compat 3.0がリリースされる予定でした。
しかしマイクロソフトが古いIEのサポートポリシーを変更し
サポート中であるOSで動く、最新のIEしかサポートしなくなったために、
2016年1月でVista上のIE8のサポートが終了しました。
そのため予定されていたjQuery Compat 3.0がなくなり、
jQueryは3.0に一本化されました。
8 = :
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合はhttp://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
10 = :
var x_pos;
var y_pos;
function draw_redRect(x_pos,y_pos){
context.beginPath () ;
context.rect(x_pos,y_pos, 100, 100 ) ;
context.fillStyle = "red" ;
context.fill() ;
context.stroke() ;
}
for(i=0;i<4;i++){
x_pos += 100;
draw_redRect(100,0);
}
四角形の位置ををずらして、連続して表示させたいんですが、どう記述すればいいでしょうか
いろいろ試したんですが、ギブです、、、
11 = :
for(i=0;i<400;i+=100){
draw_redRect(i,0);
}
じゃないのか?
12 = :
一時期はスレが乱立分散してそれでも一週間でスレが埋まり続けるほど盛り上がってたのにな
1つの話が炎上して一両日で500レスつくこともそう珍しくなかった
寂しいねぇ
13 = :
でもこれからプログラミングが義務教育になることだし
優しい質問所に学生が聞きに来るみたいな流れで落ち着く未来しかないんだろうね
14 = :
5chなんかに来ねぇよw
老人の集会所みたいに思われてるのにw
15 = :
じゃあプログラミングに限らず技術関連の話し合いを完全匿名でしたい若者は今はどこに集まってるんだろうね
16 = :
そんな卑怯な世代はお前らで終わり
17 = :
いや、俺の世代でももう終わってたよ?
終わってる世代でも日本全国の中から特異な奴が2、3人集まれば十分に盛り上がる
よく炎上してた当時は今よりも自演だのなりすましだのが言われてて
つまりユニーク人数的にはそう多くはなかったのだから
ただスレに住み着いた妖精やら、スレを横断してかき乱す嵐が沢山いて
そいつらに張り合わないといけないこともあって
スレの普通の住民も活気があって、一体感があった
それはどこへ行っちゃったんだろうね?
18 = :
スレを横断してかき乱すruby嵐まだいるじゃん
19 = :
>>11
図形のコードはどうなるでしょうか
20 = :
>>20
http://jsfiddle.net/k1vho37y/
canvas以前にJavaScriptの基本的な文法すら理解してないだろ
ゼロからやりなおしたほうがいいんじゃね?
21 = :
初心者です
ありがとうございます
22 = :
>>20
i<400になっていますが、どうして400まで繰り返す必要があるんでしょうか?
drawrect()
と関数を100ピクセルずらして、4回実行すればいいだけなのではないかと思っていたのです
i<4
この関数を4回実行すればいいだけだと思うのですが、
動かすのなら400フレーム必要だとは思います
23 = :
>>22
for (let i = 0; i < 400; i += 100) {
drawRect(i, 0, 100, 100, "#FF0000");
}
i+=100だから4回しか実行されないだろ
JavaScriptの基本的な文法すら理解してないならゼロから勉強しなおせと
400回繰り返してほしいのか?
24 = :
ああ なるほど
理解しました
25 = :
VarでなくConst使ってるJavaScriptの書籍ありませんか?
27 = :
ES6を紹介してる書籍は今ではもう古い
28 = :
>>27
ES2018を紹介している書籍はあるのかね?
29 = :
そうではなく
ES2016,2017が出てきだしてからES2015を紹介してるものに比べて
"ES6"を紹介してる書籍は最古参のものがそろそろ5年立つし
比較的最近出版されたものでその呼び名を使ってるということは
それはそれで時代遅れ本のサインだということ
30 = :
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
ただし、これは初心者が読める本ではない!
最低でも、Ruby など数言語を知っていないと、理解するのは無理です!
31 = :
Rubyなんてくそ言語知識なんて必要なかったよ
32 = :
var canvas = document.getElementById("maincanvas");
var context = canvas.getContext("2d");
function drawRect(x,y,width,height,color){
context.beginPath () ;
context.rect(x,y, height, width ) ;
context.fillStyle = color ;
context.fill() ;
context.stroke() ;
}
for (i = 0;i < 400;i += 100){
drawRect(0,i,20,20,"blue");
}
教えてもらったコードで四角形を繰り返し表示してます
ただ、ページの読み込みが止まらず、応答なしになることがありました
原因は
for (i = 0;i < 400;i += 100)
を
for (i = 0;0 < 400;i += 100)
とミスタイプしていたことだったのですが、vs codeでエラーは出ません
こういうエラーではない問題を探すにはどうしたらいいんでしょうか?
34 = :
0 < 400を構文チェッカーが指摘すんの?w
なんて?w
35 = :
簡単なパズルのチュートないすか
>>34
ですから、それはわかってます
36 = :
>>29
勿論、新しいに越したことはないが、最新かつ高品質な書籍でお勧めできる玉がない
書籍は当たり外れが大きいので、書店で出版日の新しい書籍を選べ、ともいえない
あなたがそれを掲示してくれるなら、問題はないのだが
37 = :
当たり外れというものはヒトの人生において子供の頃からずっと付きまとうもの
外れに十分に触れてそれが外れだと分かるようにならないといけないし、
分かるようになれば大人にとっては幾らでも教材を取り替えられるので問題は生じない
マラソントレーニングをこれからしようという人に近道を教えて甘やかすのは良くない
38 = :
>>36
入門書はいくら評判良くても相性悪くて読み通せないなら意味ない
なので基本的には本人が読みやすいと感じる本でいいと思ってる
ES3時代のは流石に古いから2015年以降くらいで選ぶのがいいだろうけど
まあ、流石にこれはどうなんだろうって本も中にはあるけどさ
子供(小学校高学年くらい)向けで去年出た本で
変数宣言無しで書いててびっくりした
スコープは子供には難しいという判断だったのかなあ
40 = :
>>35
継続条件の書き間違えによる無限ループは誰でもやらかすし、
構文上は何も問題がないから構文チェッカー等も効かず、動かす前に見つけるのも難しい
よって対策は
・for(初期化;継続条件;更新処理)はなるべく使わずforEachやfor of、for inを使う
・使わないといけないときは気を付ける
・ブラウザが固まったくらいで慌てない
くらいしか、現在のところはないよ
あとパズルとかのサンプル欲しいなら
http://nextpublishing.jp/book/8499.html
がおすすめ
前半のHTML/CSS入門のあたりは古臭いし出来は良いと思わないが
ゲームのコード及び解説の部分はすごく丁寧で詳しい
41 = :
>>38
読みやすいとか、平易な説明だとかをウリにする書籍は高確率でコード品質が悪い
書店でパラパラとめくったり、Q&Aサイトや5ch等で紹介された本のサンプルコードやら引用文を見ると、かなりの確率で間違いがある
独断と偏見を承知でいえば、日本人が著者のものはほぼ全滅なのではと思う
その辺の品質の低さを許容し、将来的に間違いを補正することを必要経費と割り切るなら、本人の好みで決めれば良いと思う
最も、>>25は質問が端的すぎて、趣旨が分からんが
42 = :
AmazonとGoogle Booksでレビューと中身お好きなだけ見て買えばいいじゃん
こういうところで聞く人の気持が分からん
43 = :
for(i=0;i<3;i++){
a = setTimeout(i,i * 5000);
console.log(a);
}
一定間隔ごとに数字が増える処理はこれではだめですか?
44 = :
はい。
45 = :
どこがですか
49 = :
for (var i = 0; i < 3; i++) {
setTimeout((function(i) {return function() {console.log(i)}})(i), i * 5000);
}
50 = :
>>43
for文を使わず、再帰しなされ
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
トップメニューへ / →のくす牧場書庫について