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

みんなの評価 :
レスフィルター : (試験中)
jQuery使ってる時点で生JavaScriptと大差のコスト掛かってるって知ってるのかね?
そんなにパフォーマンス気にするならjQueryなんて使っちゃ意味ない
そんなにパフォーマンス気にするならjQueryなんて使っちゃ意味ない
var $={
id:function(a){
jid=document.getElementById(a);return this},
edit:function(a){jid.innerHTML=a;return this},
click:function(a){jid.addEventListener('touchend',a)}
};
$.id("text").edit('touch').click(function(){
$.id('text').edit('touched')
})
もどきをがんばって作ったんだけど、俺には無理。
id:function(a){
jid=document.getElementById(a);return this},
edit:function(a){jid.innerHTML=a;return this},
click:function(a){jid.addEventListener('touchend',a)}
};
$.id("text").edit('touch').click(function(){
$.id('text').edit('touched')
})
もどきをがんばって作ったんだけど、俺には無理。
>>302
prototypeでも使えば実装できると思うが、なぜ $ を使いたがるんだろうか。
間違いにく可読性は下がるのに $ を使いたがる人が多くて悲しい。
(ES3の機械的に生成された云々の規約はどうしてなくなったんだろうなあ)
prototypeでも使えば実装できると思うが、なぜ $ を使いたがるんだろうか。
間違いにく可読性は下がるのに $ を使いたがる人が多くて悲しい。
(ES3の機械的に生成された云々の規約はどうしてなくなったんだろうなあ)
jQueryオブジェクトの生成はコストがかかるから変数に保持しておくというのがjQueryのTipsだよ。
jQueryは重いからパフォーマンスなんて気にしなくていいなんてのはバカの暴論。
jQueryは重いからパフォーマンスなんて気にしなくていいなんてのはバカの暴論。
excelの「縮小して全体を表示」のようにボックスにテキストが納まりきらないときは
縮小して全てのテキストを表示したいんだけど、widthをテキストの文字数で割った値
をfont-sizeに設定してみたら文字が小さくなりすぎてしまう。
$(function() {
var s = $("div").css("width").match(/\d+/)/$("div").text().length;
$("div").css("font-size", s + "px");
});
縮小して全てのテキストを表示したいんだけど、widthをテキストの文字数で割った値
をfont-sizeに設定してみたら文字が小さくなりすぎてしまう。
$(function() {
var s = $("div").css("width").match(/\d+/)/$("div").text().length;
$("div").css("font-size", s + "px");
});
function g(id){
if(!(this instanceof g)) return new g(id);
this.elm = document.getElementById(id);
}
g.prototype.edit = function(text){
this.elm.innerText=text;
};
g.prototype.tap=function(event){
this.elm.addEventListener('touchend',event)
};
g.prototype.add=function(text){
this.elm.innerText+=text
};
var count=0
g("e").tap(function(){
if(count>5){count=0}
g('t').add(list[count])
g('e').edit(count);count++
})
改良
if(!(this instanceof g)) return new g(id);
this.elm = document.getElementById(id);
}
g.prototype.edit = function(text){
this.elm.innerText=text;
};
g.prototype.tap=function(event){
this.elm.addEventListener('touchend',event)
};
g.prototype.add=function(text){
this.elm.innerText+=text
};
var count=0
g("e").tap(function(){
if(count>5){count=0}
g('t').add(list[count])
g('e').edit(count);count++
})
改良
ベンチマークしてみた。
jQueryオブジェクトの生成に1msもかからなかった。
jQueryオブジェクトの生成に1msもかからなかった。
jQueryを使うのだからパフォーマンスを考えないと、重くなる。それだけのことだよ。
パフォーマンス気にするならjQueryなんて使っちゃ意味ない
対偶 jQueryを使うならパフォーマンスを気にするな
論理学の基礎もわからん奴と議論は無理ですな。
パフォーマンス気にするならjQueryなんて使っちゃ意味ない
対偶 jQueryを使うならパフォーマンスを気にするな
論理学の基礎もわからん奴と議論は無理ですな。
ボトルネックの所だけネイティブ関数
他はjQueryというのもありだろう
ボトルネックの部分をネイティブ関数にしたら
jQuery使う意味が無くなるなら話は別だが
他はjQueryというのもありだろう
ボトルネックの部分をネイティブ関数にしたら
jQuery使う意味が無くなるなら話は別だが
>>311
それ対偶になってないから。
それ対偶になってないから。
ごめん、待遇にはなってるけど、
・パフォーマンスを第一に考えるならjQueryを使うべきでない
・jQueryを使うときもパフォーマンスに気をつけなければならない
この2つは両立するの。わかる?
・パフォーマンスを第一に考えるならjQueryを使うべきでない
・jQueryを使うときもパフォーマンスに気をつけなければならない
この2つは両立するの。わかる?
>>310
セレクタの中にjQuery独自の物が含まれてたら遅くなると思う。querySelector()に任せられないから。
でも要素数が少ないと違いがわからないかもな。
とは言え、キャッシュを一回のハンドラ呼び出しを超えて保持するのには反対するが。
セレクタの中にjQuery独自の物が含まれてたら遅くなると思う。querySelector()に任せられないから。
でも要素数が少ないと違いがわからないかもな。
とは言え、キャッシュを一回のハンドラ呼び出しを超えて保持するのには反対するが。
普通に考えて、変数にとっておいた方がいいだろ
これで複雑とか言ってるのは知的障害者か
これで複雑とか言ってるのは知的障害者か
>>316みたいな必死なのが出る時点で
意味が無いってのがわかるだろう?
意味が無いってのがわかるだろう?
>>314
そもそも「パフォーマンスを第一に考えること」がダメなんだよね。
たとえば1分頑張って1ミリ秒速くしました!って言っても
60000回実行して初めて時間の節約になる。
仕事だと1分間の人件費をかけるぐらいなら
1ミリ秒遅いほうがマシじゃんってことになる。
そもそも「パフォーマンスを第一に考えること」がダメなんだよね。
たとえば1分頑張って1ミリ秒速くしました!って言っても
60000回実行して初めて時間の節約になる。
仕事だと1分間の人件費をかけるぐらいなら
1ミリ秒遅いほうがマシじゃんってことになる。
ライブラリ開発者とかならともかく
どうせそうじゃねーんだろうから
この程度でキャッシュなんかすんなや。
どうせそうじゃねーんだろうから
この程度でキャッシュなんかすんなや。
したいならすればいいし、したくないならしなきゃいいだろ
何を不毛な議論をしているのか
何を不毛な議論をしているのか
キャッシュの仕方を聞いているのに
キャッシュなんてすんなとか言い出す奴が一番馬鹿だな
あるケースの時にキャッシュをした方がいいかしない方がいいか、という判断はあり得るが
そうじゃないなら質問自体に集中しろよ
だからC級プログラマーなんだよ
キャッシュなんてすんなとか言い出す奴が一番馬鹿だな
あるケースの時にキャッシュをした方がいいかしない方がいいか、という判断はあり得るが
そうじゃないなら質問自体に集中しろよ
だからC級プログラマーなんだよ
jsbinのライブラリ追加フォームに
WIPというのがありますが、これはどういう意味ですか?
WIPというのがありますが、これはどういう意味ですか?
キャッシュ否定派はローカル変数へのキャッシュもしないのか?
くそみたいなコード書いてそう
くそみたいなコード書いてそう
指定したノードの次のテキストノードを取得したいです
階層の上下を無視し、コードで見たときの「次」です
つまり兄弟ノードとは限りません
これを一番簡単にやるにはどうしたらいいでしょうか
階層の上下を無視し、コードで見たときの「次」です
つまり兄弟ノードとは限りません
これを一番簡単にやるにはどうしたらいいでしょうか
>>328
elseの後 returnだけなら書く
elseの後 returnだけなら書く
テキストノードの指定した位置に文字列を挿入するにはどうしたらいいのでしょうか?
insertNodeなどノード単位の挿入しかないようですが
文字列を挿入したいです
insertNodeなどノード単位の挿入しかないようですが
文字列を挿入したいです
ありがとうございます
dataに再代入したら、動いているようですが
dataでいいのでしょうか
dataに再代入したら、動いているようですが
dataでいいのでしょうか
data でok
CharacterData インタフェースには
insertData(offset, string)
とかもあるけどな(多少高速かもしれない)
CharacterData インタフェースには
insertData(offset, string)
とかもあるけどな(多少高速かもしれない)
>>328
俺書かないわ
俺書かないわ
>>328
else を書かなくて済むなら書かない。
当たり前だと思うが、何を迷っているのか良くわからん。
状況が曖昧すぎて答えようがないのが正直なところ。
コードを例示した方が具体的なアドバイスをもらえると思われる。
出口を一つにする考え方としては returnValue を変数にしておいて最後に return する。
else を書かなくて済むなら書かない。
当たり前だと思うが、何を迷っているのか良くわからん。
状況が曖昧すぎて答えようがないのが正直なところ。
コードを例示した方が具体的なアドバイスをもらえると思われる。
出口を一つにする考え方としては returnValue を変数にしておいて最後に return する。
>>305
> jQueryオブジェクトの生成はコストがかかるから変数に保持しておくというのがjQueryのTipsだよ。
Tipsとしてはわからなくもないが、わずかな速度向上の為にメモリを消費するのはどうか、と個人的には思う。
「最近のPCは高スペックだからメモリはガンガン使っていいんだよ」という風潮なのかもしれないが、消費メモリ増加は訪問者に優しいコーディングとは言い難い。
>>291の手法は確実に #id1 への参照速度を向上させるが、代償として「メモリ消費量が増加」し、「メモリリークのバグを誘発しやすい循環参照パターン」になってしまっている。
IE6は希少種だからいいだろうと思われるかもしれないが、バグを誘発しやすいといわれる循環参照パターンのコードはお勧めしない。
一応、jQueryはremoveEventListenerまで実行する作法のあるライブラリではあるが、循環参照パターンは回避できるなら回避したほうが良いと思う。
---
パフォーマンスを向上させる場合はボトルネックとなる部分を見つけてそこから解消させていくのが基本。
jQueryオブジェクトをキャッシュさせることによる速度向上、jQueryをやめることによる速度向上、...etc
を比較してボトルネックとなる部分を見つけ出さなきゃ意味がない。
だから、「jQueryをやめることによる速度向上」が「キャッシュすることによる速度向上」を上回るのであればjQueryをやめることを選択すべきだといえる。
そういう意味でjQueryを使用することに疑問視する声があると思うのだが。
作法としてこのコードの方がいい云々の話であれば、「メモリ消費量増加」「循環参照パターンの使用」と「わずかながらの速度向上」を秤にかけて判断する必要がある。
> jQueryオブジェクトの生成はコストがかかるから変数に保持しておくというのがjQueryのTipsだよ。
Tipsとしてはわからなくもないが、わずかな速度向上の為にメモリを消費するのはどうか、と個人的には思う。
「最近のPCは高スペックだからメモリはガンガン使っていいんだよ」という風潮なのかもしれないが、消費メモリ増加は訪問者に優しいコーディングとは言い難い。
>>291の手法は確実に #id1 への参照速度を向上させるが、代償として「メモリ消費量が増加」し、「メモリリークのバグを誘発しやすい循環参照パターン」になってしまっている。
IE6は希少種だからいいだろうと思われるかもしれないが、バグを誘発しやすいといわれる循環参照パターンのコードはお勧めしない。
一応、jQueryはremoveEventListenerまで実行する作法のあるライブラリではあるが、循環参照パターンは回避できるなら回避したほうが良いと思う。
---
パフォーマンスを向上させる場合はボトルネックとなる部分を見つけてそこから解消させていくのが基本。
jQueryオブジェクトをキャッシュさせることによる速度向上、jQueryをやめることによる速度向上、...etc
を比較してボトルネックとなる部分を見つけ出さなきゃ意味がない。
だから、「jQueryをやめることによる速度向上」が「キャッシュすることによる速度向上」を上回るのであればjQueryをやめることを選択すべきだといえる。
そういう意味でjQueryを使用することに疑問視する声があると思うのだが。
作法としてこのコードの方がいい云々の話であれば、「メモリ消費量増加」「循環参照パターンの使用」と「わずかながらの速度向上」を秤にかけて判断する必要がある。
jq使ってイベント追加するより
tap('element',function(){})
みたいな方が読みやすくね?
tap('element',function(){})
みたいな方が読みやすくね?
みなさんはES6のアローファンクションをどう思います?
初見では短くて素敵、と思う半面コードが見難くなるなあと思ったのですが、そういう議論はないのでしょうか
初見では短くて素敵、と思う半面コードが見難くなるなあと思ったのですが、そういう議論はないのでしょうか
function tap(id,func){
document.getElementById(id).addEventListener('touchend',func)
}
function edit(id,txt){
document.getElementById(id).innerHTML=txt;
}
//ここから
tap('txt',function(){
edit('txt','This element was changed by JavaScript')
})
document.getElementById(id).addEventListener('touchend',func)
}
function edit(id,txt){
document.getElementById(id).innerHTML=txt;
}
//ここから
tap('txt',function(){
edit('txt','This element was changed by JavaScript')
})
>>333
ありがとうございました
ありがとうございました
>>342
(俺には)扱いが難しくて(俺の中では)普及しないだろうな。
(俺には)扱いが難しくて(俺の中では)普及しないだろうな。
es6を平気で使えるようになるのなんて4年後くらいだろ
今使えないものになんて興味ないね
今使えないものになんて興味ないね
Professional JavaScript for Web developerの日本語版をオライリーは出すのです
JavaScript第六版じゃまだ足りない
JavaScript第六版じゃまだ足りない
一応ついさっきV8にパッチが上がったよ
http://chromiumcodereview.appspot.com/160073006/
まあコミットされるのにはちょっと時間がかかりそうだけど
Nodeでは数ヶ月後には--harmonyで使えるようになるんじゃないかな
Noderにとってはホントありがたい存在になると思う
Chrome安定版でフラグ無しで使えるのはもう1年はかかるだろうね
まあIE12はサポートしてくるだろうから、
IE12がリリースされた日から平気で使えるようになったって言えると思う
まあES6も部分的にはNumber.isNaNや__proto__みたいにもう十分使えるものもあるんだけどね
http://chromiumcodereview.appspot.com/160073006/
まあコミットされるのにはちょっと時間がかかりそうだけど
Nodeでは数ヶ月後には--harmonyで使えるようになるんじゃないかな
Noderにとってはホントありがたい存在になると思う
Chrome安定版でフラグ無しで使えるのはもう1年はかかるだろうね
まあIE12はサポートしてくるだろうから、
IE12がリリースされた日から平気で使えるようになったって言えると思う
まあES6も部分的にはNumber.isNaNや__proto__みたいにもう十分使えるものもあるんだけどね
jqueryでtext()を使うとHTMLエスケープできますが
HTMLエスケープだけしたい時はどうしたらいいですか
HTMLエスケープだけしたい時はどうしたらいいですか
tiny mceで、
・クリックしたらそのdivを編集可能にする
・フォーカスを外したらそのdivを普通のdivに戻す
・URLが記述されたらリンクに変換する
これらを実現できますか?
tiny mceに詳しい方お願いします
・クリックしたらそのdivを編集可能にする
・フォーカスを外したらそのdivを普通のdivに戻す
・URLが記述されたらリンクに変換する
これらを実現できますか?
tiny mceに詳しい方お願いします



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [100%] - 2014/1/25 12:46
- + 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.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
トップメニューへ / →のくす牧場書庫について