私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.121 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
var a = 100;
var a;
console.log(a); // 100
使用済み変数を初期化したいのに100のままです
どうやって初期化できますか
var a;
console.log(a); // 100
使用済み変数を初期化したいのに100のままです
どうやって初期化できますか
>>253
a = void 0;
a = void 0;
a=undefined; とすると内部的にはaを宣言してないのと同じになるのでしょうか?
var a = 100;
a = undefined;
console.log(a); // undefined
var b = 200;
undefined = 300;
b = undefined;
console.log(b); // ?????????????????????????
a = undefined;
console.log(a); // undefined
var b = 200;
undefined = 300;
b = undefined;
console.log(b); // ?????????????????????????
>>259
あなたの「aを宣言してない」に期待する結果による
>>253では var a; としていたから「値を初期化せずに変数宣言した状態」にしたいのだと考え、>>253と回答した
VariableStatement を実行したことすらなかった(aを参照したらReferenceError)ことにしたいのなら、不可能だ
一度、変数宣言したものをなかったことには出来ない
どうしてもなかった事にしたいのならオブジェクトのプロパティとして宣言すればよい
var obj = {a: 1};
delete obj.a;
console.log(obj.hasOwnProperty('a')); // false
あなたの「aを宣言してない」に期待する結果による
>>253では var a; としていたから「値を初期化せずに変数宣言した状態」にしたいのだと考え、>>253と回答した
VariableStatement を実行したことすらなかった(aを参照したらReferenceError)ことにしたいのなら、不可能だ
一度、変数宣言したものをなかったことには出来ない
どうしてもなかった事にしたいのならオブジェクトのプロパティとして宣言すればよい
var obj = {a: 1};
delete obj.a;
console.log(obj.hasOwnProperty('a')); // false
>>262
ES5 実装のブラウザであれば undefined は書き換え不可能なのでブラウザ依存(IE8- は未実装)
http://kangax.github.io/compat-table/es5/
IE8- もサポートするなら void 0 を使えばよい
ES5 実装のブラウザであれば undefined は書き換え不可能なのでブラウザ依存(IE8- は未実装)
http://kangax.github.io/compat-table/es5/
IE8- もサポートするなら void 0 を使えばよい
nullは予約語なのにな
なんでundefinedも予約語にしなかったんだろう
なんでundefinedも予約語にしなかったんだろう
昔はfunction start(){} とかエラーだったな
今普通にstart()とか使う
今普通にstart()とか使う
世の中には、意図的にundefinedに変な値を入れているスクリプトが存在するかもしれない。
だからそういうスクリプトがあっても対応できるようにとundefined変数に
undefinedが入っていないことも考慮したコードを書くがいるが、
>>234を見てもわかるように、すでにundefinedは書き換え不可能なんだよね。
つまり、意図的にundefinedに変な値を入れるスクリプトは、既にまともに動かないということ
なので今は普通にundefinedを使って問題ない。
> なんでundefinedも予約語にしなかったんだろう
もともと(JavaScript 1.0、ネスケ2.0、IE3.0時代)にはundefinedなんて
キーワードはなかったんだよ。値を代入していない変数は「未定義」だった。
そしてJavaScript1.1で、typeof演算子ができたわけだが
この型名を返す関数に未定義変数を引数にした時の仕様を決めないといけなくなった。
そこでundefinedという文字列が返ってくるという仕様にした。
そしてtypeof演算子に、undefiinedという名前の変数を渡すと
"undefined"に、たまたま、なったという歴史
typeof演算子の結果が"undefined"だったからundefined変数が使われただけで
もしtypeof演算子の結果が"not_defined"だったならnot_defined変数が使われていたであろう。
最初からundefinedが存在したわけじゃなく、最初にtypeof演算子が作られて、
そしてtypeof演算子から返ってくるundefinedと同じ名前の変数を利用したってわけ。
だからそういうスクリプトがあっても対応できるようにとundefined変数に
undefinedが入っていないことも考慮したコードを書くがいるが、
>>234を見てもわかるように、すでにundefinedは書き換え不可能なんだよね。
つまり、意図的にundefinedに変な値を入れるスクリプトは、既にまともに動かないということ
なので今は普通にundefinedを使って問題ない。
> なんでundefinedも予約語にしなかったんだろう
もともと(JavaScript 1.0、ネスケ2.0、IE3.0時代)にはundefinedなんて
キーワードはなかったんだよ。値を代入していない変数は「未定義」だった。
そしてJavaScript1.1で、typeof演算子ができたわけだが
この型名を返す関数に未定義変数を引数にした時の仕様を決めないといけなくなった。
そこでundefinedという文字列が返ってくるという仕様にした。
そしてtypeof演算子に、undefiinedという名前の変数を渡すと
"undefined"に、たまたま、なったという歴史
typeof演算子の結果が"undefined"だったからundefined変数が使われただけで
もしtypeof演算子の結果が"not_defined"だったならnot_defined変数が使われていたであろう。
最初からundefinedが存在したわけじゃなく、最初にtypeof演算子が作られて、
そしてtypeof演算子から返ってくるundefinedと同じ名前の変数を利用したってわけ。
ループで1つずつ値を入れて二次元配列が作りたい
var a = [
[0,1,2],
[3,4,5]
]
書いたコード
var a = [];
for (var i=0; i<2; i++){
for (var j=0; j<3; j++){
a[i][j] = i;
}
}
できませんでした
var a = [
[0,1,2],
[3,4,5]
]
書いたコード
var a = [];
for (var i=0; i<2; i++){
for (var j=0; j<3; j++){
a[i][j] = i;
}
}
できませんでした
var a = [];
for (var i=0; i<2; i++){
a[i] = [];
for (var j=0; j<3; j++){
a[i][j] = i * 3 + j;
}
}
console.log(a[0].toString()); // => 0,1,2
console.log(a[1].toString()); // => 3,4,5
for (var i=0; i<2; i++){
a[i] = [];
for (var j=0; j<3; j++){
a[i][j] = i * 3 + j;
}
}
console.log(a[0].toString()); // => 0,1,2
console.log(a[1].toString()); // => 3,4,5
>>273
そのぐらいは自分で書き換えたら?
そのぐらいは自分で書き換えたら?
>>274
ついにこっちのスレに来るように
ついにこっちのスレに来るように
チャット系のアプリケーションを作っているのですが、
XMLHttpRequestオブジェクトは書き込みと読み込み用2つ用意しないとだめですか?
1つを使いまわそうと思ったのですがうまくいきませんでした。
XMLHttpRequestオブジェクトは書き込みと読み込み用2つ用意しないとだめですか?
1つを使いまわそうと思ったのですがうまくいきませんでした。
>>280
同時発行リクエストが1なら使い回せない理由がない
同時発行リクエストが1なら使い回せない理由がない
xmlhttprequestにラベルみたいなのを付けて
帰ってきた時に確認するみたいなことできませんかね?
帰ってきた時に確認するみたいなことできませんかね?
>>286
readystate監視ではいかんのけ?
readystate監視ではいかんのけ?
>>286
xhrを参照比較するだけでいいのでは?
xhrを参照比較するだけでいいのでは?
IEを使ったとき、formボタンをクリックすると動くはずのstart()関数(下記HTML参照)が動きません。
ちなみにボタンクリックすると動くはずのkey_c(0)関数(下記参照)は問題なく動きます。
さらに自分のプログラムはキーボードの7を押してもstart()関数が動くようにしてますが、
IEで7キーを押した時にstart()関数が動いてるので、start()関数とIEの相性が悪いわけではなさそうです。
Google chromeではformボタンをクリックするとstart関数()とkey_c(0)関数どちらとも問題なく動きます。
下のHTMLプログラムを見て何が悪いかわかる方いませんか?
<head><script type="text/javascript">この部分は省略</script></head>
<body onkeypress="Key_on(window.event.keyCode)">
キー<br />
<div style="height: 450px; position: relative; width: 590px;">
<canvas height="450" id="canvas_1" width="590"></canvas>
<form name="test">
<input onclick="start();" position: absolute; top: 370px; width: 100px;" type="button" value="S" />
<input onclick="key_c(0);" position: absolute; top: 320px; width: 40px;" type="button" value="0" />
</form>
</div>
ルー<br />
</body>
</html>
ちなみにボタンクリックすると動くはずのkey_c(0)関数(下記参照)は問題なく動きます。
さらに自分のプログラムはキーボードの7を押してもstart()関数が動くようにしてますが、
IEで7キーを押した時にstart()関数が動いてるので、start()関数とIEの相性が悪いわけではなさそうです。
Google chromeではformボタンをクリックするとstart関数()とkey_c(0)関数どちらとも問題なく動きます。
下のHTMLプログラムを見て何が悪いかわかる方いませんか?
<head><script type="text/javascript">この部分は省略</script></head>
<body onkeypress="Key_on(window.event.keyCode)">
キー<br />
<div style="height: 450px; position: relative; width: 590px;">
<canvas height="450" id="canvas_1" width="590"></canvas>
<form name="test">
<input onclick="start();" position: absolute; top: 370px; width: 100px;" type="button" value="S" />
<input onclick="key_c(0);" position: absolute; top: 320px; width: 40px;" type="button" value="0" />
</form>
</div>
ルー<br />
</body>
</html>
>>293
HTMLの開始とDOCTYPEがない。
HTMLの開始とDOCTYPEがない。
こういった基本的なことをやると
コードがシンプルになってバグが見つけやすくなるんだよ。
コードがシンプルになってバグが見つけやすくなるんだよ。
HTMLの方だけ修正しておく、そうすりゃもうJavaScriptだけの問題になるさ
<!DOCTYPE html>
<html>
<head><script>この部分は省略</script></head>
<body>
キー<br>
<div>
<canvas id="canvas_1"></canvas>
<form name="test">
<input type="button" value="S">
<input type="button" value="0">
</form>
</div>
ルー<br>
</body>
</html>
<!DOCTYPE html>
<html>
<head><script>この部分は省略</script></head>
<body>
キー<br>
<div>
<canvas id="canvas_1"></canvas>
<form name="test">
<input type="button" value="S">
<input type="button" value="0">
</form>
</div>
ルー<br>
</body>
</html>
初心者は複雑なものを複雑なまま
じーっと眺めて考えてるから
いつまでたっても簡単な問題に気づけないんだよ。
目で見てわからなければ手を動かせ。問題となっているであろう部分を
けずってシンプルにしていけば自ずと何が問題か見えてくる。
じーっと眺めて考えてるから
いつまでたっても簡単な問題に気づけないんだよ。
目で見てわからなければ手を動かせ。問題となっているであろう部分を
けずってシンプルにしていけば自ずと何が問題か見えてくる。
すみません。自分のプログラムのコピペのし忘れで、293のプログラムの初めに
<html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
を忘れてました。
あとは、自分のプログラムのコピペがおかしくなってました。(実際には下のように書いてました)
<input onclick="start();" style="font-size: 25px; height: 35px; left: 400px;
position: absolute; top: 370px; width: 100px;" type="button" value="S" />
<input onclick="key_c(0);" style="font-size: 18px; height: 30px; left: 40px;
position: absolute; top: 320px; width: 40px;" type="button" value="0" />
(実際には、改行なんてしてません)
>>295
すみません。どういう風にすればいいのかわからないです。
こういう書き方しか知らなくて
<html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
を忘れてました。
あとは、自分のプログラムのコピペがおかしくなってました。(実際には下のように書いてました)
<input onclick="start();" style="font-size: 25px; height: 35px; left: 400px;
position: absolute; top: 370px; width: 100px;" type="button" value="S" />
<input onclick="key_c(0);" style="font-size: 18px; height: 30px; left: 40px;
position: absolute; top: 320px; width: 40px;" type="button" value="0" />
(実際には、改行なんてしてません)
>>295
すみません。どういう風にすればいいのかわからないです。
こういう書き方しか知らなくて
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.121 + (1001) - [100%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.120 + (1002) - [97%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
トップメニューへ / →のくす牧場書庫について