元スレ+ JavaScript の質問用スレッド vol.117 +
JavaScript覧 / PC版 /みんなの評価 :
401 = :
コードの綺麗さは参考になるけどプロジェクトがデカすぎてどこで何やってるかは分からんな俺は
402 = :
>>399
Minified されたコードは Online JavaScript beautifier で整形できるので人間が読めないわけではありません。
http://jsbeautifier.org/
ただ、コード量が膨大なので全てを読み解くのに恐ろしく時間がかかります。
読みたい部分だけ目星をつけて読むのなら良いと思いますが、全体的に読むなら Google が提供しているJavaScriptライブラリを読むほうが時間効率的に良いと思います。
403 = :
>>387
ありがとうございました
266-267で書かれていることがだいたい理解できました
404 = :
new hoge.hoge.hoge.Hoge()
という式があった時、
hoge.hoge.hoge.Hoge
が先にMemberExpressionとして評価されると思いますが、
MemberExpressionの定義の中に、
hoge.hoge.hoge.Hogeのように再帰したMemberExpressionを定義する部分がないように思います
なぜこれで再帰的に評価されるのでしょうか?
405 = :
論破君が論破のために必死で勉強してるのか
しかし目が節穴だな
407 = :
>>404
下記が再帰的に参照している。
MemberExpression
MemberExpression . IdentifierName
最近、荒れがちなので質問時には id を出してもらえると有難い。
410 = :
JavaScriptで初めてオブジェクト指向を学びたいのですが全体の構造というか使われ方が掴めません
よくある10行や20行のパーソンやらアニマルやらを使ったオブジェクト指向の概念の説明ではなく
実際に計算機のような簡単なもので全体的に完成したコードの例が一つ欲しいのですが、いいものはありませんか?
411 = :
オブジェクト指向はセンス
更に言うならJavaScriptのobj指向はプロトタイプベースといってちょっと特殊
(普通はクラスベース)
C++のオブジェクト指向から学ぶべし
412 = :
オブジェクト指向が普及しだしてから、システムの重大障害とかセキュリティーホールとか、
大量発生するようになった。
共通化とかカプセル化とかフレームワークとか進めた結果、
業務アプリの設計者や実装者が、
どういう動作をするかよく理解しないまま利用しているケースが多い。
いざ不具合が発生した時に、全体がわかる人がいないから、
何がどうなっていてどこを直す必要があるのか解析できる人がほとんどいない。
シンプルに効率よく構築できるはずが、
問題がより複雑になって、維持管理にコストがかさんでいるのが現状。
10年後に主流であり続けられるかと言ったらかなり微妙だね。
言語を学ぶのではなく、アルゴリズムを徹底的に身に着けるほうが、役に立つよ。
あえて言語を学ぶとしたら英語一択。
413 = :
オブジェクト指向が問題を複雑にしたんじゃなくて
オブジェクト指向によって複雑な問題に対処できるようになっただけ
もしオブジェクト指向を使わずにその複雑な問題に対処しようとしたら
もっと問題が出るよ
414 = :
・文字列末に<br>がひとつだけあれば削除する
・文末の<br>がふたつ以上なら削除しない
これをreplaceでするにはどうしたらいいですか?
文末の<br>をひとつ削除する、なら簡単にできますが
ふたつ以上なら削除しない、が難しいです
415 = :
>>414
ちょっと正規表現考えたけど
第二引数を関数にしてごにょごにょしたくなってきた
416 = :
正規表現だけでは難しいので
str.replace(/(<br>)*$/g,function(s){
return s.length > 4 ? s:'';
})
とやったら出来ました
もっといい方法はあるでしょうか
417 = :
>>415
まさにごにょごにょしましたw
418 = :
>>415
普通に
.replace(/([^(<br>)]?)<br>/, '$1') で良くね?
420 = :
試したらダメじゃーんwwすまんな
421 = :
javascriptの正規表現には否定的後読みの機能はなかったはず
それに他の人がソースを触ったりすることを考えると>>416で最善
422 = :
>>414
str.replace(/((<br>)|(<br><br>))($)/g,"$3$4")
でできる気がする
424 = :
たしかにそれで出来ますね
<br><br>をあえて置換するという発想がすごいです
ありがとうございました
425 = :
>>402
> Minified されたコードは Online JavaScript beautifier で整形できるので人間が読めないわけではありません。
実際にやってみればわかるけど、読めないよ。
あれは変数名は元に戻さないからね。
改行とインデントと整えるツール
426 :
>>425
分かっています。
機械的処理では元の変数名には戻せませんが、読めない事はありません。
実際に読んだことがありますよ。
428 = :
どれもだめ
429 = :
>>425
ロジック読むのに、変数名なんて関係ないよ。
実際、20年ぐらい前のプログラムの変数名や関数名は
普通に「A01B002」とかコードで書くのが普通だったし、
苦も無くロジックを組めたし、読めた。
430 = :
読める自慢されても^^;
431 = :
js は型を宣言しないので、名前が意味不明になると余計につらいだろう
432 = :
変数名の長さもパフォーマンスに影響するからな
読めるソースを書いて後はグーグルさんに最適化してもらえばええ
433 = :
変数名の長さがパフォーマンスにどのくらいどういうかたちで影響するんですか
434 = :
マイクロ秒単位の話だから気にする必要はない
ただ最適化の手法としてのお話
435 = :
2つ質問なんですが
質問1 thisをオブジェクト内で使ったらthis.プロパティで普通に呼び出せたのに
thisを関数内で使ってローカル変数を呼び出しても
function a(){
var tes=5;
alert(this.tes);
tes++;
}
//外部から2回呼び出す
6にならないどころか5すら出てこないのですがなぜですか?
質問2 グローバル変数を使わずに外部から2回関数を呼び出しても
その値を保持(C++のスタティック変数のように)するにはどうすればいいでしょうか?
437 = :
配列とスカラーの両方を取る場合の引数名は何にしてますか?
idとidの配列の両方を取るような場合です
438 = :
変数の意味が重要
a + b で、aがリンゴの数、クラスの生徒数など、
意味がわからないと、ソースコードは理解できない
ソースコードがすごく少ない、数行のテトリスを見たが、
変数の意味がわからない
7で割る理由だけが、タイルの形が7種類あるためと、
そこしかわからない
440 = :
>>399で勉強のためにソース読みたいって言ってるとこから始まってるのに
変数名がデタラメになってるソースでも読めるよ!読めるよ!読めるよ!とかバカすぎ
441 = :
該当Webアプリがどういうコードで実装されているか勉強するためにコードリーディングするので変数名は何でもいい
読みにくいだけで読めないわけじゃない
442 = :
変数名がデタラメで勉強にならないのは「変数名の命名規則を学ぶ時」ぐらいか
443 = :
議論するだけ無駄
こいつは論破することが目的だから
論破されることなんて絶対許さない
444 = :
デコンパイル後のソースとかも同じ
必要があったから読んだ経験あるけど時間の無駄感はんぱなかったわ
やはり何事も効率が良いほうがいい
445 = :
minifiedされたコードリーディングは、そこにどれだけ時間と情熱をかけられるかに依る
その判断は人それぞれなので、この場合は質問者自身にしか判断できない
この手の問題で質問者と自分を同一視して「無駄」と評する人がいるけど、質問者の可能性を自分と同一と見るのは傲慢だと思うな
「コードを読むのに時間がかかる」問題点は共通認識なのだから、後は質問者に判断してもらえばいい
446 = :
サーバから送られてくるデータの形式とか分からないから
たとえミニファイされてなくても難易度がS級レベルなのはまちがいない
はい論破
447 = :
特定のコードの意味が知りたいのならminifiedを解読して調べるが
何か勉強するのに適当なコードが欲しいっていう相手に勧めるとかありえんだろ?
448 = :
>>411
プラットフォームを選ばずブラウザですぐにテストできるのでJavaScriptでオブジェクト指向を始めたいです
「クラス」などの単語無しの解説サイトが少ないこともあり、type=text/javascriptから始まる
オブジェクト指向スクリプティングのお手本の様なコードが見たいのですが
やはり「クラス」なしで解説している参考書を探すべきでしょうか
449 = :
>>447
特定のコードの意味が知るのも勉強だと思うが
類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について