2012-07-04

変数と関数の理解 javascriptの理解 【javascript】③

◆変数について


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("テスト") } );





引数は変数の一種です。 関数を呼び出す時には、このにいろいろな値を代入します。

(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 件のコメント:

コメントを投稿

アマゾン和書/最新の情報