JavaScript Basic

Erickson

About Me

Electrical Engineering

Computer Science Engineering Junior

WEB : HTML + CSS (SCSS) / JavaScript / PHP

APP : Android

Other : nodejs / python / ReactJS

 

ITAC PM & 副社長

Outline

  • JavaScript
    • Syntax
    • Data type
    • Control structures
      • loop
      • if-condition
    • Function
  • HTML
    • What is DOM ?
    • HTML with JavaScript
  • JavaScript Framework - jQuery

JavaScript

Is JavaScript

equal to Java ?

What is JavaScript?

用來做很潮的網頁特效

用來做很潮古早的網頁特效

用來做很潮的網頁特效

Basic Syntax

Output

document.write("印在網頁上");
console.log("會印在console");
alert("會跳出來,很煩 ^_<");

Output

大家試看看吧

Data Type

String & Number

var name = "Erickson";
var hourly_rate = 1000;
var mail = "s1010541@ee.yzu.edu.tw"

String & Number

var name = "Erickson";
var hourly_rate = 1000;
var mail = "s1010541@ee.yzu.edu.tw"

Array

var memberName = ["Erickson", "Howard Lo", "Yan Lui"];
var hourly_rate = [1000, 1000, 1000];
var mail = ["s1010541@ee.yzu.edu.tw",
             "howard@gmail.com",
             "yan@gmail.com"];

Array

var memberName = ["Erickson", "Howard Lo", "Yan Lui"];
var hourly_rate = [1000, 1000, 1000];
var mail = ["s1010541@ee.yzu.edu.tw",
             "howard@gmail.com",
             "yan@gmail.com"];

那如果有一千個要打到死?

Array

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

A

B

C

D

執行順序


A -> 檢查B---成立---> D -> C -> (回到檢查B)
                  --不成立-->離開

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

i = 0

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

i = 1

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

Name = Howard Lo hourly_rate = 1000 mail = howard@gmail.com

i = 1

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

Name = Howard Lo hourly_rate = 1000 mail = howard@gmail.com

i = 2

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

Name = Howard Lo hourly_rate = 1000 mail = howard@gmail.com

Name = Yan Lui hourly_rate = 1000 mail = yan@gmail.com

i = 2

for(var i = 0; i < 3; i++)
{
     console.log("Name = "+memberName[i]
        +" hourly_rate = "+hourly_rate[i]
        +" mail = "+mail[i]);
}

For Loop

Name = Erickson hourly_rate = 1000 mail = s1010541@ee.yzu.edu.tw

Name = Howard Lo hourly_rate = 1000 mail = howard@gmail.com

Name = Yan Lui hourly_rate = 1000 mail = yan@gmail.com

i = 3

只知道很多,但不知道有多少?

Array

               1

Object

var data = 
{
    "name": "Erickson",
    "hourly_rate": 1000,
    "mail": "s1010541@ee.yzu.edu.tw"
}

Object

Array of Object

var data = 
[
    {
        "name": "Erickson",
        "hourly_rate": 1000,
        "mail": "s1010541@ee.yzu.edu.tw"
    },
    {
        "name": "Howard Lo",
        "hourly_rate": 1000,
        "mail": "howard@gmail.com"
    },
    {
        "name": "Yan Lui",
        "hourly_rate": 1000,
        "mail": "yan@gmail.com"
    }
];

Array of Object

Array of Object

Array of Object

for(var i = 0; i < 3; i++)
{
    console.log("第"+i+"筆資料");
    for(var k in data[i])
    {
        console.log(k + " = " + data[i][k]);
    }
}

Array of Object

哪有沒有把Array放在Object裡的?

Loop

Loop

  • for loop

  • for-in loop

  • while

while

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

A

B

執行順序

 

檢查A ---成立---> B ->  (回到檢查A)
           --不成立-->離開

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

i = 0

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

i = 0

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

i = 1

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

Howard Lo

i = 1

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

Howard Lo

i = 2

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

Howard Lo

Yan Lui

i = 2

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

while

while(memberName[i])
{
    console.log(memberName[i++]);
}

Erickson

Howard Lo

Yan Lui

i = 3

var memberName = ["Erickson",
     "Howard Lo",
     "Yan Lui"];

Control Structures

  • if

  • if-else

  • if-else if

  • switch

Control Structures

if & if-else

if(1 > 5)
{
    console.log("1 比 5 大");
} else {
    console.log("1 沒有比 5 大");
}
if(1 == 3)
{
    console.log("1 等於 3");
}

if(1 == 1)
{
    console.log("1 等於 1");
}

if & if-else

if(1 > 5)
{
    console.log("1 比 5 大");
} else {
    console.log("1 沒有比 5 大");
}
if(1 == 3)
{
    console.log("1 等於 3");
}

if(1 == 1)
{
    console.log("1 等於 1");
}

1 等於 1

1 沒有比 5 大

switch

var Day = 0;

switch(Day) {
    case 0:
        console.log("Sunday");
        break;
    case 1:
    	console.log("Monday");
    	break;
    case 2:
    	console.log("Tuesday");
    	break;
    case 3:
    	console.log("Wednesday");
    	break;
    case 4:
    	console.log("Thursday");
    	break;
    case 5:
    	console.log("Friday");
    	break;
    case 6:
    	console.log("Saturday");
    	break;
    
}

Sunday

switch

var Day = 0;

switch(Day) {
    case 0:
        console.log("Sunday");
        break;
    case 1:
    	console.log("Monday");
    	break;
    case 2:
    	console.log("Tuesday");
    	break;
    case 3:
    	console.log("Wednesday");
    	break;
    case 4:
    	console.log("Thursday");
    	break;
    case 5:
    	console.log("Friday");
    	break;
    case 6:
    	console.log("Saturday");
    	break;
    default:
        console.log("No Day");
    
}

Sunday

Function

var Day1 = 5;

switch(Day) {
    case 0:
        console.log("Sunday");
        break;
    case 1:
    	console.log("Monday");
    	break;
    case 2:
    	console.log("Tuesday");
    	break;
    case 3:
    	console.log("Wednesday");
    	break;
    case 4:
    	console.log("Thursday");
    	break;
    case 5:
    	console.log("Friday");
    	break;
    case 6:
    	console.log("Saturday");
    	break;
    default:
        console.log("No Day");
}
var Day2 = 2;

switch(Day) {
    case 0:
        console.log("Sunday");
        break;
    case 1:
    	console.log("Monday");
    	break;
    case 2:
    	console.log("Tuesday");
    	break;
    case 3:
    	console.log("Wednesday");
    	break;
    case 4:
    	console.log("Thursday");
    	break;
    case 5:
    	console.log("Friday");
    	break;
    case 6:
    	console.log("Saturday");
    	break;
    default:
        console.log("No Day");
}

寫好多次好煩!!!!

function getDay(Day) {
    switch(Day) {
        case 0:
            console.log("Sunday");
            break;
        case 1:
        	console.log("Monday");
        	break;
        case 2:
        	console.log("Tuesday");
        	break;
        case 3:
        	console.log("Wednesday");
        	break;
        case 4:
        	console.log("Thursday");
        	break;
        case 5:
        	console.log("Friday");
        	break;
        case 6:
        	console.log("Saturday");
        	break;
        default:
                console.log("No Day");
    }
}
getDay(5);
getDay(7);
getDay(3);
getDay(4);
getDay(100);

Friday
No Day
Wednesday
Thursday
No Day

var getDay = function (Day) {
    switch(Day) {
        case 0:
            console.log("Sunday");
            break;
        case 1:
        	console.log("Monday");
        	break;
        case 2:
        	console.log("Tuesday");
        	break;
        case 3:
        	console.log("Wednesday");
        	break;
        case 4:
        	console.log("Thursday");
        	break;
        case 5:
        	console.log("Friday");
        	break;
        case 6:
        	console.log("Saturday");
        	break;
        default:
                console.log("No Day");
    }
}
getDay(5);
getDay(7);
getDay(3);
getDay(4);
getDay(100);

Friday
No Day
Wednesday
Thursday
No Day

Introduction of HTML DOM

<html>
    <head>
    	<title>Demo Site</title>
    </head>
    <body>
    	<p>Hello word!</p>
    </body>
</html>
<html>
    <head>
    	<title>Demo Site</title>
    </head>
    <body>
    	<p>Hello word!</p>
    </body>
</html>
<html>
    <head>
    	<title>Demo Site</title>
    </head>
    <body>
    	<p>Hello word!</p>
    </body>
</html>
<html>
    <head>
    	<title>Demo Site</title>
    </head>
    <body>
    	<p>Hello word!</p>
    </body>
</html>
<html>
    <head>
    	<title>Demo Site</title>
    </head>
    <body>
    	<p name="hello">Hello word!</p>
        <p id="XD">XDDD</p>
        <div class="Yan">雁子</div>
        <button>戳我阿! 笨蛋</button>
    </body>
</html>

JavaScript With HTML

Get DOM Eelement

  • By ID
    document.getElementById('id')
  • By Class
    document.getElementsByClassName('className') 
  • By Name
    document.getElementsByName('name')
  • By Tag
    document.getElementsByTagName('tagName')

Get DOM Eelement

  • By ID
    document.getElementById('id')
document.getElementById('XD');

Get DOM Eelement

  • By ID
    document.getElementById('id')
document.getElementById('XD');

.

 

 

 

 

 

 

 

Get DOM Eelement

  • By Tag
    document.getElementsByTagName('tagName')
document.getElementsByTagName('p')

Get DOM Eelement

  • By Tag
    document.getElementsByTagName('tagName')
document.getElementsByTagName('p')

.

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

Get DOM Eelement

  • By Class
    document.getElementsByClassName('className') 
document.getElementsByClassName('Yan')

Get DOM Eelement

  • By Class
    document.getElementsByClassName('className') 
document.getElementsByClassName('Yan')

.

 

 

 

 

 

 

 

Get DOM Eelement

  • By Name
    document.getElementsByName('name')
document.getElementsByName('hello')

Get DOM Eelement

  • By Name
    document.getElementsByName('name')
document.getElementsByName('hello')

.

 

 

 

 

 

 

 

jQuery

JS Framework

Feature

  • Cross-platform JavaScript library
  • Open Source (MIT)
  • Free software freedom, NOT no-cost
  • 65% website used

Easy To...

  • Select DOM elements
  • Handle event
  • Create animation
  • Develop Ajax applications

Select DOM Element

  • By ID
    document.getElementById('id')
  • By Class
    document.getElementsByClassName('className') 
  • By Tag
    document.getElementsByTagName('tagName')
  • By Name
    document.getElementsByName('name')

Select DOM Element

  • By ID
    $('#id');
  • By Class
    document.getElementsByClassName('className') 
  • By Tag
    document.getElementsByTagName('tagName')
  • By Name
    document.getElementsByName('name')

Select DOM Element

  • By ID
    $('#id');
  • By Class
    $('.className');
  • By Tag
    document.getElementsByTagName('tagName')
  • By Name
    document.getElementsByName('name')

Select DOM Element

  • By ID
    $('#id');
  • By Class
    $('.className');
  • By Tag
    $('tagName');
  • By Name
    document.getElementsByName('name')

Select DOM Element

  • By ID
    $('#id');
  • By Class
    $('.className');
  • By Tag
    $('tagName');
  • By Name
    $('[name=name]');

Handle event

Create animation

JavaScript Basic

By Erickson Juang

JavaScript Basic

  • 966