webかたつむり ウェブデザインを勉強中 ウェブ初心者のおぼえがき

webかたつむり

WEB制作会社のフォトグラファー

jsの練習

おみくじ 

<script>
var num;
num= Math.floor(Math.random()*100+1);
console.log(num);
if(num == 77 || num==100){
document.write('大吉');
}else if(num%10==3 || num%10==5 || num%10==7){
document.write('中吉');
}else if(num%10 == 4){
document.write('凶');
}else{
document.write('小吉');
}
</script>

 

和暦 

<script>
var heisei;
var fullyear;
var now =new Date();
var fullyear = now.getFullYear();
console.log(typeof fullyear);
var heisei = fullyear -1988;
document.write('今年は平成'+heisei+'年です。');
</script>

 

  • typeof は演算子
  • getFullYear();の戻り値は、number型

f:id:ohta-felica:20170103213818p:plain

 

f:id:ohta-felica:20170103213948p:plain

 

 

string+number

<script>
var str = 'string';
var num = 100;
console.log(typeof str);
console.log(typeof num);
var add = str + num;
console.log(typeof add);
</script>

 

f:id:ohta-felica:20170104105440p:plain

  •  異なる型の連結。文字列と数値を「+」で連結すると数値は文字列に変換されます。

関数 引数

<script>
function multiply(a, b){ /*変数a,bを宣言しない、引数として記述する*/
var m =a*b;
document.write(m);
}
multiply(5, 6);/*関数を呼び出す。引数を入力する*/
</script>

 

  • 引数とはなんぞや?たぶん、関数の処理過程で必要になる変数のことだ。

変数のスコープ

<script>
function summary(){
var i;
var total=0;
for(i=1; i<=100; i++){
total += i;
}
return total;
}
document.write(summary());
</script>

 

  • 変数totalは関数summaryの内部で宣言したから、document.write(total);としても、なにも戻ってこない。
  • では、単純にvar totalを関数の定義より前に宣言してみるとどうなるのか?

<script>
var total=0;
function summary(){
var i;
for(i=1; i<=100; i++){
total += i;
}
return total;
}
summary();
document.write(total);
</script>

  • document.write(); の前に、関数summary();を呼び出す。
  • これでもきちんと値が戻ってくる。
  • なるほど!これが「変数のスコープ」というやつだ。

 <script>
function summary(){
total = 0;
for(i=1; i<=100; i++){
total += i;
}
return total;
}
summary();
document.write(total);
</script>

ちなみに、var宣言しないとグローバル変数になるので、上のケースでも大丈夫。