私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.85 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
function onButtonClick(){
sendRequest();
}
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
sendRequest();
}
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
続き
document.getElementById("date").innerHTML=("Error");}
window.onload=onButtonClick;
</script>
</head>
<body>
<div id="hantei"></div>
hello.phpの中身は<span id="date">・・・</span>です<br/>
</body>
</html>
onload関数が呼び出されるのは読み込みが完了したときなので
readystateプロパティやstatusプロパティを確認する必要がない
と本に載っていましたが、hello.phpがサーバーにないときでもonload関数
が呼び出され、xmlhttp.responseTextでnot Foundが<span id="date">・・・</span>
に表示されます。onload関数が呼び出されるのはxmlhttp.readyState == 4で
xmlhttp.status== 200のときだけでなくxmlhttp.statusがなんな値でもonload関数が呼び出さ
れるということですか?onload関数が呼び出されるのは読み込みが完了というのは
xmlhttp.statusがステータスコードを取得したときと考えていいですか?
document.getElementById("date").innerHTML=("Error");}
window.onload=onButtonClick;
</script>
</head>
<body>
<div id="hantei"></div>
hello.phpの中身は<span id="date">・・・</span>です<br/>
</body>
</html>
onload関数が呼び出されるのは読み込みが完了したときなので
readystateプロパティやstatusプロパティを確認する必要がない
と本に載っていましたが、hello.phpがサーバーにないときでもonload関数
が呼び出され、xmlhttp.responseTextでnot Foundが<span id="date">・・・</span>
に表示されます。onload関数が呼び出されるのはxmlhttp.readyState == 4で
xmlhttp.status== 200のときだけでなくxmlhttp.statusがなんな値でもonload関数が呼び出さ
れるということですか?onload関数が呼び出されるのは読み込みが完了というのは
xmlhttp.statusがステータスコードを取得したときと考えていいですか?
851の訂正
function onButtonClick(){
sendRequest();
}
function sendRequest(){
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
function onButtonClick(){
sendRequest();
}
function sendRequest(){
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
ボタンを押すとあらかじめ決められた単語から3つランダムで出力するものを作りたいです
例えば「あ」~「ん」の51音からランダムで3つ出力して「し」「ま」「え」など
ボタンを押すたびにランダム出力するものを作りたいのですが教えていただけないでしょうか
例えば「あ」~「ん」の51音からランダムで3つ出力して「し」「ま」「え」など
ボタンを押すたびにランダム出力するものを作りたいのですが教えていただけないでしょうか
>>869
配列に単語を格納してMath.randomで要素を特定する。
配列に単語を格納してMath.randomで要素を特定する。
振り返ると、そこにはスリップストリームに入っている俺の姿が
理解したありがとう
理解したありがとう
>>875
JavaScriptではグローバルスコープから変数にアクセスできないようにする(つまりグローバルを汚染しない)には関数スコープを作らなければならない
ある処理をまとめて関数スコープに入れるのに即時関数、無名関数、クロージャとも呼ばれる「(function() {})();」というので囲む
「(function() {})();」の代わりに「(function() {}());」でもいいし「+function() {}();」などでも良い
昔のFirefoxのGreasemonkeyやOperaのUserJS用にUser Scriptを書く時によく使われてるよ
JavaScriptではグローバルスコープから変数にアクセスできないようにする(つまりグローバルを汚染しない)には関数スコープを作らなければならない
ある処理をまとめて関数スコープに入れるのに即時関数、無名関数、クロージャとも呼ばれる「(function() {})();」というので囲む
「(function() {})();」の代わりに「(function() {}());」でもいいし「+function() {}();」などでも良い
昔のFirefoxのGreasemonkeyやOperaのUserJS用にUser Scriptを書く時によく使われてるよ
>>875
名前をつけるまでもない関数を無名関数、匿名関数と呼ぶ。
グローバル名前空間を汚さない為に使われることが多いが、クロージャを理解するとそれだけがメリットではないことを理解できると思う。
[JavaScript] 猿でもわかるクロージャ超入門 3 無名関数 - DQNEO起業日記
http://dqn.sakusakutto.jp/2009/01/javascript_2.html
JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)
http://dev.mozilla.jp/2010/05/js-blockscope-and-namespace/
名前をつけるまでもない関数を無名関数、匿名関数と呼ぶ。
グローバル名前空間を汚さない為に使われることが多いが、クロージャを理解するとそれだけがメリットではないことを理解できると思う。
[JavaScript] 猿でもわかるクロージャ超入門 3 無名関数 - DQNEO起業日記
http://dqn.sakusakutto.jp/2009/01/javascript_2.html
JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)
http://dev.mozilla.jp/2010/05/js-blockscope-and-namespace/
使うなじゃなくあんま使うな、なんじゃないの
cssの独自プロパティもそんなこと書いてあったと思う
cssの独自プロパティもそんなこと書いてあったと思う
ここの、メモリ効率を考慮する あたりかな。無名関数でも当てはまるかどうかはシラネ
http://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Functions
> このように効率が悪いので、可能な限りクロージャを避けてください。
> すなわち、可能な限り関数を入れ子にするのは避けてください。
http://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Functions
> このように効率が悪いので、可能な限りクロージャを避けてください。
> すなわち、可能な限り関数を入れ子にするのは避けてください。
>>879
>>882
自分も理解しきれていない部分があるが
厳密に言えば「即時関数=クロージャ」ではないらしいよ
まぁ即時関数をクロージャと呼ぶ人もいるからそこら辺は曖昧なんだけど…
「関数の中に定義した内部関数が外側の関数(エンクロージャ)のローカル変数を参照できる仕組みをクロージャと呼んでいます(正確にはもっと小難しい説明になるのですが,JavaScriptではそれだけのことです)。」
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0005
だから関数ネストは非効率なのかもしれないけど
即時関数の使用は良いんじゃないの
どのみちletがクロスブラウザで使用できない限り
ローカルスコープの生成にはそれぐらいしか方法が無いみたいなんだから
>>882
自分も理解しきれていない部分があるが
厳密に言えば「即時関数=クロージャ」ではないらしいよ
まぁ即時関数をクロージャと呼ぶ人もいるからそこら辺は曖昧なんだけど…
「関数の中に定義した内部関数が外側の関数(エンクロージャ)のローカル変数を参照できる仕組みをクロージャと呼んでいます(正確にはもっと小難しい説明になるのですが,JavaScriptではそれだけのことです)。」
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0005
だから関数ネストは非効率なのかもしれないけど
即時関数の使用は良いんじゃないの
どのみちletがクロスブラウザで使用できない限り
ローカルスコープの生成にはそれぐらいしか方法が無いみたいなんだから
>>882
ほんとだ、書いてある。でも…
> この場合、inside のクロージャは result に保管されています。
って書いてあるけど、なんで?
直前のコードでresultには数値8が入っているだろ。
いや、ちょっとコードを変えればresultにクロージャが入るし、それが入ればメモリ効率が悪いっていう結論も理解できるよ。
でも、これはなんらかのミスだよね?
オレ、何か勘違いしている?
ほんとだ、書いてある。でも…
> この場合、inside のクロージャは result に保管されています。
って書いてあるけど、なんで?
直前のコードでresultには数値8が入っているだろ。
いや、ちょっとコードを変えればresultにクロージャが入るし、それが入ればメモリ効率が悪いっていう結論も理解できるよ。
でも、これはなんらかのミスだよね?
オレ、何か勘違いしている?
クロージャの解説の方にはこうあります
http://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Working_with_Closures
>クロージャが必要とされていないのにいたずらに関数を他の関数の中に作成するのは、
>スクリプトのパフォーマンスに悪影響を及ぼすのであまり賢いやり方ではありません。
まあ必要な時に使えばいいんじゃないでしょうか
http://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Working_with_Closures
>クロージャが必要とされていないのにいたずらに関数を他の関数の中に作成するのは、
>スクリプトのパフォーマンスに悪影響を及ぼすのであまり賢いやり方ではありません。
まあ必要な時に使えばいいんじゃないでしょうか
ものすごく初心者な内容の質問なんですが
初心者スレが見当たらないので
じゃっかんスレ違いかもしれませんが、こちらで質問させてください。
http://amenti.usamimi.info/treemenu.html
↑このサイトにあるような感じの
メニュー項目をクリックするとサブメニューがスライドして現れるような
折りたたみ式のメニューを作りたいのですが、うまくできません。
クリックしてもサブメニューが出てきません。
ちなみに自分が作ってるのはこれです。↓
http://nightlykioku.nobody.jp/JavaScript_menu_test.html
たぶん、if関数を使って、CSSのスタイルのdisplayの値を切り替える感じだと思うのですが
どこが間違ってるのか、色々ググって調べたのですが、もう自分の力では分かりません。
お手上げです降参です(´;ω;`)
心優しいJavaScripterの方々、どうかお力を貸してください。
よろしくお願いします。
あ、サイト内容については何も言わないで下さい(´・ω・`)
あくまで、JavaScriptの質問なんです!
初心者スレが見当たらないので
じゃっかんスレ違いかもしれませんが、こちらで質問させてください。
http://amenti.usamimi.info/treemenu.html
↑このサイトにあるような感じの
メニュー項目をクリックするとサブメニューがスライドして現れるような
折りたたみ式のメニューを作りたいのですが、うまくできません。
クリックしてもサブメニューが出てきません。
ちなみに自分が作ってるのはこれです。↓
http://nightlykioku.nobody.jp/JavaScript_menu_test.html
たぶん、if関数を使って、CSSのスタイルのdisplayの値を切り替える感じだと思うのですが
どこが間違ってるのか、色々ググって調べたのですが、もう自分の力では分かりません。
お手上げです降参です(´;ω;`)
心優しいJavaScripterの方々、どうかお力を貸してください。
よろしくお願いします。
あ、サイト内容については何も言わないで下さい(´・ω・`)
あくまで、JavaScriptの質問なんです!
>>890
× SubMenu(kakonikki_list)
○ SubMenu('kakonikki_list')
"kakonikki_list"はgetElementByIdの引数にする文字列。
これで一歩は前進する。
× SubMenu(kakonikki_list)
○ SubMenu('kakonikki_list')
"kakonikki_list"はgetElementByIdの引数にする文字列。
これで一歩は前進する。
もっと、何か、こう、さ。
ドーパミンが脳内にじょぼじょぼ溢れ出る様な質問来ないかなぁ。
ドーパミンが脳内にじょぼじょぼ溢れ出る様な質問来ないかなぁ。
前へ 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.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.135 + (1002) - [95%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.105 + (1001) - [95%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
トップメニューへ / →のくす牧場書庫について