JavaScript from Scratch

Theodosis Sourgkounis

Introduction

What's for today?

JavaSript

Alternatives

Δεν έχουμε άλλη εναλλακτική λύση που να είναι ανοιχτό πρότυπο.

kill flash

What can be done with JS?

HTML & JavaScript

HTML & JavaScript

<script type="text/javascript" src="foo.js"></script>
<html>
    <head>
        <title>It is alive!</title>
    </head>
    <body>
        <script type="text/javascript" src="foo.js"></script>
    </body>
</html>
<script type="text/javascript">
    //JavaScript Code. 
    //This is a JS comment btw
</script>

Basic Syntax

alert()

<html>
    <head>
        <title>JS</title>
    </head>
    <body>
        <script type="text/javascript">
            alert( 'Hello world!' );
        </script>
    </body>
</html>

Execution

Browser JavaScript Engine
Google Chrome V8
Mozilla Firefox SpiderMonkey
Opera Caracan
Microsoft Internet Explorer Chakra

Sta grigora...

Operators (Telestes)

Τελεστές Λειτουργία
+, -, *, /, % Αριθμητικές πράξεις
||, &&, ! Λογικές πράξεις. ή, και, όχι
==, !=, <, >, <=, >=, ===, !== Σύγκριση
++, -- Αύξηση, μείωση
+ Ένωση αλφαριθμητικών (concatenation)
=, +=, -=, *=, /=, %= Ανάθεση τιμής

Domh epiloghs: if

if( συνθήκη ) {
    σώμα 1
}
else if( συνθήκη ) {
    σώμα 2
}
...
else {
    σώμα 3
}

Domh epiloghs: switch

switch( παράσταση ) {
    case τιμή1:
        σώμα 1
        break;
    case τιμή2:
        σώμα 2
        break;
    ...
    default:
        εναλλακτικό σώμα
}

Domh epanalhpsis: for

for( αρχικοποίηση; συνθήκη; βήμα ) {
    σώμα
}

Domh epanalhpsis: while

while( συνθήκη ) {
    σώμα
}

Domh epanalhpsis: do...while

do {
    σώμα
} while( συνθήκη ) 

break

continue

comments (sxolia)

Metavlhtes sth JavaScript.

<script type="text/javascript">
    var a = "Hello world!";
    alert( a );
</script>

Asthenes systhma typwn

<script type="text/javascript">
    var a = "Hello";
    alert( typeof( a ) );
    a = 5;
    alert( typeof( a ) );
</script>

Functions

function f_name( ορίσματα ) {
    σώμα;
}

Functions

Return

Functions

function add( a, b ) {
    return a + b;
}

alert( add( 4, 7 ) );

Προσοχή!

Functions

function foo(){
    alert( 'hello' );
}

var foo = 5;
alert( typeof( foo ) );
foo(); //Σφάλμα. Το 5 δεν είναι συνάρτηση!

Objects

Objects

Objects

var a = {
    foo: 'bar'
};
var b = a.foo; // Το b έχει την τιμή 'bar'

Objects

var a = {
    foo: 0
}
a.bar = 1; //Προσθήκη ιδιότητας bar με τιμή 1

Objects

var a = {
    foo: function(){
        return "I am a method";
    },
    bar: "I am a property"
};

alert( a.foo );
alert( a.foo() );
alert( a.bar );

Strings

Strings as Objects

var a = 'a-b-c-d-e';
var b = a.split( '-' );

alert( b );
alert( b[ 3 ] );

Numbers

Arrays

var a = [ 1, 'two', 3, [ 'a', 'b' ] ];
alert( a[ 0 ] );
alert( a[ 1 ] );
alert( a[ 3 ][ 1 ] );

Arrays

var a = [ 1, 2, 3, 4 ];
var b = a.pop();
// a: [1,2,3]; 
// b: 4; 
a.unshift( b );
// a: [4,1,2,3]; 
a.push( 40 );
// a: [4,1,2,3,40]; 
a.sort();
// a: [1,2,3,4,40]; 

To script mou den trexei!

Mathame

Εισαγωγή της γλώσσας JavaScript

Next Time

jQuery - One to save us all!

OR

How ho make cool stuff,
the easy way