私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.96 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>181
var button = document.getElementById('button');
button.addEventListener('keydown', function(e){
~処理~
}, false);
と書いてしまうと、無名関数内からbuttonを参照し、イベントリスナーによりbuttonが無名関数を参照する循環参照となり
メモリー解放がされなくなる=メモリーリークが発生する これを断ち切るには
document.getElementById('button').addEventListener('keydown', function(e){
~処理~
}, false);
のように変数を使わないようにするか
var button = document.getElementById('button');
button.addEventListener('keydown', function(e){
~処理~
}, false);
button = null; //←nullを代入して変数buttonのDOMオブジェクトへの参照を切る
・・・のように前にここで教わったがうまく理解・説明できている自信がないw
var button = document.getElementById('button');
button.addEventListener('keydown', function(e){
~処理~
}, false);
と書いてしまうと、無名関数内からbuttonを参照し、イベントリスナーによりbuttonが無名関数を参照する循環参照となり
メモリー解放がされなくなる=メモリーリークが発生する これを断ち切るには
document.getElementById('button').addEventListener('keydown', function(e){
~処理~
}, false);
のように変数を使わないようにするか
var button = document.getElementById('button');
button.addEventListener('keydown', function(e){
~処理~
}, false);
button = null; //←nullを代入して変数buttonのDOMオブジェクトへの参照を切る
・・・のように前にここで教わったがうまく理解・説明できている自信がないw
そんなこと考慮する必要ない
昔微々たる高速化のために配列の変わりに
オブジェクトを使うテクニックがあったが
今それをやるくらい無駄
昔微々たる高速化のために配列の変わりに
オブジェクトを使うテクニックがあったが
今それをやるくらい無駄
window.openでurl先を開いた後にtest関数を実行させたいのですが実行できません
var w =window.open("http://www.yahoo.co.jp");
function test(){alert(1);}
w.addEventListener("load", test, false);
アドバイスお願いします
var w =window.open("http://www.yahoo.co.jp");
function test(){alert(1);}
w.addEventListener("load", test, false);
アドバイスお願いします
>>255
いきなりバカ呼ばわりしないでおくれよ
微々たる速度差を追求するのと同じように
普通気にしなくてもいいという意味で言ったんだけど
どこかそんなにおかしいのなら謝るからちゃんと教えてくれない?
別にデザインとテクニックを一緒に語ったわけじゃないよ
気にしなくていいよって言いたかったの
いきなりバカ呼ばわりしないでおくれよ
微々たる速度差を追求するのと同じように
普通気にしなくてもいいという意味で言ったんだけど
どこかそんなにおかしいのなら謝るからちゃんと教えてくれない?
別にデザインとテクニックを一緒に語ったわけじゃないよ
気にしなくていいよって言いたかったの
>>254
ブックマークレットで使いたいんですがやっぱりできないですかね?
ブックマークレットで使いたいんですがやっぱりできないですかね?
>>260
裏技とかないですか?
裏技とかないですか?
Yahoo!とかはXHR2許可してたりしないの?
そういったところは差し違えないページでMessagingEvalにも対応して欲しいな
こういうときはevalの出番だと思う
そういったところは差し違えないページでMessagingEvalにも対応して欲しいな
こういうときはevalの出番だと思う
確かに今まではXSS=脆弱性でevalと絡むときは危険以外の何物でもなかったけど
XSSってよく考えたらCrossSiteScriptingの略だから良い意味でも使っていいんだよな
メッセージングとかこれからはサイト間の良い繋がりが大事になってくるかもしれない
ワーカーもそうだけど、そういった場所でevalが活躍する日もあるかもな
XSSってよく考えたらCrossSiteScriptingの略だから良い意味でも使っていいんだよな
メッセージングとかこれからはサイト間の良い繋がりが大事になってくるかもしれない
ワーカーもそうだけど、そういった場所でevalが活躍する日もあるかもな
>>262
お前が「気にしなくても大丈夫」なコードしか書いたことがない、という個人的事情と
もすこしでかい開発でメモリ事情も考慮した設計をしなければならない事情を
一緒くたにすんな、と言ってんだよバカ
お前が「気にしなくても大丈夫」なコードしか書いたことがない、という個人的事情と
もすこしでかい開発でメモリ事情も考慮した設計をしなければならない事情を
一緒くたにすんな、と言ってんだよバカ
>267-268
一日中起動しっぱなしのアプリとかならわかるけど
たかがイベントリスナーの1つや2つ、もしかしたら100個くらいあるのかもしれないけど
ページを移行するまでのちょっとした時間動くスクリプトにおいて
KBレベルのメモリは気にする必要普通はないと思う
一日中起動しっぱなしのアプリとかならわかるけど
たかがイベントリスナーの1つや2つ、もしかしたら100個くらいあるのかもしれないけど
ページを移行するまでのちょっとした時間動くスクリプトにおいて
KBレベルのメモリは気にする必要普通はないと思う
>>269
だからさあ画像を裏で読み込んだりする場面で気にしないといけないのよ
だからさあ画像を裏で読み込んだりする場面で気にしないといけないのよ
DOMエンジン―JavaScriptエンジン間の参照を切る
(function() {
var ref = []; // Array
ref[0] = document.createElement("div");
ref[1] = document.createElement("object");
…
ref[0].addEventListener("click", function() { alert(ref)… // 関数Example
})();
関数Exampleはrefを覗けるがrefに入ってる要素を直接は覗けないのでここで切れる
(function() {
var ref = []; // Array
ref[0] = document.createElement("div");
ref[1] = document.createElement("object");
…
ref[0].addEventListener("click", function() { alert(ref)… // 関数Example
})();
関数Exampleはrefを覗けるがrefに入ってる要素を直接は覗けないのでここで切れる
var name=document.form.name.value;
テキストボックスで取得した値を変数nameに入れて、
nameが半角英数字とそれ以外って判定するにはどうするのですか?
正規表現ですか?
テキストボックスで取得した値を変数nameに入れて、
nameが半角英数字とそれ以外って判定するにはどうするのですか?
正規表現ですか?
>>276
循環の輪がつながってちゃ意味ないでしょ
循環の輪がつながってちゃ意味ないでしょ
if(/^[A-Za-z0-9]+$/.test(name))
alert("OK");
半角全角の違いを許容しない仕様は避けるべき、混在を許容するか内部で自動的に半角に揃えるようにすることをお勧めする
たとえば、Excelが全角数字をただの文字として扱うと妄想してみよう、使い勝手はどうだろうか
alert("OK");
半角全角の違いを許容しない仕様は避けるべき、混在を許容するか内部で自動的に半角に揃えるようにすることをお勧めする
たとえば、Excelが全角数字をただの文字として扱うと妄想してみよう、使い勝手はどうだろうか
メモリリークするって言ってた人は、今度は循環参照って言うようになったみたいだね
>>279
最後の行がなければ完璧なんだが…惜しい
最後の行がなければ完璧なんだが…惜しい
メモリリークは単一ページの中で起きても他のページに移ったあともメモリが解放されなく
なる問題。解放するにはブラウザを終了させるしかない。ま、今のブラウザでは問題ない
んだから別に無視でいいと思うけど、「他のページに移ればそれで終わる」問題ではなかったのね。
なる問題。解放するにはブラウザを終了させるしかない。ま、今のブラウザでは問題ない
んだから別に無視でいいと思うけど、「他のページに移ればそれで終わる」問題ではなかったのね。
だからそんなこと気にする必要一切無し
残念なことに俺が使ってるブラウザは今だにメモリリーク起こるが
重くなったら一旦閉じればいいだけのこと
残念なことに俺が使ってるブラウザは今だにメモリリーク起こるが
重くなったら一旦閉じればいいだけのこと
Web製作的には、気にするかどうか決めるのはお客様であってアンタじゃないの。
アンタの主張はそれ以上ないんだから黙ってて。
アンタの主張はそれ以上ないんだから黙ってて。
var a = (20.2*10) - (20.1*10);
console.log(a);
この結果が1になるのに
var a = (20.02*100) - (20.01*100);
console.log(a);
この結果が1にならず、0.9999略になるのはなぜですか?
console.log(a);
この結果が1になるのに
var a = (20.02*100) - (20.01*100);
console.log(a);
この結果が1にならず、0.9999略になるのはなぜですか?
>>291
chromeのコンソール
chromeのコンソール
>>294
小数点同士計算しないように掛けてから計算してるのに?
小数点同士計算しないように掛けてから計算してるのに?
~~(20.02*100) - ~~(20.01*100) === 1
とか
Math.floor(20.02*100) - Math.floor(20.01*100) === 1
にしないと
とか
Math.floor(20.02*100) - Math.floor(20.01*100) === 1
にしないと
function F() {
var private = 2;
this.arg = 1;
this.calc = function () {
return this.arg * private;
}
}
こんなクラスもどき関数というかコンストラクタを
function F() {
var private = 2;
this.arg = 1;
Object.defineProperty(this,'calc',{
value: function () {
return this.arg * private;
}
});
}
こんな感じにdefineProperty使ったのに書き換えられるようになったりしたけど
環境固定でdefineProperty使えるならやっぱ後者の方がいいのかな
var private = 2;
this.arg = 1;
this.calc = function () {
return this.arg * private;
}
}
こんなクラスもどき関数というかコンストラクタを
function F() {
var private = 2;
this.arg = 1;
Object.defineProperty(this,'calc',{
value: function () {
return this.arg * private;
}
});
}
こんな感じにdefineProperty使ったのに書き換えられるようになったりしたけど
環境固定でdefineProperty使えるならやっぱ後者の方がいいのかな
一番でかいのは書き換え不可に出来る点かな
可読性とかを考えるなら上だろうけど
下も読み慣れれば然程変わった書き方でも無いし
setter/getterを定義する時も同様の書き方になるし
問題ないのではないかと思ってどうなんだろう?と思った
可読性とかを考えるなら上だろうけど
下も読み慣れれば然程変わった書き方でも無いし
setter/getterを定義する時も同様の書き方になるし
問題ないのではないかと思ってどうなんだろう?と思った
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.94 + (1001) - [97%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [95%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [95%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.85 + (1001) - [95%] - 2011/4/25 21:32
トップメニューへ / →のくす牧場書庫について