◆変数について
var n; //「n」という箱をつくって
n=1; //「n」の中に1をいれる
document.write(n+"<br>");n=n+2; //1の入った「n」に2たす。
document.write(n+"<br>");n++; //3の入った「n」に+1する
document.write(n+"<br>");
※左のnはただの空箱と考える。++(カウント)や代入の意味はこちら→演算子一覧
変数に使えるもの
・大文字(キャメルケース) 【例:topTop】
・数字(一番最初以外) 【例:top1】
・英文字
・$ドル記号
・_(アンダーバー)
▼複数の変数指定
var n ,m ;
変数のスコープ(有効範囲)について(2種)
グローバル変数とローカル変数っていうのがあるらしい
▼ローカル変数…宣言した関数内でのみ利用可能な変数
function test(){
var aaa ="テキスト";//ローカル変数
}
alert(aaa);←エラーになります。ローカルにはアクセスできない
▼グローバル変数…プログラム全体で共有できる変数(2パターン)
var aaa ="テキスト";//グローバル変数
function test(){
bbb="テキスト";//varをつけない(どこでもいい)
}
alert(aaa);←アラートで「テスト」とでる
alert(bbb);←アラートで「テスト」とでる
ちなみに…ローカル関数もアクセスはできない
function test(){
var aaa ="テキスト";
function test_in(){
var aaa ="テキスト";
alert(aaa);
}
}
test_in();
※if文やforの中括弧の中で宣言した変数にはアクセスできます。
※ローカル関数は、関数の一番上に宣言(空)されるようになってるらしい…だからなんなのかは不明
◆関数について
あらかじめ決まっている処理を行う命令のことfunction aaa(引数1,引数2){
処理;return処理;
}
呼び出すとき
aaa();
↓↓クリックしたときは↓↓※関数を呼び出しに、JQueryを使用
*js側
function aaa(){ alert('アラート\n表示'); } $("#bbb").click(
aaa
);
*html側
<body><div id="bbb">ボタン</div></body>
意:ボタンを押すと、アラート表示がでる。
ちなみに…
function test(){
alert("テスト");
} ※関数test
↑と↓は同じです。
var test = function (){
alert("テスト");
} ※変数testに無名関数(関数の名前無)をいれたもの
test();
ということで…
→関数は変数として呼び出すことができる
function test(){
alert("テスト");
}
var a = test;
a();
◆引数(ひきすう)について
function aaa(引数1,引数2){処理;return処理;
}
function aaa(x){
return x*2;
}
aaa(3);
意:ボタンが3×2、6と差し替わります・return…処理したものを元に返す。(戻り値)
(※aaa()という関数には、×2したものをかえしてね。とかいてある。)
aaa(3)を×2したものをかえしてる。
※引数をかえることで、同じ関数をつかいまわしができる。
ちなみに…引数に関数オブジェクトを入れることもできます
function gogo(x){
x();
}
gogo( function(){ alert("テスト") } );
引数は変数の一種です。 関数を呼び出す時には、このxにいろいろな値を代入します。
(http://www.pori2.net/js/kihon/9.htmlより流用)
引数が複数の場合は、「,」をつかって区切る。
↓例
function aaa(x,y){
return "かけると"+ x*y +"です。";
}
(aaa(3,3));
戻り値に、関数オブジェクトを入れることもできる…が例えば…が思いつかなかったので無視
------------------------- 参考サイト -------------------------
・JavaScriptの変数のスコープについて学ぶ - builder
http://builder.japan.zdnet.com/script/sp_javascript-kickstart-2007/20373861/
・JavaScriptのイロハ:「関数はオブジェクト」って理解できますか? - builder
http://builder.japan.zdnet.com/script/sp_javascript-kickstart-2007/20364588/
0 件のコメント:
コメントを投稿