私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.109 +

みんなの評価 :
レスフィルター : (試験中)
var state = INIT;
if (already_init) state = PROC;
こういう時は別にいいよね?
if (already_init) state = PROC;
こういう時は別にいいよね?
>>154
お前がぐぐった内容を盾に話がしたいならそれをここに張ればいい
お前がぐぐった内容を盾に話がしたいならそれをここに張ればいい
>>156
再代入の話をしたいだけだけど?
再代入の話をしたいだけだけど?
再代入でぐぐった記事やスライドにJavaScriptで再代入を使いたくない根本的に納得できる理由はなかったけど
ほんとにプログラム板から移民してきちゃったんだなあ
ここは質問用スレッドなんで、突っ込んだ議論をしたいならプログラム板に帰ってやってくれ
ここは質問用スレッドなんで、突っ込んだ議論をしたいならプログラム板に帰ってやってくれ
同じnameのradioボタン5つに対してチェックが変わったらイベントを起こしたいのですが、
for (var i = 0; i < radio.length; i++) { //radio.length=5
radio[i].addEventListener('click', func, false);
}
今こんな感じにしています。
lengthが大きくなるほど何かが間違ってる気がしてならないのですが、
こんなのでいいのでしょうか?
なんかもっといい書き方があったらどんな感じにするのか教えてください。
for (var i = 0; i < radio.length; i++) { //radio.length=5
radio[i].addEventListener('click', func, false);
}
今こんな感じにしています。
lengthが大きくなるほど何かが間違ってる気がしてならないのですが、
こんなのでいいのでしょうか?
なんかもっといい書き方があったらどんな感じにするのか教えてください。
$.(document).on('click', "セレクタ", function(){func()}
どうもJSLintのサイトと同じような形式で
eclipseの問題ビューに一覧表示されるとばかり思ってたら、
各コード行の先頭に警告風のアイコンが表示されるっぽい。
アイコンにマウスを乗せるとツールチップで内容が表示される。
マニュアルと違う・・・というか見にくい・・・ツールチップ小さいし。
考えようによっては、わかりきったメッセージが繰り返し並ぶより
親切とも言えるんだろーか。
このプラグイン↓
http://www.htmlhifive.com/conts/web/view/tools/eclipse-jslint-plugin
とはいえ、ひとまず解決ということで
eclipseの問題ビューに一覧表示されるとばかり思ってたら、
各コード行の先頭に警告風のアイコンが表示されるっぽい。
アイコンにマウスを乗せるとツールチップで内容が表示される。
マニュアルと違う・・・というか見にくい・・・ツールチップ小さいし。
考えようによっては、わかりきったメッセージが繰り返し並ぶより
親切とも言えるんだろーか。
このプラグイン↓
http://www.htmlhifive.com/conts/web/view/tools/eclipse-jslint-plugin
とはいえ、ひとまず解決ということで
>>42の件についてですが、配列の連結を非破壊的/破壊的で計測したところ、
破壊的連結の方が圧倒的に速かったです
http://jsperf.com/concat-vs-apply-push1
オブジェクトの新規生成はそれほどコストが高いということでしょうか
ありがとうございました
破壊的連結の方が圧倒的に速かったです
http://jsperf.com/concat-vs-apply-push1
オブジェクトの新規生成はそれほどコストが高いということでしょうか
ありがとうございました
以前prototype.constructorなんて使ってる人いるの?と書いた者ですが、
stackoverflowに以下のようなオブジェクトのcloneをするコードがありました
function clone(obj){
if(obj == null || typeof(obj) != 'object')
return obj;
var temp = obj.constructor(); // changed
for(var key in obj)
temp[key] = clone(obj[key]);
return temp;
}
obj.constructorで呼び出されるのってprototype.constructorですよね
つまり使われるが正解でした
ありがとうございました
stackoverflowに以下のようなオブジェクトのcloneをするコードがありました
function clone(obj){
if(obj == null || typeof(obj) != 'object')
return obj;
var temp = obj.constructor(); // changed
for(var key in obj)
temp[key] = clone(obj[key]);
return temp;
}
obj.constructorで呼び出されるのってprototype.constructorですよね
つまり使われるが正解でした
ありがとうございました
>>166
concatさんの方は代入まで行ってるからそこまで遅いんだろ。
a.concat(b);
Array.prototype.push.apply(a, b);
処理内容だけを公平に比較するならこう。
concatさんの方は代入まで行ってるからそこまで遅いんだろ。
a.concat(b);
Array.prototype.push.apply(a, b);
処理内容だけを公平に比較するならこう。
function a(){
}
function b(){
}
function c(){
}
じゃだめなんですか?
thisとかconstructorとかapllyとか訳わかんないやつ使うメリットはなんですか?
}
function b(){
}
function c(){
}
じゃだめなんですか?
thisとかconstructorとかapllyとか訳わかんないやつ使うメリットはなんですか?
>>169
それで困らないプログラムを書いてるならそれでいい
それで困らないプログラムを書いてるならそれでいい
目的ベースではなく処理単位ベースでの比較とすると
確かにおかしいかもしれませんが
現実的には有意味です
確かにおかしいかもしれませんが
現実的には有意味です
> オブジェクトの新規生成はそれほどコストが高いということでしょうか
ベンチ内容と結論が全く結びついてないんだけどね
ベンチ内容と結論が全く結びついてないんだけどね
どなたかぁ~>>163お願いします
>>178
代入が遅いと思い込んでいるようですが、代入=名前へのバインドのコストなど、
オブジェクトの新規作成と比べたらごくごく微々たるものですよ
http://jsperf.com/dainyuu
このように代入が一つだろうが二つだろうが差はないのです
むろん差はありますが、ベンチマークの処理に飲み込まれてしまうほどその差は小さいのです
これが事実です
代入が遅いと思い込んでいるようですが、代入=名前へのバインドのコストなど、
オブジェクトの新規作成と比べたらごくごく微々たるものですよ
http://jsperf.com/dainyuu
このように代入が一つだろうが二つだろうが差はないのです
むろん差はありますが、ベンチマークの処理に飲み込まれてしまうほどその差は小さいのです
これが事実です
if ( ['a','b','c'].indexOf(a) < 0 ){}
このような命令をループの中で実行する場合、
ループのたびに配列は別に作成されるのでしょうか?
このような命令をループの中で実行する場合、
ループのたびに配列は別に作成されるのでしょうか?
いや、勘違いしてるのは俺の方だな。
>>182
<a>
<b>
</a>
だったら"a>b"がセレクタ
jqueryでああかいとけばわざわざradioをオブジェクトを入れなくてもいいし、radioを増やそうが減らそうがコードはあのままでおk
<a>
<b>
</a>
だったら"a>b"がセレクタ
jqueryでああかいとけばわざわざradioをオブジェクトを入れなくてもいいし、radioを増やそうが減らそうがコードはあのままでおk
オライリーJavaScript第六版
オライリーJavaScript Good Parts
オライリー ハイパフォーマンスJavaScript
オライリー メンテナブルJavaScript
オライリーJavaScript Good Parts
オライリー ハイパフォーマンスJavaScript
オライリー メンテナブルJavaScript
例えばこういう情報ってES5習得に必須だけど
オライリーの本には載ってるの?
http://constellation.hatenablog.com/entry/20101205/1291564928
オライリーの本には載ってるの?
http://constellation.hatenablog.com/entry/20101205/1291564928
いや、MDNレベルでしか乗ってなかったからあえて皮肉で言ってるんだけど……
俺はMDN読んでもいまいちよく分からんなぁと思ったけど、サイ本読んだら分かったけどね
そもそもさほどインパクトのある機能でもないと思う
そもそもさほどインパクトのある機能でもないと思う
esprima&escodegenで関数中のvarを集めて関数の頭に持ってくるスクリプトが形になりました
varの散在したコードが一瞬でスマートになってかなりいい感じです
ただesprimaはコメントを文法ツリーと分けたデータにしていて
文法ツリーの書き換えをした場合、コメントの位置情報を修正するのが困難です
コメントも文法ツリーに入れていてくれれば楽だったのに。
どうすればいいですか?
varの散在したコードが一瞬でスマートになってかなりいい感じです
ただesprimaはコメントを文法ツリーと分けたデータにしていて
文法ツリーの書き換えをした場合、コメントの位置情報を修正するのが困難です
コメントも文法ツリーに入れていてくれれば楽だったのに。
どうすればいいですか?
インパクトはないかもしれないがES5の数少ない機能の内の御三家だし、
ES5が下地になるES6やその先のためにも、この概念は中級者の必須項目として理解しておきたい
ES5が下地になるES6やその先のためにも、この概念は中級者の必須項目として理解しておきたい



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について