元スレ+ JavaScript の質問用スレッド vol.113 +
JavaScript覧 / PC版 /みんなの評価 :
252 = :
関数呼び出しコストよりも
可読性を重視させたい。
253 = :
数値型かどうかではなくて
変数名が重要なんだよ。
例ではよくaとかbとか
適当なのが使われるけどさ
この問題において変数名は重要なことの一つなんだよね。
254 = :
文字列からURLを取り出してリンクにする処理をtext.replace(/~/g, "~")で行いたいです。
前のリンクの</a>以降でURL文字列があったらリンク化するのですが、
置き換えた文字列は検索対象じゃないので、連続していると1つ目以降が置換されません。
対象文字列はすでに<a>~~</a>が含まれる可能性もあるため、</a>または行頭^から探しています。
確認用コード:
"ABCD<a>ABC</a>ABC ABC".replace(/((?:^|<\/a>)[^<>]*?)ABC/g, "$1<a>ZZZ</a>")
結果:"<a>ZZZ</a>D<a>ABC</a><a>ZZZ</a> ABC"
となり最後のABCが<a></a>で囲まれません
希望は"<a>ZZZ</a>D<a>ABC</a><a>ZZZ</a> <a>ZZZ</a>"となることです。
"ABCD<a>ABC</a>ABC ABC".replace(/((?:^|<\/a>)[^<>]*?)ABC/g, "$1<a>ZZZ</a>").replace(/((?:^|<\/a>)[^<>]*?)ABC/g, "$1<a>ZZZ</a>")
とすれば希望通りになるので、while (true)で1回もマッチしなくなるまで回すことも考えたのですが、
もっと良い方法があるのではないかとおもい質問しました。
257 = :
このスレの住民ってJavascriptどれくらいできんの?
教えて
258 = :
for文の外にvar出すより中に書いた方が早いんだね@firefox
260 = :
>>258
まじで?変な実装だな
261 = :
内部の最適化処理に任せた方が早いらしい
258はちゃんとjsprefで検証したから間違いない
262 = :
作法として合理的なのはvarを外に出す方だから、
一時の結果だけ見て中に入れるのは違うと思うけどね
多少のブレはあっても、合理的な方に近づいていく
263 = :
オブジェクトの参照と数値ってどっちがデータ大きいですか?
264 = :
if (a){
if (b){
} else {
処理A
}
} else {
処理A
}
こういう処理を綺麗に書くにはどうしたらいいですか?
265 = :
>>264
a & b || !a
266 = :
>>264
a && b || !a に訂正
267 = :
>>263
多分だけど、参照≧数値。
268 = :
if (a){
if (b){
} else {
処理A
}
} else {
処理A
}
↓
if (a){
if (b){
} else {
flag=true
}
} else {
flag=true
}
if (flag) {
処理A
}
↓
if (a){
if (!b){ flag=true }
} else {
flag=true
}
269 = :
↓
if (a){
if (!b){ flag=true }
} else {
flag=true
}
↓
if (a){
if (!b){ flag=true }
}
if (!a){
flag=true
}
↓
if (a && !b) { flag=true }
if (!a) { flag=true }
↓
if ( (a && !b) || !a) { flag=true }
↓
flag = (a && !b) || !a
↓
if ( (a && !b) || !a ) { 処理A }
270 = :
↓
if ( (a && !b) || !a ) { 処理A }
↓
if ( !(!a || b) || !a ) { 処理A }
↓
if ( !(!a || b) || !a ) { 処理A }
↓
if ( ! ((!a || b) && a) ) { 処理A }
↓
if ( ! (a && !a || a && b) ) { 処理A }
↓
if ( ! (a && !a || a && b) ) { 処理A }
↓
if ( ! (a && b) ) { 処理A }
↓
↓
if ( !a || !b ) { 処理A }
272 = :
変形しすぎィ
274 = :
>>273
すみません、説明が足りませんでした。
ノットイコールが!=である事自体はわかっているのですが、それを「^=」と組み合わせる方法を知りたいのです
275 = :
canvasをクリックするとその場所にdiv要素を追加するものを作りたいです。
<div id="container" style="width:700px; text-align:left; margin: 0 auto">
<div id="div_canvas" style="width:700px; height:400px;">
<canvas id="canvas" style="width:700px; height:400px; z-index:0; border-style:solid;"></canvas>
</div>
...
</div>
canvasはこのようになっていて、
$("#canvas").click(function(e){
var box = $('<div>');
$("#canvas").append(box);
box.css("position", "absolute");
box.css("top", #div_canvasの左端を基準にしたx方向の距離 + "px");
box.css("left", #div_canvasの左端を基準にしたy方向の距離 + "px");
box.css("z-index", 100 + i++);
}
としてもページの左上を基準とした座標に表示されてしまいます。
どうすればいいのでしょうか。
を作り、
277 = :
if (a){
if (b){
} else {
処理A
}
} else {
処理A
}
↓
if (a){
if (b){
flag = false;
} else {
flag = true
}
} else {
flag = true
}
↓
flag = true
if (a){
if (b){
flag = false;
}
}
↓
flag = ! (a && b)
または
flag = !a || !b
278 = :
デバッグ時に、算出した座標に目印を表示したいです
一番簡単な方法は何でしょう?
279 = :
まじめに動的にそこに要素を表示するのが一番早いデスネ
280 = :
プレステ3の起動画面みたいな「波」や「キラキラ」をJSで表現するにはどうやればいいですか?
281 = :
「波」や「キラキラ」を表現できる力を勉強して君がつける。
286 = :
割り算のつもりで>>を使っていると、優先順位が低いから計算の順序が想定と変わるから注意しろよ
287 = :
JavaScriptに限らず、普段使わない演算子は案外知らないもんだよ
289 = :
どーせ文字コード指定してねーんだろ
290 = :
>>289
ANSIになってました、どうもありがとうございます
でもJSON.parseで文字コード指定できればいいのに・・・
291 = :
var getID = document.getElementById.bind(document);
こういうのを変数に入れておいて使いまわすの便利だぞ
なぜかダイレクトにdocument.getElementById呼び出すより早い
292 = :
function getID (str) {
return document.getElementById(str);
}
っていう関数使ってるのよく見かけるけど
これは関数呼び出しコストが高くついていただけない
294 = :
可読性落ちるので
295 = :
296 = :
長い名前でかつ使用頻度が高いもののエイリアスを作るってのはフレームワークでは常套手段
関数呼び出しコストがーとかそんなのは度外視
297 = :
>>291
var doc=document;でdoc.getElementByIdのほうが速いのと同じ理屈かね?
スコープチェーンの一番遠くにwindowがいてその中にdocumentが居るから、
手近なスコープに置いとくと名前解決が早くなるとか何とかいう結構古いTips。
今でも通用するのかは知らんけど、よく似た理屈な気がする。
299 = :
二つの線分同士の距離はどう調べればいいでしょうか?
http://en.wikipedia.org/wiki/Distance_between_two_straight_lines
直線同士の公式は見つけました
しかし線分同士じゃないので少し違うようです
300 = :
>>299
場合分けがいっぱいあって面倒くさそう。いろんなパターンを絵に描いて考えるといいよ。
ってか、そんなの何に使うんだろう…
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [100%] - 2014/3/15 21: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.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
トップメニューへ / →のくす牧場書庫について