邂逅Javascript

Lesson 2 :  Data Types 資料型態

什麼是變數(variable)

變數就像一個箱子,負責儲存資料

box1

box2

box3

把想要的東西丟進箱子裡存起來

box1

box2

box3

Pubgame

 

3.14159

200

box1

box2

box3

Pubgame

 

3.14159

200

var box1 = "pubgame"; //文字要用雙引號或單引號包住
var box2 = 3.14159;
var box3 = 200;

box4

box2

box3

3.14159+200

 

3.14159

200

//有了變數以後,就可以對變數做一些事情
var box2 = 3.14159;
var box3 = 200;

var box4 = box2 + box3;
//box4會等於203.14159

資料型態:該我登場了

  • 字串(String)
  • 整數(int)
  • 浮點數(float、double)

資料有很多種,以下是三種最常用的資料型態,

int是integer的簡稱

float就是浮的意思,中文翻譯是浮點數,但你可以直接看作是小數

double的拗口翻譯是:雙精度浮點數

其實就是可以存的位數比float多,就醬

在某些程式語言,變數是需要指定型態的

整數 box1 

20

3.14

"hi"

int box1 = 20;
float box2 = 3.14;
String box3 = "hi";

正確的做法

恭喜你,JavaScript沒有這種東西

//你只要什麼都用var就好
var box1 = 20;
var box2 = 3.14;
var box3 = "hi";

但也因為這樣,會有可怕的事情發生...

下面這段程式碼,會輸出什麼?

var a = "123";
var b = 456;

var c = a+b;
console.log(c);


  1. 123456

  2. 579

  3. 錯誤,不給你執行

數字跟字串相加時,會先把數字轉換為字串再進行+的動作

 

如果要進行型別轉換,你可以這樣做

var number_a = 123;
var string_a = number_a.toString();

var string_b = "456";
var number_b = parseInt(string_b, 10);

補充說明

Javascript裡面並沒有分整數或是小數

也就是說,沒有Integer或是float跟double這些型態

唯一有的,只有數字 number

你可以用typeof去看一個東西的型態是什麼

console.log(typeof(123));   //number
console.log(typeof("123")); //string
console.log(typeof(3.14));  //number

補充說明2

其實還有一種資料型態,一種是undefined

在變數被宣告但是還沒給定初始值時會發生

假如沒有宣告這個變數,也會發生

 

var a;
console.log(typeof(a)); //undefined
console.log(typeof(b)); //undefined;

補充說明3

還有個東西叫做null

現在很難解釋,之後碰到再細說

有興趣的人可先參考下列文章:

http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

 

 

什麼是陣列(Array)?

情境:你想要儲存所有員工的名字

var people1 = "huli";
var people2 = "tcc";
var people3 = "allen";
....

陣列:大箱子裡面包很多小箱子

var peopleList = ["huli", "allen", "tcc" ....];

huli

allen

tcc

peopleList

從陣列裡面拿資料

var peopleList = ["huli", "allen", "tcc"];
console.log(peopleList[0]); //huli
console.log(peopleList[1]); //allen
console.log(peopleList.length); //3

huli

allen

tcc

peopleList

0

1

2

index

HW #1

1.讓使用者輸入兩個數字,輸出相加後的結果

   Hint: var a = prompt("請輸入數字"); 

   可跳出視窗讓使用者輸入數字

2. 構造出一個有7個元素的陣列,內容是星期一到星期日

    並且印出陣列的長度

    Hint: var weekday = [ ... ];

Made with Slides.com