元スレ+ JavaScript の質問用スレッド vol.117 +
JavaScript覧 / PC版 /みんなの評価 :
351 = :
new Hogeと
new Hoge()の違いなんて、現実的には問題になることはない
そのどうでもいい問題に対して「これ読めや」って言ってクソ長いドキュメント持ってくる奴は
知識はあるのかもしれないが頭は悪い
なんでどうでもいい問題のためにクソ長いドキュメント読まないといけないんだよ
352 = :
ちゃんと読めばいい部分のリンクを張ってるのに
何いってんだこいつ
353 = :
どうでもいいと思ってるのに、
なぜわざわざ話に加わろうとするんだ
354 = :
>>349
ログは全て読んでる?
ABNFの日本語仕様書リンクも貼られていて、それを読んでABNFを理解すれば読めるはずだけど
無知を自覚しておきながら「知らないことは判断のしようがねーだろ」はないと思うよ
「どうやって学べばいいかわからない」とか「ここまで読んだが、この文章が分からない」ならまだわかるけどね
ここはJavaScript を自ら学ぶ人のための質問スレッドだからね
355 = :
質問者は「どうでもいい」と思ってないから質問するわけだが
356 = :
>>350
アスペ質問者は黙っとけ
357 = :
>>347
この人は誰にいってるんだろ?
>>346に対してかと思ったけど、コールバックの概念説明は「具体的な説明」ではないし…
358 = :
こんなのが()でくくらなくても書けるようにあんな構文規則にしてあるんだなあとちょっと感心した
new abc.def.ghi().jkl.mno.pqr.stu()
演算子の優先順位表だけじゃ説明できないから
原典の理解は大切だなと再認識したよ
359 = :
「ABNFの日本語仕様書リンクも貼られていてって」
それがくそ長いっての
なんかナチュラルに馬鹿っぽいな
360 = :
>>358
本当に分かったならちょっと説明してみてくれ
361 = :
「ドキュメントを貼る」以外の方法で説明できる奴が一人もいないのは何故なんだ
抽象化能力ゼロなの?
362 = :
>>357
お前だよカス
363 = :
イイゾイイゾwww
理解できないクヤシサが伝わってきてとてもとても気持ちいいですwww
364 = :
>>362
>>357から参加したんだけど、あなたは予知能力者なの?
365 = :
()でくくらなくていい・くくらなきゃいけないのはそれぞれこういうケースだ
興味があればこれ読めば規則が書いてあるよ、……とこれだけで終わっても別に良い
ところでこの構文規則、必然性や必要性ってあるの?
「なぜこうなってるか」が全然見えない
366 = :
>>359-360
こういうことか
「どうでもいい質問だが、俺様が気になるので理解してやる
ただし、俺様は長文を理解できない
初心者でもわかるように三行で説明しろ」
諦めろ
367 = :
やっぱ説明できないのか
知識は簡単に集められるけど抽象化するのは高度な知性が必要だからなプゲラ
368 = :
>>365
もしこの捻った構文規則が無かったら
>>358の new abc.def.ghi().jkl.mno.pqr.stu() みたいに書くと
newが取るコンストラクタは abc か、abc.def.ghi().jkl.mno.pqr.stu()全体か、どっちにしかならないんだよね
でも直感的には abc.def.ghi がコンストラクタであって欲しいよね?
369 = :
知ってるが、おまえの態度が気に入らない(AA略
370 = :
理解できない人は文脈自由文法とか勉強してきてくださいよ
ある程度その辺の経験つんでると>>268のリンク先を見るまでもなく
>>268の抜き出した部分を見ただけでなんとなく直感的に理由に気づける
実際そのとおりなのか確かめるには>>268のリンク先きっちり読まないといけないと思うけど
メンドクサイし、実際にブラウザで試してみると得られた直感的なイメージどおり動いてくれるんで
自分的にはそれでいいです
371 :
コロコロID変わる身だけどID出しておく
>>368
どうあって欲しいかは、個人的意見でいうと、むしろ対象abcか全体かのどちらかかなあ
直感的には無名関数の書き方が頭にチラつく
その三者のいずれであるかは、仕様策定者(orグループ)の好みの問題なのか
歴史的経緯があるのか、それとも実用的な理由があるのか(こうじゃないとパーサの動き的に困るとか、開発効率に関わるとか)
どれなのか、ってところがわからない
※なぜこれが知りたいかというと、類似問題に当たったときに考える・調べる・理由を探す材料になったり説明しやすくなったりするから。多言語でも応用可能かもしれないし
372 = :
>>371
オブジェクトをネームスペース的に使ったりすることを考えるとabcだけっていうのは有り得ないなあ
newしてメソッド送信っていうパターンはけっこう使うんで全部っていうのもちょっと嫌
374 = :
選択肢増やす事のどこが良い事なんだ
どっちが先に演算されるかややこしくなるだろ
わざわざ変数に収納しなくても必要なら()で優先順位決めれば良い
375 = :
いつも new (Hoge.foo()) としろと?w
勘弁してくれw
376 = :
BNFとか文脈自由文法とか、
JavaScriptで一般的なコーディングをする限り、ほとんど知る機会もないと思うんですが、
どこで学んだのですか?
情報処理系の大学とかならありそうですが
377 = :
new Hoge().foo() の方は (new Hoge()).foo() としなきゃいけないルールでもよかったかもね
でも new Hoge().foo() が可能なルールにしたのは作者の趣味かな
378 = :
>>375
どこに括弧入れてるんだ。馬鹿なの?
380 = :
文脈自由文法を知らなくてもコーディングはできるけど、
文脈自由文法と正規文法の違いとか理解できてると
苦労してゴミみたいなアルゴリズムのコード捻り出す事が減って良いと思いますよ。
もっと早く勉強しとけばよかったと後悔してます。
382 = :
>>381
それができるってことはその要素を生成すると同時にローカルパスをパスをサーバ側へ通知することもできるってことだからなあ
ファイルのパスの途中に自分の名前とか入ってる間抜けがいるだろ?
恥ずかしいじゃん
383 = :
firefoxでwindow.heightでウインドウの大きさを取得して
キャンバスの大きさを設定したのですが左と上が画像のようにズレてしまいます
原因分かりますか?
384 = :
webdbpressとwikipediaでABNFを理解しました
分かってみれば、正規表現などよりも単純なものですね
そしてあらためて>>267のサイトを見たのですが、
この表記は、ABNFと微妙に違うような?
=の代わりにコロンが使われているし、
コロンが場合によっては複数だったりして、何か知らない規則が混ざってる感じです
どういうことでしょう?
385 = :
デスクトップ画面をアピールしたい割合が強い
386 = :
>>383
bodyにもスタイルはあるんだぜ
せっかくインストールしたFierbugで確認してみよう
387 = :
>>384
そのドキュメントの文法の記述方法は5章で解説されてる
389 = :
var frameid = 0;
var request_url = "";
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (frameid === 0) {
frameid = details.frameId;
}
request_url = details.url;
if (frameid === details.frameId) {
// 判定用にrequestBodyの再構築
var size = details.requestBody.raw[0].bytes.byteLength;
var dataview = new DataView(details.requestBody.raw[0].bytes);
var request = "";
for (var i = 0; i < size; i++) {
var code = dataview.getInt8(i);
if (code < 0) code += 0x100;
request += String.fromCharCode(code);
}
390 = :
// debug
console.log(request.length+":"+request);
// treasure_indexの場合Ajaxで再送信
if (request.match(/raidboss.treasure_index/)) {
console.log("----treasure start----");
console.log("----send treasure packet----");
var xhr = new XMLHttpRequest();
xhr.open('POST', request_url, true);
xhr.onreadystatechange = function(e){
if (xhr.readyState==4 && xhr.status==200) {
checkTresurePacket(xhr.responseText);
}
};
xhr.setRequestHeader("Content-type","application/x-amf");
xhr.send(new Uint8Array(details.requestBody.raw[0].bytes));
}
}
},
{urls: ["http://*.alteil.net/gateway/"]},
["requestBody"]
);
391 = :
function checkTresurePacket(text) {
var button3=0,button2=0,button1=0;
// 順序を取得
text.match(/button3.(.)/);
button3 = RegExp.$1.charCodeAt(0);
text.match(/button2.(.)/);
button2 = RegExp.$1.charCodeAt(0);
text.match(/button1.(.)/);
button1 = RegExp.$1.charCodeAt(0);
// 順序を配列に格納
var order = [button1, button2, button3];
// debug
// console.log(list);
// 特殊な順序
if (order[0] == 3 && order[1] == 1 && order[2] == 2) {
order = [2, 3, 1];
} else if (order[0] == 2 && order[1] == 3 && order[2] == 1) {
order = [3, 1, 2];
}
// 可視化
var viewer = [];
viewer[order[0]] = "赤";
viewer[order[1]] = "青";
viewer[order[2]] = "緑";
alert(viewer.join(""));
}
このコードの解説をお願いします。background.jsというファイルの中身です。
392 = :
ゲームでチートしたいなら必死こいて勉強しな
393 = :
上にサイト貼ってあるんだからそこ使えよ
394 = :
>>393
どうやって手をつけていいか分かりません
なのでとりあえずスレにあったコードを理解しようと・・・
>>393
難しそうなのでスルーしてしまってました
http://jsbin.com/jereloni/1/edit
これで合っているのでしょうか?
395 = :
これってchromeの拡張機能じゃね
396 = :
PCをサスペンドから復帰させた時に時々chromeの動作が変になります
リロードすれば直ります
これはどうしようもないですよね?
397 = :
>>395
その通りです
他にも方法があるけどChromeの拡張機能が簡単なのでそれにしたそうです
readmeの一部です
■使い方
1. Google Chromeで「chrome://extensions/」へアクセス
2. デベロッパーモードのチェックボックスを入れる
3. パッケージ化されていない拡張機能を読み込む
4. 同梱のdtf_boxを指定する
以上で導入完了です。
398 = :
order配列に、ボタン1-3の順序を入れる
// 特殊な順序
order配列が、[3, 1, 2]なら[2, 3, 1]へ、
逆に、[2, 3, 1]なら[3, 1, 2]へと交換している
つまり、[3, 1, 2]←→[2, 3, 1]の入れ替え
// 可視化
viewer配列に、order配列に設定された、
ボタンの順序に従って、赤青緑を設定している
例えば、order配列が、[3, 1, 2]なら
viewer[3]=赤、[1]=青、[2]=緑
つまり、viewer[1-3]は青緑赤の順に並ぶ
order配列が、[2, 3, 1]なら
viewer[2]=赤、[3]=青、[1]=緑
つまり、viewer[1-3]は緑赤青の順に並ぶ
399 = :
JavaScriptの勉強法についての質問があります
大抵のwebアプリはjavascriptで書かれているので、ソースコードはいくらでも転がっています
それで例えばgooglemapのような高度なアプリのソースを見て、参考にすることは可能ですか?
それともブラウザからでは何らかのセキュリティなどが掛けられていて参考にしても意味が無かったりしますか?
400 = :
>>399
無理です。
正確に言うのならば時間を無駄に消費するだけです。
なぜならgooglemapのような高度なアプリは
速度を極限まで上げるために、コードを縮小化しているからです。
つまり、わかりやすい変数名・関数名が、単なるa, b ,c という短い名前に
置き換えることで転送速度を上げてます。
また、作るときは作りやすさのために複数のファイルで作ります。
この作りやすいファイル構成というのもJavaScriptの勉強の一つです。
が同じく転送速度を上げるために一つないし、少数のファイルに結合しています。
つまり高度なアプリのJavaScriptコードのほとんどは、ソースそのものであることはまずなく、
人間が読んで勉強になるものにはなっていません。
ソースを見たいなら、有名なオープンソースのコードを見ればいいです。
そんなにgithubにいくらでも転がっています。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について